Pular para o conteúdo principal

CRM — Complementar

Endpoints complementares do modulo CRM: atividades, itens de negocio e pipelines.

Atividades (Activities)

Listar Atividades

GET /external/v1/activities

Retorna uma lista paginada de atividades comerciais.

Query Parameters:

ParametroTipoObrigatorioDescricao
pagenumberNaoPagina atual (default: 1)
limitnumberNaoItens por pagina (default: 20, max: 100)
dealIdstringNaoFiltro por negocio
personIdstringNaoFiltro por pessoa
typestringNaoFiltro por tipo: CALL, EMAIL, MEETING, TASK, NOTE
statusstringNaoFiltro por status: PENDING, DONE

Exemplo de requisicao:

curl -X GET "https://api.tesselys.com.br/external/v1/activities?page=1&limit=10&type=MEETING&status=PENDING" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"

Resposta (200):

{
"data": [
{
"id": "clx9h0i1j2k3l4m5n6o7p8q9",
"title": "Reuniao de apresentacao - Tech Solutions",
"type": "MEETING",
"status": "PENDING",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"dealTitle": "Implantacao Tesselys - Tech Solutions",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"personName": "Tech Solutions Ltda",
"description": "Apresentacao dos modulos financeiro e CRM.",
"dueDate": "2026-03-28T14:00:00.000Z",
"isActive": true,
"createdAt": "2026-03-22T10:00:00.000Z",
"updatedAt": "2026-03-22T10:00:00.000Z"
}
],
"meta": {
"total": 18,
"page": 1,
"limit": 10,
"totalPages": 2
}
}

Buscar Atividade por ID

GET /external/v1/activities/:id

Exemplo de requisicao:

curl -X GET "https://api.tesselys.com.br/external/v1/activities/clx9h0i1j2k3l4m5n6o7p8q9" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"

Resposta (200):

{
"id": "clx9h0i1j2k3l4m5n6o7p8q9",
"title": "Reuniao de apresentacao - Tech Solutions",
"type": "MEETING",
"status": "PENDING",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"dealTitle": "Implantacao Tesselys - Tech Solutions",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"personName": "Tech Solutions Ltda",
"description": "Apresentacao dos modulos financeiro e CRM.",
"dueDate": "2026-03-28T14:00:00.000Z",
"isActive": true,
"createdAt": "2026-03-22T10:00:00.000Z",
"updatedAt": "2026-03-22T10:00:00.000Z"
}

Criar Atividade

POST /external/v1/activities

Body:

CampoTipoObrigatorioDescricao
titlestringSimTitulo da atividade (max: 255)
typestringSimTipo: CALL, EMAIL, MEETING, TASK, NOTE
dealIdstringNaoID do negocio vinculado
personIdstringNaoID da pessoa vinculada
descriptionstringNaoDescricao detalhada
dueDatestringNaoData de vencimento (ISO 8601)
statusstringNaoStatus inicial: PENDING ou DONE (default: PENDING)

Exemplo de requisicao:

curl -X POST "https://api.tesselys.com.br/external/v1/activities" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"title": "Ligacao de follow-up - Acme Corp",
"type": "CALL",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"description": "Retornar ligacao para confirmar recebimento da proposta.",
"dueDate": "2026-03-27T10:00:00.000Z"
}'

Resposta (201):

{
"id": "clxa0i1j2k3l4m5n6o7p8q9r0",
"title": "Ligacao de follow-up - Acme Corp",
"type": "CALL",
"status": "PENDING",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"dealTitle": "Implantacao Tesselys - Tech Solutions",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"personName": "Tech Solutions Ltda",
"description": "Retornar ligacao para confirmar recebimento da proposta.",
"dueDate": "2026-03-27T10:00:00.000Z",
"isActive": true,
"createdAt": "2026-03-25T15:00:00.000Z",
"updatedAt": "2026-03-25T15:00:00.000Z"
}

Atualizar Atividade

PUT /external/v1/activities/:id

Atualiza os dados de uma atividade existente. Envie apenas os campos que deseja alterar.

Body (campos opcionais):

CampoTipoDescricao
titlestringNovo titulo
statusstringNovo status: PENDING ou DONE
descriptionstringNova descricao
dueDatestringNova data de vencimento (ISO 8601)

Exemplo de requisicao:

curl -X PUT "https://api.tesselys.com.br/external/v1/activities/clxa0i1j2k3l4m5n6o7p8q9r0" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"status": "DONE",
"description": "Ligacao realizada. Cliente confirmou interesse e solicitou reuniao presencial."
}'

Resposta (200):

{
"id": "clxa0i1j2k3l4m5n6o7p8q9r0",
"title": "Ligacao de follow-up - Acme Corp",
"type": "CALL",
"status": "DONE",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"dealTitle": "Implantacao Tesselys - Tech Solutions",
"personId": "clx1a2b3c4d5e6f7g8h9i0j1",
"personName": "Tech Solutions Ltda",
"description": "Ligacao realizada. Cliente confirmou interesse e solicitou reuniao presencial.",
"dueDate": "2026-03-27T10:00:00.000Z",
"isActive": true,
"createdAt": "2026-03-25T15:00:00.000Z",
"updatedAt": "2026-03-25T17:30:00.000Z"
}

Itens de Negocio (Deal Items)

Listar Itens de Negocio

GET /external/v1/deal-items

Retorna uma lista paginada de itens vinculados a negocios.

Query Parameters:

ParametroTipoObrigatorioDescricao
pagenumberNaoPagina atual (default: 1)
limitnumberNaoItens por pagina (default: 20, max: 100)
dealIdstringNaoFiltro por negocio

Exemplo de requisicao:

curl -X GET "https://api.tesselys.com.br/external/v1/deal-items?dealId=clx3c4d5e6f7g8h9i0j1k2l3" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"

Resposta (200):

{
"data": [
{
"id": "clxb1j2k3l4m5n6o7p8q9r0s1",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"description": "Licenca Tesselys Enterprise - 50 usuarios",
"quantity": 50,
"unitPrice": 1200.00,
"discount": 10.00,
"totalPrice": 54000.00,
"isActive": true,
"createdAt": "2026-03-10T11:00:00.000Z",
"updatedAt": "2026-03-10T11:00:00.000Z"
}
],
"meta": {
"total": 3,
"page": 1,
"limit": 20,
"totalPages": 1
}
}

Buscar Item de Negocio por ID

GET /external/v1/deal-items/:id

Exemplo de requisicao:

curl -X GET "https://api.tesselys.com.br/external/v1/deal-items/clxb1j2k3l4m5n6o7p8q9r0s1" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"

Resposta (200):

{
"id": "clxb1j2k3l4m5n6o7p8q9r0s1",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"description": "Licenca Tesselys Enterprise - 50 usuarios",
"quantity": 50,
"unitPrice": 1200.00,
"discount": 10.00,
"totalPrice": 54000.00,
"isActive": true,
"createdAt": "2026-03-10T11:00:00.000Z",
"updatedAt": "2026-03-10T11:00:00.000Z"
}

Criar Item de Negocio

POST /external/v1/deal-items

Body:

CampoTipoObrigatorioDescricao
dealIdstringSimID do negocio vinculado
descriptionstringSimDescricao do item (max: 255)
quantitynumberNaoQuantidade (default: 1)
unitPricenumberNaoPreco unitario
discountnumberNaoPercentual de desconto (0-100)

Exemplo de requisicao:

curl -X POST "https://api.tesselys.com.br/external/v1/deal-items" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"description": "Treinamento presencial - 2 dias",
"quantity": 1,
"unitPrice": 8000.00,
"discount": 0
}'

Resposta (201):

{
"id": "clxc2k3l4m5n6o7p8q9r0s1t2",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"description": "Treinamento presencial - 2 dias",
"quantity": 1,
"unitPrice": 8000.00,
"discount": 0,
"totalPrice": 8000.00,
"isActive": true,
"createdAt": "2026-03-25T16:00:00.000Z",
"updatedAt": "2026-03-25T16:00:00.000Z"
}

Atualizar Item de Negocio

PUT /external/v1/deal-items/:id

Atualiza os dados de um item de negocio existente. Envie apenas os campos que deseja alterar.

Body (campos opcionais):

CampoTipoDescricao
descriptionstringNova descricao
quantitynumberNova quantidade
unitPricenumberNovo preco unitario
discountnumberNovo percentual de desconto (0-100)

Exemplo de requisicao:

curl -X PUT "https://api.tesselys.com.br/external/v1/deal-items/clxc2k3l4m5n6o7p8q9r0s1t2" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}" \
-H "Content-Type: application/json" \
-d '{
"quantity": 2,
"unitPrice": 7500.00,
"discount": 5
}'

Resposta (200):

{
"id": "clxc2k3l4m5n6o7p8q9r0s1t2",
"dealId": "clx3c4d5e6f7g8h9i0j1k2l3",
"description": "Treinamento presencial - 2 dias",
"quantity": 2,
"unitPrice": 7500.00,
"discount": 5,
"totalPrice": 14250.00,
"isActive": true,
"createdAt": "2026-03-25T16:00:00.000Z",
"updatedAt": "2026-03-25T17:00:00.000Z"
}

Pipelines de Negocio (Deal Pipelines)

Endpoints somente leitura para consultar pipelines e seus estagios.

Listar Pipelines

GET /external/v1/deal-pipelines

Retorna uma lista paginada de pipelines de negocio.

Query Parameters:

ParametroTipoObrigatorioDescricao
pagenumberNaoPagina atual (default: 1)
limitnumberNaoItens por pagina (default: 20, max: 100)

Exemplo de requisicao:

curl -X GET "https://api.tesselys.com.br/external/v1/deal-pipelines?page=1&limit=10" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"

Resposta (200):

{
"data": [
{
"id": "clxpipe001",
"name": "Vendas B2B",
"description": "Pipeline principal para vendas corporativas.",
"stages": [
{ "id": "clxstage001", "name": "Qualificacao", "order": 1 },
{ "id": "clxstage002", "name": "Negociacao", "order": 2 },
{ "id": "clxstage003", "name": "Proposta Enviada", "order": 3 },
{ "id": "clxstage004", "name": "Fechamento", "order": 4 }
],
"isActive": true,
"createdAt": "2026-01-05T08:00:00.000Z",
"updatedAt": "2026-01-05T08:00:00.000Z"
}
],
"meta": {
"total": 3,
"page": 1,
"limit": 10,
"totalPages": 1
}
}

Buscar Pipeline por ID

GET /external/v1/deal-pipelines/:id

Exemplo de requisicao:

curl -X GET "https://api.tesselys.com.br/external/v1/deal-pipelines/clxpipe001" \
-H "Authorization: Bearer {accessToken}" \
-H "x-company-token: {companyToken}"

Resposta (200):

{
"id": "clxpipe001",
"name": "Vendas B2B",
"description": "Pipeline principal para vendas corporativas.",
"stages": [
{ "id": "clxstage001", "name": "Qualificacao", "order": 1 },
{ "id": "clxstage002", "name": "Negociacao", "order": 2 },
{ "id": "clxstage003", "name": "Proposta Enviada", "order": 3 },
{ "id": "clxstage004", "name": "Fechamento", "order": 4 }
],
"isActive": true,
"createdAt": "2026-01-05T08:00:00.000Z",
"updatedAt": "2026-01-05T08:00:00.000Z"
}

Valores de Enum

type (Atividades)

ValorDescricao
CALLLigacao telefonica
EMAILEnvio de email
MEETINGReuniao presencial ou virtual
TASKTarefa interna
NOTEAnotacao ou observacao

status (Atividades)

ValorDescricao
PENDINGAtividade pendente
DONEAtividade concluida