Skip to main content
Skip table of contents

API cVortex

Sobre a 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:

CODE
POST https://api.cvortex.com/v1/auth/

Informe os seguintes parâmetros de requisição:

JSON
{
  "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.

CODE
Authorization: Bearer <token>

Content-Type

O content-type tanto de requisições quanto de respostas será: “application/json”


Buscar uma pessoa

Permite buscar uma pessoa pelo seu nome e documento.

Request

CODE
GET https://api.cvortex.com/v1/person

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

document

Documento completo da pessoa

🚫Não

eqFullName

Nome completo da pessoa (exato)

🚫Não

fullName

Parte do nome da pessoa (busca parcial)

🚫Não

email

E-mail da pessoa

🚫Não

jobTitle

Cargo da pessoa

🚫Não

Response

JSON
[
{
"document": "string",
"easyId": "string",
"email": "string",
"jobTitle": "string",
"fullName": "string",
"id": "string"
}
]

Contar pessoas

Permite contar a quantidade de pessoas conforme os filtros informados.

Request

CODE
GET https://api.cvortex.com/v1/person/co

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

document

Documento completo da pessoa

🚫Não

eqFullName

Nome completo da pessoa (exato)

🚫Não

fullName

Parte do nome da pessoa (busca parcial)

🚫Não

email

E-mail da pessoa

🚫Não

jobTitle

Cargo da pessoa

🚫Não

Response

CODE
number

Buscar caso por ID

Permite buscar um caso pelo seu ID único.

Request

CODE
GET https://api.cvortex.com/v1/case/{id}

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

id

ID único do caso

✅ Sim

Response

JSON
{
   "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

CODE
GET https://api.cvortex.com/v1/case/business/{id}

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

id

ID de negócio do caso

✅ Sim

Response

JSON
{
   "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

Permite buscar casos através dos parâmetros usados como filtro.

Request

CODE
GET https://api.cvortex.com/v1/cases/search

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

businessUnitId

hash

Unidade de negócio

✅ Sim

externalId

string

Identificador externo

🚫 Não

caseStatusNames

array

Nome do status do caso

🚫 Não

caseTypeNames

array

Nome do tipo do caso

🚫 Não

queueNames

array

Nome da lista de caso

🚫 Não

contact

string

Contato da pessoa solicitante do caso

🚫 Não

personRequesterName

string

Nome da pessoa solicitante do caso

🚫 Não

personRequesterEasyId

number

Identificador da pessoa solicitante do caso

🚫 Não

currentAssigneeName

string

Nome do agente atribuído ao caso

🚫 Não

period

string

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

createdDateStart

string

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: 

  • dd/mm/aaaa hh:mm tenant pt_BR 

  • mm/dd/aaaa hh:mm tenant en_US

🚫 Não

createdDateEnd

string

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: 

  • dd/mm/aaaa hh:mm tenant pt_BR 

  • mm/dd/aaaa hh:mm tenant en_US

🚫 Não

limit

number

Quantidade de registro por página. O valor máximo permitido é 25.

🚫 Não

offset

number

Número de registros saltados no resultado da página

🚫 Não

Response

JSON
[
{
  "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
CODE
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
JSON
[
  {
    "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

CODE
GET https://api.cvortex.com/v1/cases/count

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

businessUnitId

hash

Unidade de negócio

✅ Sim

caseStatusNames

array

Nome do status do caso

🚫 Não

caseTypeNames

array

Nome do tipo do caso

🚫 Não

queueNames

array

Nome da lista de caso

🚫 Não

contact

string

Contato da pessoa solicitante do caso

🚫 Não

personRequesterName

string

Nome da pessoa solicitante do caso

🚫 Não

personRequesterEasyId

number

Identificador da pessoa solicitante do caso

🚫 Não

currentAssigneeName

string

Nome do agente atribuído ao caso

🚫 Não

period

string

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

createdDateStart

string

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: 

  • dd/mm/aaaa hh:mm tenant pt_BR 

  • mm/dd/aaaa hh:mm tenant en_US

🚫 Não

createdDateEnd

string

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: 

  • dd/mm/aaaa hh:mm tenant pt_BR 

  • mm/dd/aaaa hh:mm tenant en_US

🚫 Não

Response

NONE
number

Exemplo
CODE
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
NONE
40324

Buscar formulário de caso por ID

Permite buscar o formulário de criação de caso pelo seu ID único.

Request

CODE
GET https://api.cvortex.com/v1/case-forms/{id}

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

id

ID do formulário caso

✅ Sim

Response

JSON
{
   "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

Permite criar um caso a partir do formulário.

Request

CODE
POST https://api.cvortex.com/v1/case/forms/{id}

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

id

ID do formulário caso

✅ Sim

Observações.:

  • Os campos personRequesterFullName, personRequesterEmail e personRequesterDocument da request devem ser enviados quando o campo personRequesterId não estiver presente na lista de dynmicFields, ou seja, se você ainda não tem o cliente identificado no momento de criação do caso utilize o campo personRequesterFullName e uma nova pessoa será criada junto ao caso, agora se você já conhece o cliente no momento de criação do caso utilize o _id da própria pessoa dentro do campo personRequesterId.

  • O campo priority que deve ser enviado na lista de dynamicFields, 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
JSON
{
   "personRequesterFullName":{
      "type":"string"
   },
   "personRequesterEmail":{
      "type":"string"
   },
   "personRequesterDocument":{
      "type":"string"
   },
   "dynamicFields":[
      {
         "entityUUID":{
            "type":"string"
         },
         "fieldUUID":{
            "type":"string"
         },
         "value":{
            "type":"string"
         }
      }
   ]
}

Response

JSON
{
   "id":{
      "type":"string"
   },
   "caseId":{
      "type":"string"
   }
}

Exemplo de utilização criando uma nova pessoa a cada requisição
JSON
{
   "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
JSON
{
   "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"
      }
   ]
}

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

CODE
GET https://api.cvortex.com/v1/workflow-executions/actions/{statusId}/{caseTypeId}

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

StatusId

ID da statusFunction, correspondente a propriedade no flow status_status_property

✅ Sim

CaseTypeId

ID do tipo do caso, correspondente a propriedade no flow imperative_start_case_type_property

✅ Sim

Response

JSON
[
{
   "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

CODE
POST https://api.cvortex.com/v1/workflow-executions

Header
CODE
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
JSON
{
   "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

JSON
{
   "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

CODE
GET https://api.cvortex.com/v1/questionnaire/questionnaire-answer

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

case-id

ID correspondente ao caso

🚫 Não

action-id

ID correspondente a ação do caso

🚫 Não

Response

JSON
[
   {
      "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

CODE
POST https://api.cvortex.com/v1/case/{caseId}/attachment

Header
CODE
Authorization

Parâmetros de URI

Parâmetro

Descrição

Obrigatório

case-id

ID correspondente ao caso

🚫 Não

Lista de erros possíveis:

Erro

Descrição

Falha ao carregar arquivo

Houve uma falha ao carregar o arquivo enviado, tente novamente

Tamanho de arquivo não suportado

O tamanho limite de cada arquivo deve ser 16MB

Tipo de arquivo não suportado

O tipo de arquivo enviado não é suportado, segue abaixo tabela de tipos aceitos

Falha ao armazenar arquivo

Houve uma falha ao tentar armazenar o arquivo em nossa base, tente novamente

Falha ao anexar o arquivo ao caso

Houve uma falha ao tentar anexar o arquivo ao caso, tente novamente

Lista de arquivos suportados:

Tipo do Arquivo

content-type

PDF

application/pdf

DOC

application/msword

application/vnd.openxmlformats-officedocument.wordprocessingml.document

TXT

text/plain

XLS

application/vnd.ms-excel

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

MP4

video/mp4

AVI

video/x-msvideo

WMV

video/x-msvideo

MOV

video/quicktime

JPEG

image/jpeg

PNG

image/png

GIF

image/gif

BMP

image/bmp

WEBP

image/webp


Body
NONE
Requisição do tipo: form-data
Content-Type: multipart/form-data;
Parâmetro: files[] do tipo arquivo

Response

JSON
{
   "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

CODE
GET https://api.cvortex.com/v1/users/search

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

active

boolean

Usuário ativo

🚫 Não

limit

number

Quantidade de registro por página. O valor máximo permitido é 100.

🚫 Não

offset

number

Número de registros saltados no resultado da página

🚫 Não

sort-fields

text

Campo usado para ordenação, no seguinte formato <nome do campo>:ASC|DESC.
Exemplo: username:ASC

🚫 Não

Response

CODE

Descrição

200

Operação realizada com sucesso

JSON
[
{
   "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
JSON
https://api.cvortex.com/v1/users/search?active=true&limit=5&sort-fields=username:ASC
CODE
[
  {
    "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

CODE
GET https://api.cvortex.com/v1/users/count

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

active

text

Identificador do usuário a ser ativado

✅ Sim

Response

CODE

Descrição

200

Operação realizada com sucesso

NONE
number

Exemplo
NONE
https://api.cvortex.com/v1/users/count?active=true
CODE
50

Ativar usuários

Permite ativar um usuário.

Request

CODE
POST https://api.cvortex.com/v1/users/{id}/activate

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

id

boolean

Identificador do usuário a ser ativado

🚫 Não

Response

CODE

Descrição

200

Operação realizada com sucesso

Exemplo
NONE
https://api.cvortex.com/v1/users/3639722f-5dd7-4435-9fd6-ccf71ce2f900/activate

Inativar usuários

Permite inativar um usuário.

Request

CODE
POST https://api.cvortex.com/v1/users/{id}/inactivate

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

id

boolean

Identificador do usuário a ser inativado

🚫 Não

Response

CODE

Descrição

200

Operação realizada com sucesso

Exemplo
JSON
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

CODE
GET https://api.cvortex.com/v1/message-history/email/{id}/content

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

exclude-tags

boolean

Remover ou não tags HTML do conteúdo

🚫 Não

id

hash

ID do histórico de interações

✅ Sim

Response

CODE

Descrição

200

Operação realizada com sucesso

Exemplo
NONE
https://api.cvortex.com/v1/message-history/email/3639722f-5dd7-4435-9fd6-ccf71ce2f900/content?exclude-tags=true
JSON
{
  "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

CODE
GET https://api.cvortex.com/v1/message-history/{hash_case}/filter

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

channel

text

Filtro de canal. Pode ser um dos seguintes valores: EMAIL, SMS, TELEGRAM, WHATSAPP, WEBCHAT, INSTAGRAM, MESSENGER

✅ Sim

offset

number

Número de registros saltados no resultado da página

🚫 Não

hash_case _id

hash

ID do Caso

✅ Sim

Response

CODE

Descrição

200

Operação realizada com sucesso

Exemplo
NONE
https://api.cvortex.com/v1/message-history/3639722f-5dd7-4435-9fd6-ccf71ce2f900/filter?channel=WHATSAPP
JSON
{
   "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

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

CODE
GET https://api.cvortex.com/v1/message-history/attachment/{messageHistoryId}

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

messageHistoryId

hash

ID histórico de interações

✅ Sim

Response

CODE

Descrição

200

Operação realizada com sucesso

Exemplo
NONE
https://api.cvortex.com/v1/message-history/attachment/3639722f-5dd7-4435-9fd6-ccf71ce2f900
JSON
[
  {
    "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

CODE
GET https://api.cvortex.com/v1/case/update-business-unit

Header
CODE
Authorization

Parâmetros de URI

Nome

Tipo

Descrição

Obrigatório

caseId

hash

ID do caso

✅ Sim

caseType

hash

Tipo de caso da nova unidade de negócio

✅ Sim

caseStatus

hash

Status de caso da nova unidade de negócio

✅ Sim

businessUnit

hash

Nova unidade de negócio

✅ Sim

caseOrigin

hash

Origem de caso da nova unidade de negócio

🚫 Não

openingReason

hash

Razão de caso (Abertura) da nova unidade de negócio

🚫 Não

closingReason

hash

Razão de caso (Fechamento) da nova unidade de negócio

🚫 Não

Response

CODE

Descrição

200

Operação realizada com sucesso

Exemplo de request
NONE
https://api.cvortex.com/v1/cases/update-business-unit
JSON
{
  "caseId": "123",
  "caseType": "123",
  "caseStatus": "123",
  "businessUnit": "123",
  "caseOrigin": "123",
  "closingReason": "123",
  "openingReason": "123"
}
Exemplo de resposta
NONE
https://api.cvortex.com/v1/cases/update-business-unit
JSON
{
  "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

CODE
GET https://api.cvortex.com/v1/person/value?limit=[LIMIT]&value=[VALOR]

Header
CODE
Authorization

Parâmetros de query

Nome

Tipo

Descrição

Obrigatório

limit

inteiro

Limite de resultados

🚫 Não

value

string

Valor para busca (nome, email, etc)

✅ Sim

Response

CODE

Descrição

200

Operação realizada com sucesso

Exemplo de request
JSON
https://api.cvortex.com/v1/person/value?limit=1&value=vitor

Exemplo de resposta
NONE
https://api.cvortex.com/v1/person/value?limit=1&value=vitor
JSON
[
  {
    "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

CODE
PUT https://api.cvortex.com/v1/case/change-status

Header
CODE
Authorization

Parâmetros de body

Nome

Tipo

Descrição

Obrigatório

caseStatus

hash

Novo status do caso

✅ Sim

filter

objeto

Filtro para selecionar casos (detalhes abaixo)

🚫 Não

sortFields

lista

Campos para ordenação dos resultados (usado com filtro, limite de 1000)

🚫 Não

Response

CODE

Descrição

200

Operação realizada com sucesso

Exemplo de request
JSON
https://api.cvortex.com/v1/case/change-status\
JSON
{
  "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
JSON
https://api.cvortex.com/v1/case/change-status
JSON
{
  "operation": "BULK_CHANGE_STATUS"
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.