Contratos
Gerencie contratos digitais, contratos recorrentes e seus itens.
Contratos Digitais (Signs)
Listar Contratos Digitais
GET /external/v1/signs
Retorna uma lista paginada de contratos digitais.
Query Parameters:
| Parametro | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
page | number | Nao | Pagina atual (default: 1) |
limit | number | Nao | Itens por pagina (default: 20, max: 100) |
status | string | Nao | Filtro: DRAFT, SENT, SIGNED, CANCELLED |
contractSituation | string | Nao | Filtro: ACTIVATING, ACTIVATED, SUSPENDED, TERMINATED |
orderBy | string | Nao | Campo: createdAt (default: createdAt) |
order | string | Nao | ASC ou DESC (default: DESC) |
Exemplo de requisicao:
curl -X GET "https://api.tesselys.com.br/external/v1/signs?page=1&limit=10&status=SIGNED" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"
Resposta (200):
{
"data": [
{
"id": "clx5e6f7g8h9i0j1k2l3m4n5",
"code": "SGN-2041",
"title": "Contrato de Prestacao de Servicos - Tech Solutions",
"status": "SIGNED",
"contractSituation": "ACTIVATED",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"signedAt": "2026-03-15T16:00:00.000Z",
"isActive": true,
"createdAt": "2026-03-10T09:00:00.000Z",
"updatedAt": "2026-03-15T16:00:00.000Z"
}
],
"meta": {
"total": 14,
"page": 1,
"limit": 10,
"totalPages": 2
}
}
Buscar Contrato Digital por ID
GET /external/v1/signs/:id
Exemplo de requisicao:
curl -X GET "https://api.tesselys.com.br/external/v1/signs/clx5e6f7g8h9i0j1k2l3m4n5" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"
Resposta (200):
{
"id": "clx5e6f7g8h9i0j1k2l3m4n5",
"code": "SGN-2041",
"title": "Contrato de Prestacao de Servicos - Tech Solutions",
"status": "SIGNED",
"contractSituation": "ACTIVATED",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"content": "Pelo presente instrumento, as partes acordam os termos de prestacao de servicos...",
"signedAt": "2026-03-15T16:00:00.000Z",
"isActive": true,
"createdAt": "2026-03-10T09:00:00.000Z",
"updatedAt": "2026-03-15T16:00:00.000Z"
}
Criar Contrato Digital
POST /external/v1/signs
Body:
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
title | string | Sim | Titulo do contrato (max: 255) |
dealId | string | Nao | ID do negocio vinculado |
personId | string | Nao | ID da pessoa (cliente) vinculada |
content | string | Nao | Conteudo/corpo do contrato |
status | string | Nao | Status inicial (DRAFT ou SENT, default: DRAFT) |
Exemplo de requisicao:
curl -X POST "https://api.tesselys.com.br/external/v1/signs" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"title": "Contrato de Consultoria Fiscal Q2 2026",
"dealId": "clx4d5e6f7g8h9i0j1k2l3m4",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"content": "Pelo presente instrumento, as partes acordam os termos de consultoria fiscal...",
"status": "DRAFT"
}'
Resposta (201):
{
"id": "clx6f7g8h9i0j1k2l3m4n5o6",
"code": "SGN-2042",
"title": "Contrato de Consultoria Fiscal Q2 2026",
"status": "DRAFT",
"contractSituation": null,
"dealId": "clx4d5e6f7g8h9i0j1k2l3m4",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"content": "Pelo presente instrumento, as partes acordam os termos de consultoria fiscal...",
"signedAt": null,
"isActive": true,
"createdAt": "2026-03-25T10:00:00.000Z",
"updatedAt": "2026-03-25T10:00:00.000Z"
}
O campo code e gerado automaticamente pelo sistema. O contractSituation e preenchido apos a assinatura do contrato.
Atualizar Contrato Digital
PUT /external/v1/signs/:id
Atualiza os dados de um contrato digital existente. Envie apenas os campos que deseja alterar.
Body (campos opcionais):
| Campo | Tipo | Descricao |
|---|---|---|
title | string | Novo titulo |
status | string | Novo status (DRAFT, SENT, SIGNED, CANCELLED) |
content | string | Novo conteudo do contrato |
contractSituation | string | Nova situacao (ACTIVATING, ACTIVATED, SUSPENDED, TERMINATED) |
Exemplo de requisicao:
curl -X PUT "https://api.tesselys.com.br/external/v1/signs/clx6f7g8h9i0j1k2l3m4n5o6" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"status": "SENT"
}'
Resposta (200):
{
"id": "clx6f7g8h9i0j1k2l3m4n5o6",
"code": "SGN-2042",
"title": "Contrato de Consultoria Fiscal Q2 2026",
"status": "SENT",
"contractSituation": null,
"dealId": "clx4d5e6f7g8h9i0j1k2l3m4",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"content": "Pelo presente instrumento, as partes acordam os termos de consultoria fiscal...",
"signedAt": null,
"isActive": true,
"createdAt": "2026-03-25T10:00:00.000Z",
"updatedAt": "2026-03-25T10:30:00.000Z"
}
Contratos Recorrentes (Contracts)
Listar Contratos Recorrentes
GET /external/v1/contracts
Retorna uma lista paginada de contratos recorrentes.
Query Parameters:
| Parametro | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
page | number | Nao | Pagina atual (default: 1) |
limit | number | Nao | Itens por pagina (default: 20, max: 100) |
status | string | Nao | Filtro: ACTIVE, SUSPENDED, TERMINATED, EXPIRED |
personId | string | Nao | Filtro por pessoa (cliente) |
orderBy | string | Nao | Campo: createdAt (default: createdAt) |
order | string | Nao | ASC ou DESC (default: DESC) |
Exemplo de requisicao:
curl -X GET "https://api.tesselys.com.br/external/v1/contracts?page=1&limit=10&status=ACTIVE" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"
Resposta (200):
{
"data": [
{
"id": "clx7g8h9i0j1k2l3m4n5o6p7",
"signId": "clx5e6f7g8h9i0j1k2l3m4n5",
"title": "Contrato Recorrente - Tech Solutions",
"status": "ACTIVE",
"startDate": "2026-04-01T00:00:00.000Z",
"endDate": "2027-03-31T23:59:59.000Z",
"monthlyAmount": 8500.00,
"renewalType": "AUTO",
"billingType": "PRE_PAID",
"isActive": true,
"createdAt": "2026-03-15T16:30:00.000Z",
"updatedAt": "2026-03-15T16:30:00.000Z"
}
],
"meta": {
"total": 9,
"page": 1,
"limit": 10,
"totalPages": 1
}
}
Buscar Contrato Recorrente por ID
GET /external/v1/contracts/:id
Exemplo de requisicao:
curl -X GET "https://api.tesselys.com.br/external/v1/contracts/clx7g8h9i0j1k2l3m4n5o6p7" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"
Resposta (200):
{
"id": "clx7g8h9i0j1k2l3m4n5o6p7",
"signId": "clx5e6f7g8h9i0j1k2l3m4n5",
"title": "Contrato Recorrente - Tech Solutions",
"status": "ACTIVE",
"startDate": "2026-04-01T00:00:00.000Z",
"endDate": "2027-03-31T23:59:59.000Z",
"monthlyAmount": 8500.00,
"renewalType": "AUTO",
"billingType": "PRE_PAID",
"isActive": true,
"createdAt": "2026-03-15T16:30:00.000Z",
"updatedAt": "2026-03-15T16:30:00.000Z"
}
Criar Contrato Recorrente
POST /external/v1/contracts
Body:
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
signId | string | Sim | ID do contrato digital (sign) vinculado |
title | string | Sim | Titulo do contrato recorrente (max: 255) |
startDate | string | Sim | Data de inicio (ISO 8601) |
endDate | string | Sim | Data de termino (ISO 8601) |
monthlyAmount | number | Sim | Valor mensal do contrato |
renewalType | string | Nao | Tipo de renovacao: MANUAL ou AUTO (default: MANUAL) |
billingType | string | Nao | Tipo de cobranca: PRE_PAID ou POST_PAID (default: PRE_PAID) |
Exemplo de requisicao:
curl -X POST "https://api.tesselys.com.br/external/v1/contracts" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"signId": "clx6f7g8h9i0j1k2l3m4n5o6",
"title": "Contrato Recorrente Consultoria Fiscal",
"startDate": "2026-05-01",
"endDate": "2027-04-30",
"monthlyAmount": 5000.00,
"renewalType": "AUTO",
"billingType": "POST_PAID"
}'
Resposta (201):
{
"id": "clx8h9i0j1k2l3m4n5o6p7q8",
"signId": "clx6f7g8h9i0j1k2l3m4n5o6",
"title": "Contrato Recorrente Consultoria Fiscal",
"status": "ACTIVE",
"startDate": "2026-05-01T00:00:00.000Z",
"endDate": "2027-04-30T23:59:59.000Z",
"monthlyAmount": 5000.00,
"renewalType": "AUTO",
"billingType": "POST_PAID",
"isActive": true,
"createdAt": "2026-03-25T11:00:00.000Z",
"updatedAt": "2026-03-25T11:00:00.000Z"
}
O contrato recorrente e vinculado a um contrato digital (sign) ja existente. O status inicial e ACTIVE.
Atualizar Contrato Recorrente
PUT /external/v1/contracts/:id
Atualiza os dados de um contrato recorrente existente. Envie apenas os campos que deseja alterar.
Body (campos opcionais):
| Campo | Tipo | Descricao |
|---|---|---|
title | string | Novo titulo |
status | string | Novo status (ACTIVE, SUSPENDED, TERMINATED, EXPIRED) |
endDate | string | Nova data de termino (ISO 8601) |
monthlyAmount | number | Novo valor mensal |
renewalType | string | Novo tipo de renovacao (MANUAL, AUTO) |
billingType | string | Novo tipo de cobranca (PRE_PAID, POST_PAID) |
Exemplo de requisicao:
curl -X PUT "https://api.tesselys.com.br/external/v1/contracts/clx8h9i0j1k2l3m4n5o6p7q8" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"monthlyAmount": 5500.00,
"endDate": "2027-10-31"
}'
Resposta (200):
{
"id": "clx8h9i0j1k2l3m4n5o6p7q8",
"signId": "clx6f7g8h9i0j1k2l3m4n5o6",
"title": "Contrato Recorrente Consultoria Fiscal",
"status": "ACTIVE",
"startDate": "2026-05-01T00:00:00.000Z",
"endDate": "2027-10-31T23:59:59.000Z",
"monthlyAmount": 5500.00,
"renewalType": "AUTO",
"billingType": "POST_PAID",
"isActive": true,
"createdAt": "2026-03-25T11:00:00.000Z",
"updatedAt": "2026-03-25T11:30:00.000Z"
}
Itens de Contrato (Contract Items)
Listar Itens de Contrato
GET /external/v1/contract-items
Retorna uma lista paginada de itens de contrato.
Query Parameters:
| Parametro | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
page | number | Nao | Pagina atual (default: 1) |
limit | number | Nao | Itens por pagina (default: 20, max: 100) |
contractId | string | Nao | Filtro por contrato recorrente |
Exemplo de requisicao:
curl -X GET "https://api.tesselys.com.br/external/v1/contract-items?contractId=clx8h9i0j1k2l3m4n5o6p7q8&page=1&limit=20" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"
Resposta (200):
{
"data": [
{
"id": "clx9i0j1k2l3m4n5o6p7q8r9",
"contractId": "clx8h9i0j1k2l3m4n5o6p7q8",
"description": "Consultoria tributaria mensal",
"quantity": 1,
"unitPrice": 3500.00,
"isActive": true,
"createdAt": "2026-03-25T11:05:00.000Z",
"updatedAt": "2026-03-25T11:05:00.000Z"
},
{
"id": "clx0j1k2l3m4n5o6p7q8r9s0",
"contractId": "clx8h9i0j1k2l3m4n5o6p7q8",
"description": "Suporte a obrigacoes acessorias",
"quantity": 1,
"unitPrice": 1500.00,
"isActive": true,
"createdAt": "2026-03-25T11:10:00.000Z",
"updatedAt": "2026-03-25T11:10:00.000Z"
}
],
"meta": {
"total": 2,
"page": 1,
"limit": 20,
"totalPages": 1
}
}
Buscar Item de Contrato por ID
GET /external/v1/contract-items/:id
Exemplo de requisicao:
curl -X GET "https://api.tesselys.com.br/external/v1/contract-items/clx9i0j1k2l3m4n5o6p7q8r9" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"
Resposta (200):
{
"id": "clx9i0j1k2l3m4n5o6p7q8r9",
"contractId": "clx8h9i0j1k2l3m4n5o6p7q8",
"description": "Consultoria tributaria mensal",
"quantity": 1,
"unitPrice": 3500.00,
"isActive": true,
"createdAt": "2026-03-25T11:05:00.000Z",
"updatedAt": "2026-03-25T11:05:00.000Z"
}
Criar Item de Contrato
POST /external/v1/contract-items
Body:
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
contractId | string | Sim | ID do contrato recorrente vinculado |
description | string | Sim | Descricao do item |
quantity | number | Nao | Quantidade (default: 1) |
unitPrice | number | Nao | Preco unitario |
Exemplo de requisicao:
curl -X POST "https://api.tesselys.com.br/external/v1/contract-items" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"contractId": "clx8h9i0j1k2l3m4n5o6p7q8",
"description": "Revisao anual de enquadramento tributario",
"quantity": 1,
"unitPrice": 2000.00
}'
Resposta (201):
{
"id": "clx1k2l3m4n5o6p7q8r9s0t1",
"contractId": "clx8h9i0j1k2l3m4n5o6p7q8",
"description": "Revisao anual de enquadramento tributario",
"quantity": 1,
"unitPrice": 2000.00,
"isActive": true,
"createdAt": "2026-03-25T11:20:00.000Z",
"updatedAt": "2026-03-25T11:20:00.000Z"
}
Atualizar Item de Contrato
PUT /external/v1/contract-items/:id
Atualiza os dados de um item de contrato existente. Envie apenas os campos que deseja alterar.
Body (campos opcionais):
| Campo | Tipo | Descricao |
|---|---|---|
description | string | Nova descricao |
quantity | number | Nova quantidade |
unitPrice | number | Novo preco unitario |
Exemplo de requisicao:
curl -X PUT "https://api.tesselys.com.br/external/v1/contract-items/clx1k2l3m4n5o6p7q8r9s0t1" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"unitPrice": 2500.00
}'
Resposta (200):
{
"id": "clx1k2l3m4n5o6p7q8r9s0t1",
"contractId": "clx8h9i0j1k2l3m4n5o6p7q8",
"description": "Revisao anual de enquadramento tributario",
"quantity": 1,
"unitPrice": 2500.00,
"isActive": true,
"createdAt": "2026-03-25T11:20:00.000Z",
"updatedAt": "2026-03-25T11:35:00.000Z"
}
Valores de Enum
status (Contrato Digital - Sign)
| Valor | Descricao |
|---|---|
DRAFT | Rascunho |
SENT | Enviado para assinatura |
SIGNED | Assinado |
CANCELLED | Cancelado |
contractSituation (Contrato Digital - Sign)
| Valor | Descricao |
|---|---|
ACTIVATING | Em processo de ativacao |
ACTIVATED | Ativo |
SUSPENDED | Suspenso |
TERMINATED | Encerrado |
status (Contrato Recorrente)
| Valor | Descricao |
|---|---|
ACTIVE | Ativo |
SUSPENDED | Suspenso |
TERMINATED | Encerrado |
EXPIRED | Expirado |
renewalType
| Valor | Descricao |
|---|---|
MANUAL | Renovacao manual |
AUTO | Renovacao automatica |
billingType
| Valor | Descricao |
|---|---|
PRE_PAID | Cobranca antecipada (antes do periodo) |
POST_PAID | Cobranca posterior (apos o periodo) |