Pular para o conteúdo principal
POST
/
v1
/
metrics
/
conversations
/
attended
/
external
Get Advisor Conversations
curl --request POST \
  --url https://api.jelou.ai/v1/metrics/conversations/attended/external \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "startAt": "2023-11-07T05:31:56Z",
  "endAt": "2023-11-07T05:31:56Z",
  "getJson": true
}
'
{
  "message": [
    "<string>"
  ],
  "status": "<string>",
  "results": [
    {
      "_id": "<string>",
      "operator": {
        "names": "<string>"
      },
      "user": {
        "id": "<string>"
      },
      "bot": {
        "name": "<string>"
      },
      "company": {
        "id": "<string>"
      },
      "assignationMethod": {
        "teamName": "<string>"
      },
      "state": "active",
      "endedReason": "<string>",
      "startAt": "<string>",
      "endAt": "<string>",
      "origin": "<string>",
      "timeRepliedOperator": 123,
      "conversationDuration": 123
    }
  ],
  "pagination": {
    "limit": 123,
    "page": 123,
    "total": 123,
    "offset": 123,
    "totalPages": 123
  },
  "links": [
    {}
  ]
}
Recupere conversas atendidas por um agente humano para analisar tempos de resposta, estados de encerramento e atribuições. Você recebe metadados sobre operadores, usuários e bots envolvidos dentro de um intervalo de datas definido.

Endpoint

POST https://api.jelou.ai/v1/metrics/conversations/attended/external

Autenticação

CampoLocalizaçãoTipoObrigatórioDescrição
AuthorizationHeaderstringSimCredenciais no formato clientId:clientSecret.

Parâmetros de Query

CampoLocalizaçãoTipoObrigatórioValor padrãoDescrição
limitQueryintegerNão10Número máximo de conversas por página.
pageQueryintegerNão1Número da página para paginação.

Corpo da Requisição

CampoTipoObrigatórioDescrição
startAtstringSimData de início do intervalo no formato ISO 8601. Exemplo: 2025-01-01T00:00:00-05:00
endAtstringSimData de término do intervalo no formato ISO 8601. Exemplo: 2025-01-01T23:59:59-05:00
getJsonbooleanSimDeve ser true para receber a resposta em formato JSON.
Use janelas de tempo delimitadas para otimizar a consulta e evitar intervalos muito amplos se você gerencia altos volumes de conversas.

Exemplos de Requisição

curl -X POST 'https://api.jelou.ai/v1/metrics/conversations/attended/external?limit=10' \
  -H 'Authorization: <clientId>:<clientSecret>' \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -d '{
    "startAt": "2025-01-01T00:00:00-05:00",
    "endAt": "2025-01-01T23:59:59-05:00",
    "getJson": true
  }'

Respostas

{
  "message": ["Retrieving conversations succeeded"],
  "status": "success",
  "results": [
    {
      "_id": "CONVERSATION_ID",
      "operator": {
        "names": "OPERATOR_NAME"
      },
      "user": {
        "id": "ID"
      },
      "bot": {
        "name": "BOT_NAME"
      },
      "company": {
        "id": "COMPANY_ID"
      },
      "assignationMethod": {
        "teamName": "TEAM_NAME"
      },
      "state": "expired",
      "endedReason": "expired",
      "startAt": "2023-06-08 15:52:41",
      "endAt": "2023-06-08 23:07:56",
      "origin": "ticket",
      "timeRepliedOperator": 795880,
      "conversationDuration": 26115953
    }
  ],
  "pagination": {
    "limit": 1,
    "total": 61,
    "offset": 0,
    "totalPages": 61
  },
  "links": [
    {
      "number": 1,
      "url": "/v1/metrics/conversations/attended/external?limit=1&page=1"
    },
    {
      "number": 2,
      "url": "/v1/metrics/conversations/attended/external?limit=1&page=2"
    }
  ]
}
{
  "message": "Authentication failed"
}
{
  "message": ["The values entered are not correct."],
  "statusMessage": "failed",
  "status": 0,
  "error": {
    "code": "E0422",
    "key": "VALIDATOR_ERROR"
  }
}
{
  "message": "Rate limit exceeded"
}
{
  "message": ["We are having trouble processing your request. Please try again later."],
  "statusMessage": "failed",
  "status": 0
}

Detalhes da Resposta

Objeto results

CampoTipoDescrição
_idstringIdentificador único da conversa.
operatorobjectInformações sobre o operador que atendeu a conversa (names).
userobjectInformações do usuário (id).
botobjectInformações do bot associado (name).
companyobjectInformações da empresa (id).
assignationMethodobjectMétodo de atribuição e equipe (teamName).
statestringEstado da conversa: active, closed, resolved, expired.
endedReasonstringMotivo pelo qual a conversa terminou.
startAtstringData e hora de início da conversa.
endAtstringData e hora de término da conversa.
originstringOrigem da conversa (ex.: ticket).
timeRepliedOperatornumberTempo de resposta do operador em milissegundos.
conversationDurationnumberDuração total da conversa em milissegundos.

Objeto pagination

CampoTipoDescrição
limitintegerConversas retornadas por página.
totalintegerTotal de conversas que correspondem aos filtros.
offsetintegerConversas ignoradas de acordo com a página solicitada.
totalPagesintegerNúmero total de páginas disponíveis.
CampoTipoDescrição
numberintegerNúmero da página.
urlstringURL relativa para acessar essa página.

Métricas de desempenho

Use os campos timeRepliedOperator e conversationDuration para analisar a eficiência da sua equipe de suporte:
  • timeRepliedOperator: Mede o tempo que um agente leva para dar a primeira resposta (em milissegundos).
  • conversationDuration: Mede a duração total desde o início até o encerramento da conversa (em milissegundos).

Autorizações

Authorization
string
header
obrigatório

Basic authentication using Base64 encoded clientId:clientSecret

Parâmetros de consulta

limit
integer
padrão:10
page
integer
padrão:1

Corpo

application/json
startAt
string<date-time>
obrigatório
endAt
string<date-time>
obrigatório
getJson
boolean
obrigatório

Resposta

Conversations retrieved successfully

message
string[]
status
string
results
object[]
pagination
object