Esta API REST dispõe de serviços para recuperação de dados atuais, históricos, detalhes e status de SLA sobre a tratativa de um caso com o objetivo de construção de relatórios e dashboards, bem como em uso para rotinas diversas conforme negócio do cliente.
A estrutura dos dados segue um modelo baseado nas seguintes entidades chave:
-
Buscar anexo de histórico de interações de chat (Whatsapp, Webchat, Telegram, Instagram, MessengerDados padrão do caso: Dados do caso com todos os atributos nativos da plataforma
-
Dados personalizados do caso: Lista de dados do caso com os atributos personalizados conforme o negócio
-
Histórico de eventos do caso: Lista de histórico de qualquer evento realizado sobre o caso
-
Informações de SLA: Status do monitoramento de SLA sobre um caso
Atenção:
-
As credenciais de acesso devem ser solicitadas para o suporte ao cliente cVortex
-
As credenciais não devem ser utilizadas para acesso ao ambiente do usuário, mas apenas para a API
Visão geral das operações suportadas
-
Criação, consulta e atualização de dados de casos
-
Execução de ações de fluxo de atendimento do caso
-
Consulta de resposta a questionários
-
Consulta de interações de e-mail
-
Ações de administração de usuários
Endpoints
Padronização de valores
-
Os valores de data estão no padrão GMT-0
-
Filtros de data são intervalos (início e fim)
-
Todas as datas devem ser enviadas em Current Milli
-
Todas as datas retornadas pela API são em Current Milli
Autenticação
A autenticação para utilização da API de recuperação de dados do caso será realizada através da estrutura de token de acesso (Access Token). Para isso será necessário obter o seu access token através da iam-auth-api:
POST https://api.cvortex.com/v1/auth/
Informe os seguintes parâmetros de requisição:
{
"password": "string",
"username": "{subdominio_tenant}\\{username}"
}
Observação:
O campo username deve conter o prefixo com o número único do cliente seguido de uma barra invertida (\) e o nome de usuário.
Exemplo: 12345\\joao.silva
Autorização
Após obter o token de acesso
Após obter o token de acesso, toda requisição à endpoints das APIs cVortex devem informar este token no cabeçalho Authorization, para respectiva autenticação e autorização.
Authorization: Bearer <token>
Content-Type
O content-type tanto de requisições quanto de respostas será: “application/json”
Visão Geral: Limite de Requisições de API (Rate Limit)
Para garantir a estabilidade, a segurança e o bom desempenho da plataforma cVortex para todos os usuários, nossas APIs possuem um limite de chamadas simultâneas. Essa prática é conhecida como Rate Limit.
Qual é o limite atual?
-
O limite estabelecido é de 10 requisições por segundo, por tenant (sua conta ou ambiente na plataforma).
-
Isso significa que todos os sistemas ou integrações conectados à sua conta podem realizar, juntos, até 10 chamadas na API a cada intervalo de 1 segundo.
O que acontece se o limite for ultrapassado?
Se o seu sistema enviar a 11ª requisição dentro do mesmo segundo, a API da cVortex não processará essa chamada imediatamente.
Em vez disso, o sistema retornará um erro de limitação (geralmente o código HTTP 429) acompanhado da seguinte mensagem de orientação:
"Limite de requisições excedido. Tente novamente em alguns segundos."
Criar Pessoa
Cria um novo registro de pessoa na base da plataforma.
Request
POST https://api.cvortex.com/v1/person
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
array |
Lista de contatos a serem adicionados. Cada item contém |
Não |
|
|
array |
Lista de contatos a serem removidos. Não utilizado no exemplo. |
Não |
|
|
array |
Detalhes adicionais da pessoa. Cada item contém |
Não |
|
|
array |
Informações principais da pessoa. Cada item contém |
Sim |
Estrutura dos arrays contactsToAdd, contactsToRemove, details, fields
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
string |
Nome do campo |
Sim |
|
|
string |
Identificador único do campo (para |
Não |
|
|
string |
Valor associado ao campo |
Sim |
Exemplo de Payload
{
"contactsToAdd": [
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "EMAIL"
},
{
"fieldLabel": "Value",
"value": "alice.clara.drumond@guiandotelecom.com.br"
}
]
},
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "MOBILE_PHONE"
},
{
"fieldLabel": "Value",
"value": "21985160494"
}
]
},
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "LANDLINE_PHONE"
},
{
"fieldLabel": "Value",
"value": "2127448807"
}
]
},
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "WHATSAPP"
},
{
"fieldLabel": "Value",
"value": "21985160494"
}
]
},
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "WEBCHAT"
},
{
"fieldLabel": "Value",
"value": "67f7c6440732aa3e366e5000"
}
]
},
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "TELEGRAM"
},
{
"fieldLabel": "Value",
"value": "alice.clara.drumond"
}
]
},
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "INSTAGRAM"
},
{
"fieldLabel": "Value",
"value": "alice.clara.drumond10"
}
]
},
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "MESSENGER"
},
{
"fieldLabel": "Value",
"value": "9478174898924321"
}
]
}
],
"contactsToRemove": [],
"details": [
{
"fieldUUID": "bfb0d1bbc08448278a6c9315a4443fc6",
"fieldLabel": "nome da mae",
"value": "Patrícia Elza Marlene"
},
{
"fieldUUID": "50da4da8174747e7887920aca05eef7d",
"fieldLabel": "nome do pai",
"value": "Kevin André Drumond"
},
{
"fieldUUID": "6ef81032d05b44e4846f92647b1860d6",
"fieldLabel": "data de nascimento",
"value": "-220309200000"
}
],
"fields": [
{
"fieldLabel": "Document",
"value": "631.127.437-13"
},
{
"fieldLabel": "Full Name",
"value": "Alice Clara B Guimenez"
}
]
}
Response
|
CODE |
Descrição |
|---|---|
|
200 |
Pessoa criada com sucesso |
Exemplo de Response
{
"document": "631.127.437-13",
"easyId": "15787",
"fullName": "Alice Clara B Guimenez",
"id": "4b640da5-8f61-4a9d-8871-9714c3096fb4",
"personDetails": [
{
"Created at": 1747938561046,
"Created by": "59105e3f-c1a1-4ed1-a4ed-50d4ac408be3",
"Deleted": false,
"Person Id": "4b640da5-8f61-4a9d-8871-9714c3096fb4",
"Updated at": 1747938561046,
"Updated by": "59105e3f-c1a1-4ed1-a4ed-50d4ac408be3",
"_id": "d5c04eb8-6664-4a02-bfa1-440bcd60f857",
"_version": "0",
"data de nascimento": -220309200000,
"nome da mae": "Patrícia Elza Marlene",
"nome do pai": "Kevin André Drumond"
}
]
}
Atualizar Pessoa
Atualiza um registro existente de pessoa.
Request
PUT https://api.cvortex.com/v1/person
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
array |
Lista de contatos a serem adicionados. Cada item contém |
Não |
|
|
array |
Lista de contatos a serem removidos. Não utilizado no exemplo. |
Não |
|
|
array |
Detalhes adicionais da pessoa. Cada item contém |
Não |
|
|
array |
Deve conter ao menos o |
Sim |
Estrutura dos arrays contactsToAdd, contactsToRemove, details, fields
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
string |
Nome do campo |
Sim |
|
|
string |
Identificador único do campo (somente em |
Não |
|
|
string |
Valor associado ao campo |
Sim |
Exemplo de Payload
{
"contactsToAdd": [
{
"fields": [
{
"fieldLabel": "Contact Type",
"value": "WHATSAPP"
},
{
"fieldLabel": "Value",
"value": "75991009528"
}
]
}
],
"contactsToRemove": [],
"details": [],
"fields": [
{
"fieldLabel": "Id",
"value": "4b640da5-8f61-4a9d-8871-9714c3096fb4"
}
]
}
Response
|
CODE |
Descrição |
|---|---|
|
200 |
Pessoa criada com sucesso |
Exemplo de Response
{
"id": "4b640da5-8f61-4a9d-8871-9714c3096fb4",
"fullName": "Alice Clara B Guimenez",
"document": "631.127.437-13",
"easyId": "15787",
"personDetails": [
{
"nome do pai": "Kevin André Drumond",
"data de nascimento": -220309200000,
"Updated by": "59105e3f-c1a1-4ed1-a4ed-50d4ac408be3",
"Deleted": false,
"Created by": "59105e3f-c1a1-4ed1-a4ed-50d4ac408be3",
"_id": "d5c04eb8-6664-4a02-bfa1-440bcd60f857",
"Updated at": 1747938561046,
"nome da mae": "Patrícia Elza Marlene",
"Person Id": "4b640da5-8f61-4a9d-8871-9714c3096fb4",
"_version": "0",
"Created at": 1747938561046
}
]
}
Buscar pessoa (v1)
Permite buscar uma pessoa pelo seu nome e documento.
Request
GET https://api.cvortex.com/v1/person
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
Documento completo da pessoa |
Não |
|
|
Nome completo da pessoa (exato) |
Não |
|
|
Parte do nome da pessoa (busca parcial) |
Não |
|
|
E-mail da pessoa |
Não |
|
|
Cargo da pessoa |
Não |
Response
[
{
"document": "string",
"easyId": "string",
"email": "string",
"jobTitle": "string",
"fullName": "string",
"id": "string"
}
]
Buscar pessoa (v2)
Permite consultar registros de pessoas a partir de um identificador, como documento. Retorna os dados principais da pessoa e seus detalhes associados.
Request
GET https://api.cvortex.io/v2/person?document=000.000.000-00
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
document |
string |
Documento da pessoa (ex: CPF) |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
200 |
Operação realizada com sucesso |
Exemplo de Response
[
{
"id": "4b640da5-8f61-4a9d-8871-9714c3096fb4",
"fullName": "Alice Clara B Guimenez",
"document": "000.000.000-00",
"easyId": "15787",
"personDetails": [
{
"nome do pai": "Kevin André Drumond",
"data de nascimento": -220309200000,
"Updated by": "59105e3f-c1a1-4ed1-a4ed-50d4ac408be3",
"Deleted": false,
"Created by": "59105e3f-c1a1-4ed1-a4ed-50d4ac408be3",
"_id": "d5c04eb8-6664-4a02-bfa1-440bcd60f857",
"Updated at": 1747938561046,
"nome da mae": "Patrícia Elza Marlene",
"Person Id": "4b640da5-8f61-4a9d-8871-9714c3096fb4",
"_version": "0",
"Created at": 1747938561046
}
]
}
]
Contar pessoas
Permite contar a quantidade de pessoas conforme os filtros informados.
Request
GET https://api.cvortex.com/v1/person/co
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
Documento completo da pessoa |
Não |
|
|
Nome completo da pessoa (exato) |
Não |
|
|
Parte do nome da pessoa (busca parcial) |
Não |
|
|
E-mail da pessoa |
Não |
|
|
Cargo da pessoa |
Não |
Response
number
Alterar Pessoa de um Caso
Altera a pessoa associada a um caso existente, substituindo o vínculo atual por outro personId.
Request
PUT https://api.cvortex.com/v1/case/change-person
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
caseId |
ID numérico do caso (easyId) |
✅ Sim |
|
personId |
UUID da nova pessoa a ser associada ao caso |
✅ Sim |
Body
{
"easyId": 10880,
"personId": "ceeb592b-1dee-4b24-b319-7f34b945401e"
}
|
Campo |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
easyId |
int |
Identificador numérico do caso (caseId) |
✅ Sim |
|
personId |
string |
UUID da nova pessoa solicitante do caso |
✅ Sim |
Exemplo de Requisição
PUT https://api.cvortex.com/v1/case/change-person
Authorization: Bearer {token}
{
"easyId": 10880,
"personId": "ceeb592b-1dee-4b24-b319-7f34b945401e"
}
Response
{
"id": "39fd6e51-950b-4741-9a98-bde2afe8a4ad",
"deleted": false,
"createdAt": 1747942191554,
"updatedAt": 1747942527072,
"active": true,
"createdBy": "59105e3f-c1a1-4ed1-a4ed-50d4ac408be3",
"updatedBy": "59105e3f-c1a1-4ed1-a4ed-50d4ac408be3",
"version": "2",
"subject": "Caso manual criado via API",
"caseType": "d2af060c-7251-41cd-aee3-9fda35d14c7c",
"caseStatus": "0997b604-e549-41f5-89c4-736efd8edfea",
"businessUnit": "24d521b8-42d5-4b5e-92a2-586a5b30bafa",
"priority": "LOW",
"externalId": "CVTEX-10880",
"personRequesterId": "ceeb592b-1dee-4b24-b319-7f34b945401e",
"currentAssignee": "9d9df418-61eb-48a2-b3b3-0312c153ebf6",
"closed": false,
"lastAction": "e07a30b6-f77d-4cd3-9e07-942946e1a69f",
"caseId": 10880,
"inProgress": true,
"startedProgressAt": 1747942190140,
"expired": false,
"caseFormId": "1f5b3d6f-acfd-4faa-a5fb-066ec78e9c81",
"chatSessionClosed": false
}
Explicação dos Campos de Resposta
|
Campo |
Tipo |
Descrição |
|---|---|---|
|
id |
string |
UUID interno do caso |
|
caseId |
int |
Identificador numérico do caso |
|
personRequesterId |
string |
Novo UUID da pessoa vinculada ao caso |
|
subject |
string |
Assunto/título do caso |
|
priority |
string |
Prioridade do caso ( |
|
caseType |
string |
UUID do tipo do caso |
|
caseStatus |
string |
UUID do status atual do caso |
|
active |
boolean |
Indica se o caso está ativo |
|
closed |
boolean |
Indica se o caso está encerrado |
|
inProgress |
boolean |
Indica se o caso está em andamento |
Atribuir Responsável ao Caso
Permite atribuir ou transferir a responsabilidade de um caso para outro agente (usuário).
Request
PUT https://api.cvortex.com/v1/case/assign
Header
Authorization
Body
{
"easyId": 10880,
"personId": "9d9df418-61eb-48a2-b3b3-0312c153ebf6" // Cvortex Hurricane Agent01
}
|
Campo |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
easyId |
int |
Identificador numérico do caso (caseId) |
Sim |
|
personId |
string |
UUID do agente (usuário) que será o novo responsável pelo caso |
Sim |
Response
204 No Content
-
Caso a atribuição ocorra com sucesso, a API retorna um status HTTP 204, sem corpo na resposta.
-
Nenhuma informação adicional é retornada, o que indica que a operação foi executada com sucesso.
Transferir Caso (Entrega via motor de distribuição)
Permite atribuir ou transferir a responsabilidade de um caso para outro agente (usuário).
Request
PUT https://api.cvortex.com/v1/case/assign
Header
Authorization
Body
{
"easyId": 10886
}
|
Campo |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
easyId |
int |
Identificador numérico do caso (caseId) |
Sim |
Response
204 No Content
-
Caso a atribuição ocorra com sucesso, a API retorna um status HTTP 204, sem corpo na resposta.
-
Nenhuma informação adicional é retornada, o que indica que a operação foi executada com sucesso.
Reclassificar Caso
Permite reclassificar um caso manualmente. A reclassificação pode ser usada para recalcular regras, atualizar categorias ou acionar processos automáticos novamente com base nos dados atuais do caso.
Request
PUT https://api.cvortex.com/v1/case/{id}/reclassify
Header
Authorization
Body
{
"easyId": 10887
}
|
Campo |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
easyId |
int |
Identificador numérico do caso (caseId) |
Sim |
Response
204 No Content
-
A reclassificação foi executada com sucesso.
-
Nenhuma informação adicional é retornada no corpo da resposta.
Buscar caso por ID
Permite buscar um caso pelo seu ID único.
Request
GET https://api.cvortex.com/v1/case/{id}
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
ID único do caso |
Sim |
Response
{
"id":{
"type":"string"
},
"deleted":{
"type":"boolean"
},
"createdAt":{
"type":"integer",
"format":"int64"
},
"updatedAt":{
"type":"integer",
"format":"int64"
},
"active":{
"type":"boolean"
},
"createdBy":{
"type":"string"
},
"updatedBy":{
"type":"string"
},
"version":{
"type":"string"
},
"subject":{
"type":"string"
},
"caseType":{
"type":"string"
},
"caseTypeName":{
"type":"string"
},
"caseStatus":{
"type":"string"
},
"caseStatusName":{
"type":"string"
},
"businessUnit":{
"type":"string"
},
"businessUnitName":{
"type":"string"
},
"priority":{
"type":"string"
},
"description":{
"type":"string"
},
"externalId":{
"type":"string"
},
"companyRequesterId":{
"type":"string"
},
"companyRequesterName":{
"type":"string"
},
"personRequesterId":{
"type":"string"
},
"personRequesterName":{
"type":"string"
},
"currentAssignee":{
"type":"string"
},
"currentAssigneeName":{
"type":"string"
},
"caseOrigin":{
"type":"string"
},
"caseOriginName":{
"type":"string"
},
"scheduleTo":{
"type":"integer",
"format":"int64"
},
"scheduleToPerson":{
"type":"string"
},
"scheduleToPersonName":{
"type":"string"
},
"originallyCreatedOn":{
"type":"integer",
"format":"int64"
},
"closed":{
"type":"boolean"
},
"closedAt":{
"type":"integer",
"format":"int64"
},
"closedBy":{
"type":"string"
},
"closedNameBy":{
"type":"string"
},
"reopenedAt":{
"type":"integer",
"format":"int64"
},
"reopenedBy":{
"type":"string"
},
"reopenedNameBy":{
"type":"string"
},
"lastAction":{
"type":"string"
},
"lastActionName":{
"type":"boolean"
},
"openingReason":{
"type":"string"
},
"openingReasonName":{
"type":"string"
},
"closingReason":{
"type":"string"
},
"closingReasonName":{
"type":"string"
},
"caseId":{
"type":"string"
},
"queueId":{
"type":"string"
},
"queueName":{
"type":"string"
},
"inProgress":{
"type":"boolean"
},
"startedProgressAt":{
"type":"integer",
"format":"int64"
},
"caseBatchId":{
"type":"string"
},
"caseBatchName":{
"type":"string"
},
"comment":{
"type":"string"
},
"expired":{
"type":"boolean"
},
"expiredAt":{
"type":"integer",
"format":"int64"
},
"expiration":{
"type":"integer",
"format":"int64"
},
"currentContactId":{
"type":"string"
},
"currentChannel":{
"type":"string"
},
"currentContact":{
"type":"string"
},
"currentServiceId":{
"type":"string"
},
"queueStatus":{
"type":"string"
},
"queueStatusChangedAt":{
"type":"integer",
"format":"int64"
},
"createdFromChannel":{
"type":"string"
},
"caseFormId":{
"type":"string"
},
"caseFormName":{
"type":"string"
},
"caseDetails":[
{
"entityUuid":{
"type":"string"
},
"values":[
{
"label":{
"type":"string"
},
"name":{
"type":"string"
},
"fieldUuid":{
"type":"string"
},
"value":{
"type":"string"
}
}
]
}
],
"caseHistories":[
{
"createdAt":{
"type":"integer"
"format":"int64"
},
"changeDescription":{
"type":"string"
},
"username":{
"type":"string"
},
"comment":{
"type":"string"
},
"caseActionName":{
"type":"string"
},
"change":{
"type":"string"
},
"questionnaireAnswerId":{
"type":"string"
},
"questionnaireId":{
"type":"string"
},
"questionnaireName":{
"type":"string"
}
}
],
"slasMonitors":[
{
"caseId":{
"type":"string"
},
"timeLeft":{
"type":"integer",
"format":"int64"
},
"timeLeftFlag":{
"type":"string"
},
"serviceLevelAgreement":{
"type":"string"
}
}
]
}
Buscar caso por case ID
Permite buscar um caso pelo seu ID de negócio (caseId)
Request
GET https://api.cvortex.com/v1/case/business/{id}
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
ID de negócio do caso |
Sim |
Response
{
"id":{
"type":"string"
},
"deleted":{
"type":"boolean"
},
"createdAt":{
"type":"integer",
"format":"int64"
},
"updatedAt":{
"type":"integer",
"format":"int64"
},
"active":{
"type":"boolean"
},
"createdBy":{
"type":"string"
},
"updatedBy":{
"type":"string"
},
"version":{
"type":"string"
},
"subject":{
"type":"string"
},
"caseType":{
"type":"string"
},
"caseTypeName":{
"type":"string"
},
"caseStatus":{
"type":"string"
},
"caseStatusName":{
"type":"string"
},
"businessUnit":{
"type":"string"
},
"businessUnitName":{
"type":"string"
},
"priority":{
"type":"string"
},
"description":{
"type":"string"
},
"externalId":{
"type":"string"
},
"companyRequesterId":{
"type":"string"
},
"companyRequesterName":{
"type":"string"
},
"personRequesterId":{
"type":"string"
},
"personRequesterName":{
"type":"string"
},
"currentAssignee":{
"type":"string"
},
"currentAssigneeName":{
"type":"string"
},
"caseOrigin":{
"type":"string"
},
"caseOriginName":{
"type":"string"
},
"scheduleTo":{
"type":"integer",
"format":"int64"
},
"scheduleToPerson":{
"type":"string"
},
"scheduleToPersonName":{
"type":"string"
},
"originallyCreatedOn":{
"type":"integer",
"format":"int64"
},
"closed":{
"type":"boolean"
},
"closedAt":{
"type":"integer",
"format":"int64"
},
"closedBy":{
"type":"string"
},
"closedNameBy":{
"type":"string"
},
"reopenedAt":{
"type":"integer",
"format":"int64"
},
"reopenedBy":{
"type":"string"
},
"reopenedNameBy":{
"type":"string"
},
"lastAction":{
"type":"string"
},
"lastActionName":{
"type":"boolean"
},
"openingReason":{
"type":"string"
},
"openingReasonName":{
"type":"string"
},
"closingReason":{
"type":"string"
},
"closingReasonName":{
"type":"string"
},
"caseId":{
"type":"string"
},
"queueId":{
"type":"string"
},
"queueName":{
"type":"string"
},
"inProgress":{
"type":"boolean"
},
"startedProgressAt":{
"type":"integer",
"format":"int64"
},
"caseBatchId":{
"type":"string"
},
"caseBatchName":{
"type":"string"
},
"comment":{
"type":"string"
},
"expired":{
"type":"boolean"
},
"expiredAt":{
"type":"integer",
"format":"int64"
},
"expiration":{
"type":"integer",
"format":"int64"
},
"currentContactId":{
"type":"string"
},
"currentChannel":{
"type":"string"
},
"currentContact":{
"type":"string"
},
"currentServiceId":{
"type":"string"
},
"queueStatus":{
"type":"string"
},
"queueStatusChangedAt":{
"type":"integer",
"format":"int64"
},
"createdFromChannel":{
"type":"string"
},
"caseFormId":{
"type":"string"
},
"caseFormName":{
"type":"string"
},
"caseDetails":[
{
"entityUuid":{
"type":"string"
},
"values":[
{
"label":{
"type":"string"
},
"name":{
"type":"string"
},
"fieldUuid":{
"type":"string"
},
"value":{
"type":"string"
}
}
]
}
],
"caseHistories":[
{
"createdAt":{
"type":"integer"
"format":"int64"
},
"changeDescription":{
"type":"string"
},
"username":{
"type":"string"
},
"comment":{
"type":"string"
},
"caseActionName":{
"type":"string"
},
"change":{
"type":"string"
},
"questionnaireAnswerId":{
"type":"string"
},
"questionnaireId":{
"type":"string"
},
"questionnaireName":{
"type":"string"
}
}
],
"slasMonitors":[
{
"caseId":{
"type":"string"
},
"timeLeft":{
"type":"integer",
"format":"int64"
},
"timeLeftFlag":{
"type":"string"
},
"serviceLevelAgreement":{
"type":"string"
}
}
]
}
Buscar casos (v1)
Permite buscar casos através dos parâmetros usados como filtro.
Request
GET https://api.cvortex.com/v1/cases/search
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Unidade de negócio |
Sim |
|
|
|
Identificador externo |
Não |
|
|
|
Nome do status do caso |
Não |
|
|
|
Nome do tipo do caso |
Não |
|
|
|
Nome da lista de caso |
Não |
|
|
|
Contato da pessoa solicitante do caso |
Não |
|
|
|
Nome da pessoa solicitante do caso |
Não |
|
|
|
Identificador da pessoa solicitante do caso |
Não |
|
|
|
Nome do agente atribuído ao caso |
Não |
|
|
|
Período de intervalo de tempo para busca dos casos. Os possíveis valores são: TODAY, YESTERDAY, SEVEN_DAYS, FIFTEEN_DAYS, THIRTY_DAYS e BETWEEN. |
Sim |
|
|
|
Data de início da criação dos casos, usada no filtro de período. É obrigatório somente quando o campo period é igual a BETWEEN. Possíveis formatos:
|
Não |
|
|
|
Data final da criação dos casos, usada no filtro de período. É obrigatório somente quando o campo period é igual a BETWEEN. Possíveis formatos:
|
Não |
|
|
|
Quantidade de registro por página. O valor máximo permitido é 25. |
Não |
|
|
|
Número de registros saltados no resultado da página |
Não |
Response
[
{
"personRequesterEasyId":{
"type":"text"
},
"personRequesterName":{
"type":"text"
},
"caseId":{
"type":"number",
"format":"int64"
},
"externalId":{
"type":"string"
},
"createdDate":{
"type":"string"
},
"closedDate":{
"type":"string"
},
"caseTypeName":{
"type":"string"
},
"caseStatusName":{
"type":"string"
},
"queueName":{
"type":"string"
},
"currentAssigneeName":{
"type":"string"
}
}
]
Exemplo
https://api.cvortex.com/v1/cases/search?businessUnitId=ced312a4-f320-4555-ab43-81a9ad77f80c&caseStatusNames=Aguardando%20Atendimento&caseStatusNames=Inicio&createdDateEnd=11%2F09%2F2023%2023%3A59&createdDateStart=01%2F01%2F2023%2000%3A00&period=BETWEEN
[
{
"personRequesterEasyId": "10823",
"personRequesterName": "Maria da Silva Souza",
"caseId": 21704,
“id”: 1239-123124-2324-3434
"createdDate": "01/09/2023 11:27",
"closedDate": "03/09/2023 13:45",
"caseTypeName": "Reserva",
"caseStatusName": "Aguardando Atendimento",
"queueName": "Fila Atendimento 01",
"currentAssigneeName": "Agente 01"
}
]
Contar casos
Permite contar casos através dos parâmetros usados como filtros.
Request
GET https://api.cvortex.com/v1/cases/count
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Unidade de negócio |
Sim |
|
|
|
Nome do status do caso |
Não |
|
|
|
Nome do tipo do caso |
Não |
|
|
|
Nome da lista de caso |
Não |
|
|
|
Contato da pessoa solicitante do caso |
Não |
|
|
|
Nome da pessoa solicitante do caso |
Não |
|
|
|
Identificador da pessoa solicitante do caso |
Não |
|
|
|
Nome do agente atribuído ao caso |
Não |
|
|
|
Período de intervalo de tempo para busca dos casos. Os possíveis valores são: TODAY, YESTERDAY, SEVEN_DAYS, FIFTEEN_DAYS, THIRTY_DAYS e BETWEEN. |
Sim |
|
|
|
Data de início da criação dos casos, usada no filtro de período. É obrigatório somente quando o campo period é igual a BETWEEN. Possíveis formatos:
|
Não |
|
|
|
Data final da criação dos casos, usada no filtro de período. É obrigatório somente quando o campo period é igual a BETWEEN. Possíveis formatos:
|
Não |
Response
number
Exemplo
https://api.cvortex.com/v1/cases/search?businessUnitId=ced312a4-f320-4555-ab43-81a9ad77f80c&caseStatusNames=Aguardando%20Atendimento&caseStatusNames=Inicio&createdDateEnd=11%2F09%2F2023%2023%3A59&createdDateStart=01%2F01%2F2023%2000%3A00&period=BETWEEN
40324
Buscar Casos v2
Permite buscar casos utilizando filtros avançados definidos no corpo da requisição (payload). Esta versão (v2) oferece um modelo de filtragem mais flexível e estruturado.
Request
POST https://api.cvortex.com/v2/cases/search?limit=25&offset=1
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Quantidade de registro por página. O valor máximo permitido é 25. |
Não |
|
|
|
Número de registros saltados no resultado da página |
Não |
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Filtros relacionados a detalhes do caso. |
Não |
|
|
|
Lista de filtros aplicados aos atributos do caso. Cada item contém |
Não |
|
|
|
Data de início do intervalo (timestamp em milissegundos). |
Sim |
|
|
|
Data final do intervalo (timestamp em milissegundos). |
Sim |
Estrutura de caseDetailEntries e caseEntries
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
string |
Identificador do campo a ser filtrado |
Sim |
|
|
string |
Rótulo do campo (opcional, usado para legibilidade) |
🚫 Não |
|
|
string |
Operador de comparação (ex: |
Sim |
|
|
array |
Lista de valores usados no filtro |
Sim |
Nota:
Se fieldLabel e fieldUUID aparecem juntos, explique que fieldLabel é opcional e apenas informativo.
Exemplo de Payload
{
"caseDetailEntries": [],
"caseEntries": [
{
"fieldUUID": "businessUnit",
"operator": "IN",
"values": [
"24d521b8-42d5-4b5e-92a2-586a5b30bafa",
"f6f90642-0d77-4ab0-8af2-bd9dc281589b"
]
},
{
"fieldLabel": "Queue Status",
"fieldUUID": "queueStatus",
"operator": "IN",
"values": ["HANGUP", "ANSWERED"]
},
{
"fieldLabel": "Closing Reason",
"fieldUUID": "closingReason",
"operator": "IN",
"values": [
"c45a2521-aab7-416c-aad0-96f4a8bf3f84"
]
}
],
"endDate": "1747267199000", // 13 May 2025 23:59:00
"startDate": "1746414000000" // 08 May 2025 00:00:00
}
Response
|
CODE |
Descrição |
|---|---|
|
200 |
Operação realizada com sucesso |
Exemplo de Response
{
"content": [
{
"Case Id": 10782,
"Business Unit": "24d521b8-42d5-4b5e-92a2-586a5b30bafa",
"Current Contact Id": "",
"Case Type": "2c8f5ed0-efe7-418b-98d7-4a7e83071aab",
"Updated by": "611a4b94-ac49-4210-8aa4-f51c49417078",
"In Progress": false,
"Initial Current Channel": "EMAIL",
"Closed At": 1747247542278,
"Queue Status Changed At": 1747247540426,
"Started Progress At": 1747247496932,
"Originally Created On": 1746478179000,
"chatSessionClosed": false,
"Progress Duration": 59853,
"Last Action": "690b5c66-dd25-42c2-9fd8-c93528348496",
"Deleted": false,
"Created by": "default-user",
"Queue": "96889d01-bdfe-444b-8c4a-66e5273e44c5",
"_version": "9",
"Case Status": "e2f97391-b9a1-4bb3-8a97-c8f1ca725b60",
"Person Requester Id": "f7463572-8f48-46fa-b5fd-9f6d56bbe896",
"Account ID": "5c1469ac-3cb3-48b4-a16c-5d41d7157e7c",
"Comment": "Passou pela integração de busca de conteúdo",
"Account Current Key ID": "32a462bf-b3d4-412e-b650-8e39e2b2f664",
"Current Contact": "weverton.castro@cvortex.io",
"Priority": "LOW",
"Closing Reason": "c45a2521-aab7-416c-aad0-96f4a8bf3f84",
"active": true,
"Expired": false,
"Account Channel ID": "5c1469ac-3cb3-48b4-a16c-5d41d7157e7c",
"Updated at": 1747247542581,
"Account Key ID": "32a462bf-b3d4-412e-b650-8e39e2b2f664",
"Queue Status": "ANSWERED",
"Current Service Id": "",
"Subject": "teste",
"Current Channel": "EMAIL",
"Closed": true,
"Assigned At": 1746624112363,
"_id": "fa14a939-6f75-4d47-9693-f4badb0231a8",
"Closed By": "611a4b94-ac49-4210-8aa4-f51c49417078",
"External Id": "<CALq7f+D2jxsRShiiBQTfnEEFgyaJj6nqGVAro_O8juzznWzGHQ@mail.gmail.com>",
"Created at": 1746478210844
}
]
}
Contar casos V2
Permite contar casos através dos parâmetros usados como filtros.
Request
POST https://api.cvortex.com/v2/cases/search/count
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Filtros relacionados a detalhes do caso. |
Não |
|
|
|
Lista de filtros aplicados aos atributos do caso. Cada item contém |
Não |
|
|
|
Data de início do intervalo (timestamp em milissegundos). |
Sim |
|
|
|
Data final do intervalo (timestamp em milissegundos). |
Sim |
Estrutura de caseDetailEntries e caseEntries
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
string |
Identificador do campo a ser filtrado |
Sim |
|
|
string |
Rótulo do campo (opcional, usado para legibilidade) |
🚫 Não |
|
|
string |
Operador de comparação (ex: |
Sim |
|
|
array |
Lista de valores usados no filtro |
Sim |
Nota:
Se fieldLabel e fieldUUID aparecem juntos, explique que fieldLabel é opcional e apenas informativo.
Exemplo de Payload
{
"caseDetailEntries": [],
"caseEntries": [
{
"fieldUUID": "businessUnit",
"operator": "IN",
"values": [
"24d521b8-42d5-4b5e-92a2-586a5b30bafa",
"f6f90642-0d77-4ab0-8af2-bd9dc281589b"
]
},
{
"fieldLabel": "Queue Status",
"fieldUUID": "queueStatus",
"operator": "IN",
"values": ["HANGUP", "ANSWERED"]
},
{
"fieldLabel": "Closing Reason",
"fieldUUID": "closingReason",
"operator": "IN",
"values": [
"c45a2521-aab7-416c-aad0-96f4a8bf3f84"
]
}
],
"endDate": "1747267199000", // 13 May 2025 23:59:00
"startDate": "1746414000000" // 08 May 2025 00:00:00
}
Response
|
CODE |
Descrição |
|---|---|
|
200 |
Operação realizada com sucesso |
Exemplo de Response
1525
Buscar formulário de caso por ID
Permite buscar o formulário de criação de caso pelo seu ID único.
Request
GET https://api.cvortex.com/v1/case-forms/{id}
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
ID do formulário caso |
Sim |
Response
{
"name":{
"type":"string"
},
"description":{
"type":"string"
},
"businessUnitId":{
"type":"string"
},
"assignCaseToAgent":{
"type":"boolean"
},
"createIDPrefixForManualCase":{
"type":"boolean"
},
"identifierPrefix":{
"type":"string"
},
"fields":[
{
"caseFormId":{
"type":"string"
},
"entityUUID":{
"type":"string"
},
"fieldUUID":{
"type":"string"
},
"label":{
"type":"string"
},
"removed":{
"type":"boolean"
},
"required":{
"type":"boolean"
},
"order":{
"type":"integer",
"format":"int64"
},
"fieldType":{
"type":"string"
},
"defaultValue":{
"type":"string"
},
"blocked":{
"type":"boolean"
},
"hidden":{
"type":"boolean"
}
}
]
}
Criar caso por formulário (v1)
Permite criar um caso a partir do formulário.
Request
POST https://api.cvortex.com/v1/case/forms/{id}
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
ID do formulário caso |
Sim |
Observações.:
-
Os campos
personRequesterFullName,personRequesterEmailepersonRequesterDocumentda request devem ser enviados quando o campopersonRequesterIdnão estiver presente na lista dedynmicFields, ou seja, se você ainda não tem o cliente identificado no momento de criação do caso utilize o campopersonRequesterFullNamee uma nova pessoa será criada junto ao caso, agora se você já conhece o cliente no momento de criação do caso utilize o_idda própria pessoa dentro do campopersonRequesterId. -
O campo
priorityque deve ser enviado na lista dedynamicFields, caso não tenha um valor padrão configurado no cadastro de formulário de casos, tem três valores possíveis: LOW, MEDIUM e HIGH. -
Para a correta criação do caso, os campos configurados no formulário não podem ser marcados com o parâmetro ‘Ocultar campo no formulário’.
Body
{
"personRequesterFullName":{
"type":"string"
},
"personRequesterEmail":{
"type":"string"
},
"personRequesterDocument":{
"type":"string"
},
"dynamicFields":[
{
"entityUUID":{
"type":"string"
},
"fieldUUID":{
"type":"string"
},
"value":{
"type":"string"
}
}
]
}
Response
{
"id":{
"type":"string"
},
"caseId":{
"type":"string"
}
}
Exemplo de utilização criando uma nova pessoa a cada requisição
{
"personRequesterFullName":"nome do cliente",
"personRequesterDocument":"documento do cliente",
"personRequesterEmail":"email do cliente",
"dynamicFields":[
{
"entityUUID":"case",
"fieldUUID":"subject",
"value":"comentário desejado"
},
{
"entityUUID":"case",
"fieldUUID":"caseType",
"value":"_id do registro CaseType"
},
{
"entityUUID":"case",
"fieldUUID":"caseStatus",
"value":"_id do registro CaseStatus"
},
{
"entityUUID":"case",
"fieldUUID":"priority",
"value":"LOW ou MEDIUM ou HIGH"
},
{
"entityUUID":"_id de Case Detail",
"fieldUUID":"_id do Atributo de Case Detail",
"value":"Valor desejado para o campo"
}
]
}
Exemplo de utilização com uma pessoa já existente
{
"dynamicFields":[
{
"entityUUID":"case",
"fieldUUID":"subject",
"value":"comentário desejado"
},
{
"entityUUID":"case",
"fieldUUID":"caseType",
"value":"_id do registro CaseType"
},
{
"entityUUID":"case",
"fieldUUID":"caseStatus",
"value":"_id do registro CaseStatus"
},
{
"entityUUID":"case",
"fieldUUID":"priority",
"value":"LOW ou MEDIUM ou HIGH"
},
{
"entityUUID":"case",
"fieldUUID":"personRequesterId",
"value":"_id do registro Person"
},
{
"entityUUID":"_id de Case Detail",
"fieldUUID":"_id do Atributo de Case Detail",
"value":"Valor desejado para o campo"
}
]
}
Criar caso por formulário (v2)
Cria um novo caso com base em um formulário pré-configurado, permitindo a criação ou associação de uma pessoa e o preenchimento de campos dinâmicos (do caso e dos detalhes do caso).
Request
POST https://api.cvortex.com/v2/case/forms/{formId}
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
personRequest |
object |
Dados da pessoa associada ao caso |
Sim |
|
└─ fullName |
string |
Nome completo da pessoa |
Sim |
|
└─ document |
string |
Documento da pessoa (ex: CPF) |
Sim |
|
|
string |
Email principal |
Não |
|
└─ contacts |
array |
Lista de contatos (telefone, e-mail, etc) |
Não |
|
caseAndDetailFields |
array |
Lista de campos a serem preenchidos no caso (entidade |
Sim |
|
└─ entityUUID |
string |
Deve ser |
Sim |
|
└─ fields |
array |
Lista de campos contendo |
Sim |
Estrutura dos campos (caseAndDetailFields[].fields)
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
fieldUUID |
string |
UUID do campo a ser preenchido |
Sim |
|
value |
string |
Valor atribuído ao campo |
Sim |
|
entityUUID |
string |
Identificador da entidade (ex: case) |
Sim |
Exemplo de Payload
{
"personRequest": {
"contacts": [
{
"channelType": "VOICE",
"contactType": "MOBILE_PHONE",
"value": "31993448726"
},
{
"channelType": "VOICE",
"contactType": "LANDLINE_PHONE",
"value": "3127445096"
},
{
"channelType": "EMAIL",
"contactType": "EMAIL",
"value": "marlene_baptista@rj.net"
}
],
"document": "377.692.336-90",
"email": "elias-martins72@bbcreative.org",
"fullName": "Elias Theo Bento Martins"
},
"caseAndDetailFields": [
{
"entityUUID": "case",
"fields": [
{
"entityUUID":"case",
"fieldUUID":"subject",
"value":"Caso manual criado via API"
},
{
"entityUUID":"case",
"fieldUUID":"caseType",
"value":"d2af060c-7251-41cd-aee3-9fda35d14c7c"
},
{
"entityUUID":"case",
"fieldUUID":"caseStatus",
"value":"c3003f97-f701-40fa-9792-8fc4dbec42c6"
},
{
"entityUUID":"case",
"fieldUUID":"priority",
"value":"LOW"
}
]
}
]
}
Response
|
CODE |
Descrição |
|---|---|
|
200 |
Operação realizada com sucesso |
Exemplo de Response
{
"caseId": 10880
}
Buscar Ações por status e tipo do caso
Permite buscar ações, utilizando o status e tipo do caso como parâmetros de busca.
Request
GET https://api.cvortex.com/v1/workflow-executions/actions/{statusId}/{caseTypeId}
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
ID da |
Sim |
|
|
ID do tipo do caso, correspondente a propriedade no flow |
Sim |
Response
[
{
"workflowId": “string”
"actions": ["string"]
}
]
Executar uma ação de um fluxo de atendimento
Permite executar uma ação de um fluxo de atendimento a partir de um caso e é necessário informar os parâmetros: Id da ação, Id do caso, Id do tipo do caso, Id da função status e lista de requisições do formulário.
Request
POST https://api.cvortex.com/v1/workflow-executions
Header
Authorization
Observação:
Com “F12” no navegador pela tela de cadastro do formulário de ação, é possível copiar os valores que precisam ser enviados dentro do “formRequestList”.
Body
{
"actionId": “ID Hash da ação a ser executada”,
"caseId": “ID Hash do caso”,
"caseTypeId": “ID Hash do tipo de caso do caso em questão”,
"statusFunctionId": “ID Hash do status de caso no fluxo”,
"formRequestList":[
{
"binding": “string”,
"value": “string”
}
]
}
Response
{
"workflowExecutionsRequest": “ID Hash da requisição WF criada”
}
Observação:
-
A ação deve estar vinculada ao status do caso dentro do fluxo de atendimento no workflow studio
-
A ação somente será executada se o caso estiver no status informado
Buscar respostas de questionários por Caso e Ação
Recupera a lista de respostas de questionários de um determinado caso e ação.
Request
GET https://api.cvortex.com/v1/questionnaire/questionnaire-answer
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
ID Hash correspondente ao caso |
Sim |
|
|
ID correspondente a ação do caso |
Sim |
Response
[
{
"id":"a9378ad3-8730-4800-852f-e96691508103",
"name":"Teste Cosmos",
"createdAt":1706301660041,
"questions":[
{
"id":"40a7e004-f9ea-4f90-8445-d0f89987dd15",
"label":"Questão 1",
"type":"DATE",
"required":false,
"answer":"1706301600000",
"options":[
],
"answered":true
},
{
"id":"b1f953cf-752b-4d5f-9d5d-8787bfb3c3c1",
"label":"Questão 1",
"type":"TEXT",
"required":false,
"answer":"abc",
"options":[
],
"answered":true
}
]
}
]
Anexar arquivos ao Caso
Possibilita anexar arquivos ao caso, enviando no formato multipart file.
Request
POST https://api.cvortex.com/v1/case/{easyId}/attachment
Header
Authorization
Parâmetros de URI
|
Parâmetro |
Descrição |
Obrigatório |
|---|---|---|
|
|
ID correspondente ao caso |
Sim |
Lista de erros possíveis:
|
Erro |
Descrição |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lista de arquivos suportados:
|
Tipo do Arquivo |
content-type |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Body
Requisição do tipo: form-data
Content-Type: multipart/form-data;
Parâmetro: files[] do tipo arquivo
Response
{
"files": [
{
"id": "SUCCESS",
"name": "test.txt",
"status": "SUCCESS",
"createdAt": "1707250657492",
"createdBy": "f9dcd879-79b2-4a25-8f91-a72ec0951a50"
},
{
"name": "main.py",
"status": "ERROR",
"message": "Tipo de arquivo não suportado"
}
]
}
Buscar Usuários
Permite buscar usuários através dos parâmetros usados como filtro.
Request
GET https://api.cvortex.com/v1/users/search
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Usuário ativo |
Não |
|
|
|
Quantidade de registro por página. O valor máximo permitido é 100. |
Não |
|
|
|
Número de registros saltados no resultado da página |
Não |
|
|
|
Campo usado para ordenação, no seguinte formato |
Não |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
[
{
"id":{
"type":"string"
},
"deleted":{
"type":"boolean"
},
"createdAt":{
"type":"integer",
"format":"int64"
},
"updatedAt":{
"type":"integer",
"format":"int64"
},
"active":{
"type":"boolean"
},
"createdBy":{
"type":"string"
},
"updatedBy":{
"type":"string"
},
"version":{
"type":"string"
},
"personId":{
"type":"string"
},
"email":{
"type":"string"
},
"username":{
"type":"string"
}
}
]
Exemplo
https://api.cvortex.com/v1/users/search?active=true&limit=5&sort-fields=username:ASC
[
{
"id": "8f00f389-e988-4f35-8f73-93c500701589",
"deleted": false,
"createdAt": 1654719964555,
"active": true,
"createdBy": "default-user",
"version": "0",
"personId": "7fba8f3b-6de4-4772-a374-0bc79bdc62bd",
"email": "cvortex@cvortex.io",
"username": "cvortex.cvortex"
}
]
Contar usuários
Permite contar usuários através dos parâmetros usados como filtros.
Request
GET https://api.cvortex.com/v1/users/count
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Identificador do usuário a ser ativado |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
number
Exemplo
https://api.cvortex.com/v1/users/count?active=true
50
Ativar usuários
Permite ativar um usuário.
Request
POST https://api.cvortex.com/v1/users/{id}/activate
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Identificador do usuário a ser ativado |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo
https://api.cvortex.com/v1/users/3639722f-5dd7-4435-9fd6-ccf71ce2f900/activate
Inativar usuários
Permite inativar um usuário.
Request
POST https://api.cvortex.com/v1/users/{id}/inactivate
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Identificador do usuário a ser inativado |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo
https://api.cvortex.com/v1/users/3639722f-5dd7-4435-9fd6-ccf71ce2f900/inactivate
Buscar conteúdo de e-mail
Permite obter o conteúdo de um e-mail a partir de um ID de histórico de interações.
Request
GET https://api.cvortex.com/v1/message-history/email/{id}/content
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Remover ou não tags HTML do conteúdo |
Não |
|
|
|
ID do histórico de interações |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo
https://api.cvortex.com/v1/message-history/email/3639722f-5dd7-4435-9fd6-ccf71ce2f900/content?exclude-tags=true
{
"content": "Conteúdo do email"
}
Buscar histórico de interações de um caso
Permite obter os histórico de interações de um caso.
Request
GET https://api.cvortex.com/v1/message-history/{hash_case}/filter
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Filtro de canal. Pode ser um dos seguintes valores: EMAIL, SMS, TELEGRAM, WHATSAPP, WEBCHAT, INSTAGRAM, MESSENGER |
Sim |
|
|
|
Número de registros saltados no resultado da página |
Não |
|
|
|
ID do Caso |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo
https://api.cvortex.com/v1/message-history/3639722f-5dd7-4435-9fd6-ccf71ce2f900/filter?channel=WHATSAPP
{
"content":[
{
"messageHistoryId":"123",
"messageType":"TEXT",
"assetId":"123",
"assetAssignee":"123",
"channel":"WHATSAPP",
"hsmTemplateId":"123",
"message":"Hello World!",
"status":"READ",
"digitalId":"3412345678",
"way":"SENT",
"conversationId":"123",
"channelAccountKey":"123",
"error":null,
"errorTitle":null,
"errorCode":null,
"repliedHistoryId":null,
"createdAt":1658928025873,
"messageReceivedDate":1658928025873
}
],
"totalElements":1,
"totalPages":1
}
Buscar anexo de histórico de interações de chat (Whatsapp, Webchat, Telegram, Instagram, Messenger e E-mail)
Permite obter o anexo de um histórico de interações. O endpoint retorna uma lista de URL’s para o download dos arquivos de anexo referentes ao histórico buscado.
Request
GET https://api.cvortex.com/v1/message-history/attachment/{messageHistoryId}
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
ID histórico de interações |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo
https://api.cvortex.com/v1/message-history/attachment/3639722f-5dd7-4435-9fd6-ccf71ce2f900
[
{
"url": "https://storage.googleapis.com/12345/abcdefc"
}
]
Alterar unidade de negócio de um caso
Permite alterar a unidade de negócio (“business unit”) de um caso.
Request
PUT https://api.cvortex.com/v1/case/update-business-unit
Header
Authorization
Parâmetros de URI
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
ID do caso |
Sim |
|
|
|
Tipo de caso da nova unidade de negócio |
Sim |
|
|
|
Status de caso da nova unidade de negócio |
Sim |
|
|
|
Nova unidade de negócio |
Sim |
|
|
|
Origem de caso da nova unidade de negócio |
Não |
|
|
|
Razão de caso (Abertura) da nova unidade de negócio |
Não |
|
|
|
Razão de caso (Fechamento) da nova unidade de negócio |
Não |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo de request
https://api.cvortex.com/v1/cases/update-business-unit
{
"caseId": "123",
"caseType": "123",
"caseStatus": "123",
"businessUnit": "123",
"caseOrigin": "123",
"closingReason": "123",
"openingReason": "123"
}
Exemplo de resposta
https://api.cvortex.com/v1/cases/update-business-unit
{
"id": "123123",
"deleted": false,
"createdAt": 1658928025873,
"updatedAt": 1658928025873,
"active": true,
"createdBy": "default-user",
"updatedBy": "default-user",
"version": "5",
"tenantId": "123"
}
Encontrar Pessoa por Nome, Documento, Contatos
Permite buscar uma pessoa por nome, documento, e contatos.
Request
GET https://api.cvortex.com/v1/person/value?limit=[LIMIT]&value=[VALOR]
Header
Authorization
Parâmetros de query
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Limite de resultados |
Não |
|
|
|
Valor para busca (nome, email, etc) |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo de request
https://api.cvortex.com/v1/person/value?limit=1&value=vitor
Exemplo de resposta
https://api.cvortex.com/v1/person/value?limit=1&value=vitor
[
{
"id": "3e3e58bf-67bb-4de4-8ab7-42644642971e",
"fullName": "vitor-dois",
"easyId": "91",
"active": true,
"createdAt": 1680224990213,
"updatedAt": 1696013284498,
"createdBy": "default-user",
"updatedBy": "d447a00a-53ad-4714-88b3-d81b6632fd19",
"deleted": false,
"contacts": [
{
"id": "fff3580e-0ba0-431c-b944-60f90726ebb4",
"contactType": "MOBILE_PHONE",
"value": "34991131072",
"channelType": "VOICE",
"createdAt": 1680224990398,
"active": true,
"deleted": false
}
]
}
]
Atualizar Status do Caso
Permite atualizar o status de um caso.
Request
PUT https://api.cvortex.com/v1/case/change-status
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Novo status do caso |
Sim |
|
|
|
Filtro para selecionar casos (detalhes abaixo) |
Não |
|
|
|
Campos para ordenação dos resultados (usado com filtro, limite de 1000) |
Não |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo de request
https://api.cvortex.com/v1/case/change-status\
{
"caseStatus": "string",
"filter": {
"dynamicEntityUUID": "string",
"dynamicFilter": {
"entries": [
{
"entityUUID": "string",
"fieldUUID": "string",
"operator": "EQUAL",
"values": [
"string"
]
}
]
},
"dynamicRelationFieldUUID": "string",
"nativeFilter": {
"entries": [
{
"entityUUID": "string",
"fieldUUID": "string",
"operator": "EQUAL",
"values": [
"string"
]
}
]
}
},
"ids": [
"string"
],
"sortFields": [
"string"
]
Exemplo request
https://api.cvortex.com/v1/case/change-status
{
"operation": "BULK_CHANGE_STATUS"
}
Criar Registro em Entidade
Permite criar novos registros em entidades.
Request
POST https://api.cvortex.com/v1/entity
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Nome da entidade |
Não (OU o campo |
|
|
|
UUID da entidade |
Não (OU o campo |
|
|
|
Array de fields da entidade
|
Não |
|
|
|
Nome do campo |
Não (OU o campo |
|
|
|
UUID do campo |
Não (OU o campo |
|
|
|
Valor a ser atribuído ao campo |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo de request
https://api.cvortex.com/v1/entity
{
"entityLabel": "string",
"entityUUID": "string",
"fields": [
{
"fieldLabel": "string",
"fieldUUID": "string",
"value": "string"
}
]
}
Atualizar Registro em Entidade
Permite atualizar registros existentes em entidades.
Request
PUT https://api.cvortex.com/v1/entity
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Nome da entidade (É necessário informar o |
Não |
|
|
|
UUID da entidade (É necessário informar o |
Não |
|
|
|
Array de fields da entidade
|
Não |
|
|
|
Id do objeto que será atualizado |
Sim |
|
|
|
versão do documento do objeto |
Sim |
|
|
|
Nome do campo (É necessário informar o fieldLabel ou fieldUUID) |
Não |
|
|
|
UUID do campo (É necessário informar o fieldLabel ou fieldUUID) |
Não |
|
|
|
Valor a ser atribuído ao campo |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
Exemplo de request
https://api.cvortex.com/v1/entity
{
"fields": [
{
"fieldUUID": "e5b563e341564e73858d1248fc51836b",
"value": "Tim"
},
{
"fieldUUID": "_id",
"value": "11616e9e-2582-4324-a3a6-8c3814e8554e"
},
{
"fieldUUID": "_version",
"value": "1"
}
],
"entityUUID": "d48ebebce7ac487eacdc8157f6514299"
}
Buscar Registros em Entidade
Permite buscar registros em entidades usando filtros. Essa API retornará no máximo 1000 registros filtrados e não possui paginação.
Request
POST https://api.cvortex.com/v1/entity/by-filter
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
Nome da entidade. Pelo menos o entityLabel ou entityUUID devem ser informados. |
Sim |
|
|
|
UUID da entidade. Pelo menos o entityLabel ou entityUUID devem ser informados. |
Não |
|
|
|
Array de fields da entidade que serão filtrados,
|
Sim |
|
|
|
Nome do campo para realizar a busca. Pelo menos o fieldLabel ou o fieldUUID devem ser informado. |
Sim |
|
|
|
ID do campo que pode ser utilizado para fazer a busca. Pelo menos o fieldLabel ou o fieldUUID devem ser informado. |
Não |
|
|
|
Operador de comparação. Os valores podem ser |
Sim |
|
|
|
Valor a ser comparado com para o campo escolhido |
Sim |
Response
|
CODE |
Descrição |
|---|---|
|
|
Operação realizada com sucesso |
|
Campos do response |
Descrição |
|---|---|
|
|
Campo padrão da entidade personalizada. Será o Hash do ultimo usuário que editou o registro. |
|
|
Campo padrão da entidade personalizada. Booleano. |
|
|
Campo padrão da entidade personalizada. Será o Hash do usuário que criou o registro. |
|
|
Campo padrão da entidade personalizada. Datetime |
|
|
Campo padrão da entidade personalizada. Versão do documento. Numero |
|
|
Campo padrão da entidade personalizada. Datetime |
|
Todos os campos criados pelo usuário na entidade. |
O tipo do campo criado pelo usuário na plataforma |
Exemplo de request
https://api.cvortex.com/v1/entity/by-filter
{
"entityLabel": "Entidade",
"entries": [
{
"fieldLabel": "_id",
"operator": "EQUAL",
"value": "93ed7cfe-feb7-489d-80d5-d2ab79bc39a9"
}
]
}
Exemplo de response
[
{
"Updated by": "138a440e-c6c9-45c4-91fd-7d98d735704e",
"Deleted": false,
"Created by": "727cb771-9df0-478b-838e-68e2597939af",
"_id": "93ed7cfe-feb7-489d-80d5-d2ab79bc39a9",
"Updated at": 1747685418482,
"_version": "3",
"Link": "Texto do Campo",
"Created at": 1747684331880
}
]
Enviar mensagens com CTA Whatsapp
Permite enviar uma mensagem do tipo CTA para um caso com canal de whatsapp ativo.
Request
POST https://api.cvortex.com/v1/case/send-message-cta
Header
Authorization
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
ID Hash do atendimento |
Sim |
|
|
|
Texto do corpo da mensagem Máximo de 1.024 caracteres. |
Sim |
|
|
|
Texto do botão CTA Máximo de 20 caracteres. |
Sim |
|
|
|
URL que o cliente será direcionado |
Sim |
|
|
|
Texto do rodapé da mensagem Máximo de 60 caracteres. |
Sim |
|
|
|
Texto do cabeçalho da mensagem Máximo de 60 caracteres. |
Sim |
Exemplo de request
https://api.cvortex.com/v1/case/send-message-cta
{
"assetId": "95b5f027-0ae8-4ac5-88e5-9042b2003bf2",
"body": "Agora, para fazer seu pedido, basta acessar o nosso portal de pedidos através do botão abaixo. Clique para acessar.",
"buttonText": "Acessar Pedidos",
"buttonURL": "https://maps.app.goo.gl/Ce7cKKePdw3RS28N9",
"footer": "",
"header": "Perfeito! Localização confirmada com sucesso"
}
Atualizar dados de um atendimento aberto
Permite atualizar um caso/atendimento que esteja aberto, alterando dados de campos nativos e personalizados do caso.
Request
PUT https://api.cvortex.com/v1/case/{ID_HASH_CASE}
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
ID Hash do tipo de atendimento |
Sim |
|
|
|
ID Hash da unidade de negócio |
Sim |
|
|
|
Versão do documento |
Sim |
|
|
|
Prioridade dada ao atendimento |
Não |
|
|
|
Titulo do atendimento |
Não |
|
|
|
Comentário adicionado ao atendimento |
Não |
Exemplo de request
PUT https://api.cvortex.com/v1/case/58061c35-f316-4ecd-9851-4a32e34ae717
{
"fields": [
{
"fieldLabel": "Version",
"value": "8"
},
{
"fieldLabel": "Case Type",
"value": "88b3d6aa-b98e-48aa-9d18-ad44e45fea3e"
},
{
"fieldLabel": "Business Unit",
"value": "083f959b-28a5-4df3-91df-9d891109aa63"
},
{
"fieldLabel": "Comment",
"value": "Teste"
}
],
"details": [
{
"fieldLabel": "Agente",
"value": "agente_api7@hotmail.com"
}
]
}
Atualizar campos de texto de casos fechados
Permite atualizar os campos de texto dos atendimentos que já foram finalizados.
Campos que podem ser atualizados:
-
Subject
-
Description
-
Comment
-
External ID
Request
PUT https://api.cvortex.com/v1/case/{CASE_ID}/update-field
Parâmetros de body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
ID Hash do tipo de atendimento |
Não |
|
|
|
ID Hash da unidade de negócio |
Não |
|
|
|
Versão do documento |
Não |
|
|
|
Prioridade dada ao atendimento |
Não |
Exemplo de request
PUT https://api.cvortex.com/v1/case/9956/update-field
{
"comment": "string",
"description": "string",
"externalId": "string",
"subject": "string"
}
Exemplo de response
{
"id": "c7840ee7-eef7-4007-9690-d6d932faeeae",
"createdAt": 1749234608153,
"updatedAt": 1749832715223,
"active": true,
"createdBy": "default-user",
"updatedBy": "a866f316-1248-43de-b252-016bef245061",
"version": "2"
}
Atualizar Template de WhatsApp
Permite atualizar as configurações de um template de WhatsApp, como categorias, templates de fallback e validações.
Request
PUT https://api.cvortex.com/v1/whatsapp/templates
Parâmetros de Header
|
Campo |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
Authorization |
string |
Token de autorização para acesso à API. |
Sim |
Parâmetros de Body
|
Campo |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
desiredCategory |
string |
Categoria desejada para o template. |
Sim |
|
fallbackTemplate |
string |
Nome ou identificador do template de reserva (fallback). |
Sim |
|
isFallbackTemplate |
boolean |
Define se este template é um template de fallback. |
Sim |
|
language |
string |
Código do idioma do template (ex: pt_BR). |
Sim |
|
providerAccountId |
string |
Identificador da conta no provedor. |
Sim |
|
removeFallbackTemplate |
boolean |
Se verdadeiro, remove o template de fallback associado. |
Sim |
|
templateId |
string |
Identificador único do template. |
Sim |
|
validateDesiredCategory |
boolean |
Se verdadeiro, valida a categoria selecionada. |
Sim |
Exemplo
{
"desiredCategory": "string",
"fallbackTemplate": "string",
"isFallbackTemplate": true,
"language": "string",
"providerAccountId": "string",
"removeFallbackTemplate": true,
"templateId": "string",
"validateDesiredCategory": true
}
Responses
-
200 OK: Sucesso na atualização. Retorna o objeto do template atualizado com detalhes de auditoria (
createdAt,updatedAt) e status de sincronização.
{
"active": true,
"businessUnit": "string",
"category": "string",
"createdAt": 0,
"createdBy": "string",
"deleted": true,
"desiredCategory": "string",
"fallbackTemplate": "string",
"id": "string",
"isFallbackTemplate": true,
"language": "string",
"namespace": "string",
"newCategory": "string",
"phone": "string",
"providerAccount": "string",
"score": "string",
"status": "string",
"syncWitMeta": true,
"templateId": "string",
"templatePreview": "string",
"templateType": "string",
"tenantId": "string",
"updatedAt": 0,
"updatedBy": "string",
"updatedCategory": true,
"updatedCategoryAt": 0,
"validateDesiredCategory": true,
"version": "string"
}
-
201 Created: Recurso criado com sucesso.
-
401 Unauthorized: Token de autorização ausente ou inválido.
-
403 Forbidden: Sem permissão para acessar este recurso.
-
404 Not Found: Template não encontrado.
Consultar Templates de WhatsApp por Exemplo
Permite buscar e filtrar templates de WhatsApp existentes utilizando diversos critérios como categoria, status, idioma e unidade de negócio.
Request
GET https://api.cvortex.com/v1/whatsapp/templates/search?
|
Campo |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
Authorization |
string |
(Header) Token de autorização para acesso à API. |
Sim |
|
businessUnit |
string |
Identificador da unidade de negócio. |
Não |
|
category |
string |
Categoria atual do template (ex: MARKETING). |
Não |
|
desiredCategory |
string |
Categoria desejada para o template. |
Não |
|
status |
string |
Status do template (ex: APPROVED). |
Não |
|
language |
string |
Código do idioma (ex: pt_BR). |
Não |
|
phone |
string |
Número de telefone associado. |
Não |
|
limit |
integer |
Limite de resultados por página. |
Não |
Exemplo
GET GET https://api.cvortex.com/v1/whatsapp/templates/search?businessUnit=c81a4adb-7dee-4cc4-b24c-008de39e949a&category=MARKETING&desiredCategory=UTILITY&fallbackTemplate=1512a78d-dc32-4eb2-80b2-039bb577d01f&isFallbackTemplate=false&hasFallbackTemplate=true&language=pt_BR&namespace=ede088be_723f_4247_919a_dff5b910367b&phone=551153300142&providerAccountId=b66c6352-b582-4ca1-b53d-05bf0a980bf7&status=APPROVED&templateId=cvortexwebhook&validateDesiredCategory=true&updatedCategory=false&limit=300
Responses
[
{
"active": true,
"businessUnit": "string",
"category": "string",
"createdAt": 0,
"createdBy": "string",
"deleted": true,
"desiredCategory": "string",
"fallbackTemplate": "string",
"id": "string",
"isFallbackTemplate": true,
"language": "string",
"namespace": "string",
"newCategory": "string",
"phone": "string",
"providerAccount": "string",
"score": "string",
"status": "string",
"syncWitMeta": true,
"templateId": "string",
"templatePreview": "string",
"templateType": "string",
"tenantId": "string",
"updatedAt": 0,
"updatedBy": "string",
"updatedCategory": true,
"updatedCategoryAt": 0,
"validateDesiredCategory": true,
"version": "string"
}
]
Inserir Tag do caso no assunto de e-mails
Permite adicionar a tag do caso no assunto de e-mails recebidos, garantindo que respostas e encaminhamentos de e-mails do cliente voltem para o mesmo caso que iniciou a conversa.
Request
POST https://api.cvortex.com/v1/email/{messageHistoryId}/add-case-tag
Parâmetros de body
N.A.
Exemplo de request
POST https://api.cvortex.com/v1/email/db2d5ff1-af3d-4523-b16b-de4b3d2de15b/add-case-tag
{
}
Listar os áudios de ligações realizadas para um atendimento
Permitir recuperar a lista de ligações realizadas poara um atendimento
Request
GET https://api.cvortex.com/v1/case/{caseId}/voice-records
Parametros de Body
N.A.
Exemplo de request
GET https://api.cvortex.com/v1/case/dfb286c0-7958-4399-b918-e0d3587f0f90/voice-records
Response
[
{
"messageHistoryId": "50bbaf9a-7032-4c1e-baba-ed54d201ce60",
"way": "SENT",
"channel": "VOICE",
"duration": 41,
"callDate": 1757436031000
}
]
Baixar áudio de uma ligação
Permite recuperar o link de download do áudio de uma ligação.
Request
https://api.cvortex.com/v1/voice-records/{recordId}
Parametros de Body
N.A.
Exemplo de request
Aqui é necessário enviar o messageHistoryId recuperado na API API | Listar os áudios de ligações realizadas para um atendimento
GET https://api.cvortex.com/v1/voice-records/50bbaf9a-7032-4c1e-baba-ed54d201ce60
Response
O retorno é a URL de download do áudio.
[
{
"attachmentUrl": "https://storage.googleapis.com/63bcaa4657cf0ewe7c0dcb8c51_recordings/db93f47e-0aad-47cd-b96e-4a5a1efcd269?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=obj-store-api-saas-svc%40cvortex-saas.iam.gserviceaccount.com%2F20250911%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20250911T125117Z&X-Goog-Expires=300&X-Goog-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D%2Frecords%2Fvoice%2F63bcaa4657cf0e7c0dcb8c51%2FoutboundCall%2F20250909%2Frec_outboundCall_1757436031.5169_20250909_134031_418_C1.000000.WAV&X-Goog-Signature=15163801ef3e0e65f77ce2dd73926369bd3713399e3fc6db758ed1984b737e412e5ab7b48199a9018373e2f535f5546eff8e26808fe690b1d3fe1130579c91bccc3cd43604b8f205dab4ca24e96a23af366b0a680b20fe85ad966b1702ea60bbfc5cc32142eaebfb20745c6bba04167d1582a0f2a426b77fa2f629dd530175ef9f30566307ad633db56bebc8004c25cbab2e758afe80964578e66cbeedb0a3b454a2e631d5705833ed0150dd9a4c8c0f9c8088bb2a231b44c2898f1c87a99cda57c0848c34514339e58426eb2c3a11207c3ad129cb44d9091cee794acf630d72fb3917a13793caf47c8061431de827895ef72dcdb8986d0e830e19adb36a1ce4"
}
]
Reabrir um atendimento
É possível reabrir atendimentos diretamente via API, garantindo que nenhum atendimento fique sem o acompanhamento necessário.
Request
POST https://api.cvortex.com/v1/case/reopen
Parâmetros de Body
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
ID Hash do caso |
Não (OU o campo caseID deve ser informado ou o campo easyId deve ser informado |
|
|
|
ID simplificado do caso |
Não (OU o campo caseID deve ser informado ou o campo easyId deve ser informado |
|
|
|
ID Hash da Status Inicial do Caso |
Sim |
Exemplos de request
POST https://api.cvortex.com/v1/case/reopen
{
"easyId": 3258,
"statusToReopenCase": "f6438d40-a58e-4338-95a8-d30ee5e9a7b8"
}
Response
204 No Content
Recuperar estado de uma fila de atendimento
Permite ao usuário entender como está uma regra de distribuição e tomar decisões para priorização e reclassificação do caso.
Request
GET https://api.cvortex.com/v1/dashboard/resume?distributionRuleId={ID}
Parâmetros do Request
|
Nome |
Tipo |
Descrição |
Obrigatório |
|---|---|---|---|
|
|
|
ID Hash da regra |
Não (OU o campo |
|
|
|
Nome da regra |
Não (OU o campo |
Exemplo de Request
GET https://api.cvortex.com/v1/dashboard/resume?distributionRuleId=818588c8-8edb-4038-b311-a4c5a99b4e55
Response
{
"agentsAvailable": 0,
"agentsAvailableVoice": 0,
"agentsNotReady": 0,
"agentsBusy": 1,
"agentsBusyVoice": 0,
"agentsTalking": 0,
"inAttendanceVoice": 0,
"inQueueVoice": 0,
"inAttendanceChat": 0,
"inQueueChat": 1
}
Enviar Mensagem no canal de chat ativo (Texto)
Envia uma mensagem de texto para o canal de chat ativo no caso. O canal de chat ativo por ultimo ou que recebeu a ultima mensagem será o escolhido para o envio da mensagem. Os canais de chat possíveis são: (WhatsApp, Webchat, Instagram, Messenger e Telegram), desde que o caseId esteja ativo.
Request
POST https://api.cvortex.com/v1/message/chat/send
Parâmetros de Body
|
Campo |
Type |
Value |
Obrigatório |
Content-Type |
Descrição |
|
|
|
{“message“: ““,
|
Sim |
application/json |
message: Conteúdo da mensagem de texto.
caseId: Identificador do caso (atendimento).
fileUrl: URL de uma imagem ou arquivo que será enviado ao contato. Somente pode ser enviado um arquivo, seja a URL ou o file no campo abaixo. |
|
file |
file |
Object |
Não |
Auto |
Arquivo que será enviado junto com a mensagem. Pode ser jpg, pdf, doc, docx. |
Exemplo
POST https://api.cvortex.com/v1/message/chat/send
curl --location 'https://api.cvortex.com/v1/message/chat/send' \
--header 'Authorization: ••••••' \
--form 'payload="{\"message\": \"Olá tudo bem\!\",
\"caseId\": \"3273\"}";type=application/json'
Exemplo de Resposta:
{
"identifier": "e887f7f1-3cdd-4b01-bc3a-5421d29d153a"
}
Enviar HSM Whatsapp (Template Social)
Envia um Highly Structured Message (Template), usado no WhatsApp, para iniciar conversas fora da janela de 24 horas.
Request
POST https://api.cvortex.com/v1/message/chat/hsm/send
Parâmetros de Body
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
|
✅ |
Identificador do caso (atendimento). |
|
|
|
✅ |
ID do template pré-aprovado. |
|
|
|
✅ |
Número do destinatário (e.g., |
|
|
|
✅ |
Namespace do provedor do template. |
|
|
|
✅ |
Identificador da conta do provedor (e.g., Twilio, Meta). |
|
|
|
❌ |
Argumentos variáveis para preencher o template. |
Exemplo
POST https://api.cvortex.com/v1/message/chat/hsm/send
{
"caseId": "123",
"templateId": "welcome_tpl",
"to": "+5511999999999",
"templateNamespace": "namespace_example",
"providerAccountKeyId": "prov-1",
"templateArgs": ["Brunno", "Suporte XPTO"]
}'
Enviar E-mail com Anexos
Envia um e-mail com ou sem anexos. O campo subject é obrigatório.
Request
POST https://api.cvortex.com/v1/message/email/send
Parâmetros de Body
|
Campo |
Type |
Value |
Obrigatório |
Content-Type |
Descrição |
|
|
|
|
Sim |
application/json |
message: Conteúdo da mensagem de texto.
caseId: Identificador do caso (atendimento).
subject: Assunto do e-mail
providerAccountKeyId: ID da caixa que será utilizada para envio do e-mail
to: pessoas que vão receber o e-mail
|
|
attachments |
file |
Object |
Não |
Auto |
Arquivo que será enviado junto com a mensagem. Pode ser jpg, pdf, doc, docx. |
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
|
✅ |
Identificador do caso (atendimento). |
|
|
|
✅ |
Corpo do e-mail (HTML ou texto). |
|
|
|
✅ |
Assunto do e-mail. |
|
|
|
✅ |
Conta do provedor de e-mail a ser utilizada. |
|
|
|
✅ |
Lista de destinatários. |
|
|
|
❌ |
ID da conversa (para respostas em threads). |
|
|
|
❌ |
ID digital para rastreamento (opcional). |
Exemplo
POST https://api.cvortex.com/v1/message/email/send
{"message":"Olá",
"subject":"Teste",
"providerAccountKeyId":"mail-01",
"to":["teste@dominio.com"],
"caseId":"55"}
Enviar SMS
Envia uma mensagem de texto simples (SMS) para um número de telefone.
Request
POST https://api.cvortex.com/v1/message/sms/send
Parâmetros de Body
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
|
✅ |
Conta do provedor de SMS. |
|
|
|
✅ |
Número do destinatário (e.g., |
|
|
|
✅ |
Conteúdo da mensagem. |
|
|
|
✅ |
Identificador do caso (atendimento). |
Exemplo
POST https://api.cvortex.com/v1/message/sms/send
{
"providerAccountKeyId": "sms-provider",
"to": "+5511988887777",
"message": "Seu atendimento foi atualizado.",
"caseId": "789"
}
Exemplo de Resposta:
{
"status": "SUCCESS",
"messageId": "a1b2c3d4",
"details": "Message queued successfully"
}
Enviar sinalização digitando para canal Whatsapp
Permite enviar a sinalização de lido e que está digitando uma resposta ao cliente.
Observação: O envio do flag digitando está habilitado apenas para Whatsapp utilizando o 360Dialog.
Request
POST https://api.cvortex.com/v1/message/chat/read
Parâmetros de Body
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
|
✅ |
Id da messageHistory que foi recebida de um cliente. |
|
|
|
✅ |
Booleano true ou false. True irá sinalizar que a mensagem está sendo digitada. |
Exemplo
POST https://api.cvortex.com/v1/message/chat/read
{
"messageId": "87d3dd5c-2c8e-4212-b2ba-5380c585fdea",
"sendTyping": true
}
Permite a junção de duas pessoas na plataforma
Ao executar essa API a pessoa de destino receberá todos os atendimentos e contatos da pessoa que está sendo juntada. A pessoa juntada será excluída após o processo e ele não pode ser desfeito.
Request
POST https://api.cvortex.com/v1/person/merge/{personId}/{personIdToMerge}
"personId" (id da pessoa que vai ficar ativa)
"personIdToMerge" (id da pessoa que vai ser mergeada na de cima)
Exemplo
POST https://api.cvortex.com/v1/person/merge/e887f7f1-3cdd-4b01-bc3a-5421d23d153s/e887f7f1-3cdd-4b01-bc3a-5421d29d153a
Solicitar localização para o cliente no canal Whatsapp
Envia para um atendimento a mensagem de solicitação de localização para o cliente.
Request
POST https://api.cvortex.com/v1/message/chat/send
Parâmetros de Body
|
Campo |
Type |
Value |
Obrigatório |
Content-Type |
Descrição |
|
|
|
{“message“: ““,
|
Sim |
application/json |
message: Conteúdo da mensagem de texto. caseId: Identificador do caso (atendimento). messageType: LOCATION_REQUEST Tipo que indica o envio de mensagem de solicitação de localização |
Exemplo
POST https://api.cvortex.com/v1/message/chat/send
curl --location 'https://api.cvortex.com/v1/message/chat/send' \
--header 'Authorization: ••••••' \
--form 'payload="{
\"message\": \"Olá Me envvia sua localização por favor.\",
\"caseId\": \"3305\",
\"messageType\": \"LOCATION_REQUEST\"
}";type=application/json'
Enviar mensagem de Botões para canal Whatsapp
Envia para um atendimento a mensagem de solicitação de localização para o cliente.
Request
POST https://api.cvortex.com/v1/message/chat/send
Parâmetros de Body
|
Campo |
Type |
Value |
Obrigatório |
Content-Type |
Descrição |
|
|
|
{“message“: ““,
|
Sim |
application/json |
message: Conteúdo da mensagem de texto. caseId: Identificador do caso (atendimento). Podem ser enviados os campos “action”:[] Lista de opções que podem ser enviadas para o cliente. Existe um limite de 10 botões. Exemplo de um item:
|
Exemplo
POST https://api.cvortex.com/v1/message/chat/send
curl --location 'https://api.cvortex.com/v1/message/chat/send' \
--header 'Authorization: ••••••' \
--form 'payload="{
\"message\": \"Outra imagem\",
\"caseId\": \"3305\",
\"actions\": [
{
\"payload\": \"opção 1\",
\"text\": \"opção 1\",
\"type\": \"reply\",
\"description\": \"Descrição 1\"
},
{
\"payload\": \"opção 2\",
\"text\": \"opção 2\",
\"type\": \"reply\",
\"description\": \"Descrição 2\"
},
{
\"payload\": \"opção 3\",
\"text\": \"opção 3\",
\"type\": \"reply\",
\"description\": \"Descrição 3\"
},
{
\"payload\": \"opção 4\",
\"text\": \"opção 4\",
\"type\": \"reply\",
\"description\": \"Descrição 4\"
}
]
}";type=application/json'
Enviar mensagem de Botões Interativos para canal Whatsapp
Envia para um atendimento a mensagem de solicitação de localização para o cliente.
Request
POST https://api.cvortex.com/v1/message/chat/send
Parâmetros de Body
|
Campo |
Type |
Value |
Obrigatório |
Content-Type |
Descrição |
|
|
|
{“message“: ““,
|
Sim |
application/json |
message: Conteúdo da mensagem de texto.
caseId: Identificador do caso (atendimento).
fileUrl: URL de uma imagem ou arquivo que será enviado ao contato. Somente pode ser enviado um arquivo, seja a URL ou o file no campo abaixo. Podem ser enviados os campos “action”:[] Lista de opções que podem ser enviadas para o cliente. Existe um limite de 3 botões. Exemplo de um item:
|
Exemplo
POST https://api.cvortex.com/v1/message/chat/send
curl --location 'https://api.cvortex.com/v1/message/chat/send' \
--header 'Authorization: ••••••' \
--form 'payload="{
\"message\": \"Outra imagem\",
\"caseId\": \"3305\",
\"fileUrl\":\"https://images.tmp.com.br/products/tmpImg68d02d7d-3292-4c22-8243-15136477b098.png\",
\"actions\": [
{
\"payload\": \"opção 1\",
\"text\": \"opção 1\",
\"type\": \"reply\",
\"description\": \"Descrição 1\"
},
{
\"payload\": \"opção 2\",
\"text\": \"opção 2\",
\"type\": \"reply\",
\"description\": \"Descrição 2\"
}
]
}";type=application/json'
Unificar Atendimentos
Essa API permite que o usuário unifique dois casos em um.
Request
POST https://api.cvortex.com/v1/case/unify
Parâmetros de Body
|
Campo |
Type |
Value |
Obrigatório |
Descrição |
|
|
|
|
Sim |
ID Hash do atendimento que receberá os dados da unificação |
|
|
|
|
Sim |
ID Hash dos atendimentos que serão unificados |
Exemplo
POST https://api.cvortex.com/v1/case/unify
{
"destinationCase": "123-abc",
"casesToUnify": [
"456-abc",
"789-def"
]
}
Resposta
{
"result": [
{
"id": "123-abc",
"caseId": 25,
"unified": true,
"unifiable": true,
"notUnifiedReason": null
}
]
}