API
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:
Dados 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”
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"
}
]
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
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
{
"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
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 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.io/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/{caseId}/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)
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 | Sim |
|
| Texto do botão CTA | Sim |
|
| URL que o cliente será direcionado | Sim |
|
| Texto do rodapé da mensagem | Sim |
|
| Texto do cabeçalho da mensagem | 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"
}

<p>Exemplo de mensagem CTA Whatsapp</p>
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"
}
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). |
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"
}