Pular para o conteúdo principal

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:

ParametroTipoObrigatorioDescricao
pagenumberNaoPagina atual (default: 1)
limitnumberNaoItens por pagina (default: 20, max: 100)
statusstringNaoFiltro: DRAFT, SENT, SIGNED, CANCELLED
contractSituationstringNaoFiltro: ACTIVATING, ACTIVATED, SUSPENDED, TERMINATED
orderBystringNaoCampo: createdAt (default: createdAt)
orderstringNaoASC 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:

CampoTipoObrigatorioDescricao
titlestringSimTitulo do contrato (max: 255)
dealIdstringNaoID do negocio vinculado
personIdstringNaoID da pessoa (cliente) vinculada
contentstringNaoConteudo/corpo do contrato
statusstringNaoStatus 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"
}
Nota

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):

CampoTipoDescricao
titlestringNovo titulo
statusstringNovo status (DRAFT, SENT, SIGNED, CANCELLED)
contentstringNovo conteudo do contrato
contractSituationstringNova 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:

ParametroTipoObrigatorioDescricao
pagenumberNaoPagina atual (default: 1)
limitnumberNaoItens por pagina (default: 20, max: 100)
statusstringNaoFiltro: ACTIVE, SUSPENDED, TERMINATED, EXPIRED
personIdstringNaoFiltro por pessoa (cliente)
orderBystringNaoCampo: createdAt (default: createdAt)
orderstringNaoASC 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:

CampoTipoObrigatorioDescricao
signIdstringSimID do contrato digital (sign) vinculado
titlestringSimTitulo do contrato recorrente (max: 255)
startDatestringSimData de inicio (ISO 8601)
endDatestringSimData de termino (ISO 8601)
monthlyAmountnumberSimValor mensal do contrato
renewalTypestringNaoTipo de renovacao: MANUAL ou AUTO (default: MANUAL)
billingTypestringNaoTipo 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"
}
Nota

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):

CampoTipoDescricao
titlestringNovo titulo
statusstringNovo status (ACTIVE, SUSPENDED, TERMINATED, EXPIRED)
endDatestringNova data de termino (ISO 8601)
monthlyAmountnumberNovo valor mensal
renewalTypestringNovo tipo de renovacao (MANUAL, AUTO)
billingTypestringNovo 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:

ParametroTipoObrigatorioDescricao
pagenumberNaoPagina atual (default: 1)
limitnumberNaoItens por pagina (default: 20, max: 100)
contractIdstringNaoFiltro 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:

CampoTipoObrigatorioDescricao
contractIdstringSimID do contrato recorrente vinculado
descriptionstringSimDescricao do item
quantitynumberNaoQuantidade (default: 1)
unitPricenumberNaoPreco 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):

CampoTipoDescricao
descriptionstringNova descricao
quantitynumberNova quantidade
unitPricenumberNovo 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)

ValorDescricao
DRAFTRascunho
SENTEnviado para assinatura
SIGNEDAssinado
CANCELLEDCancelado

contractSituation (Contrato Digital - Sign)

ValorDescricao
ACTIVATINGEm processo de ativacao
ACTIVATEDAtivo
SUSPENDEDSuspenso
TERMINATEDEncerrado

status (Contrato Recorrente)

ValorDescricao
ACTIVEAtivo
SUSPENDEDSuspenso
TERMINATEDEncerrado
EXPIREDExpirado

renewalType

ValorDescricao
MANUALRenovacao manual
AUTORenovacao automatica

billingType

ValorDescricao
PRE_PAIDCobranca antecipada (antes do periodo)
POST_PAIDCobranca posterior (apos o periodo)