Pular para o conteúdo

Conversas, canal por canal

GET
/v1/conversations
curl --request GET \
--url 'https://developers.nexo.winningsales.com.br/v1/conversations?limit=50' \
--header 'Authorization: Bearer <token>'

As conversas que você enxerga, das mais novas para as mais antigas: reuniões gravadas, ligações, notas, e-mails (a caixa conectada e os registrados no CRM), WhatsApp e WhatsApp registrado no CRM. Filtre por canal, período e negócio e pagine pelo nextCursor. Cada item traz o id que as rotas de leitura, trechos e arquivo da conversa recebem. O vendedor vê só as próprias reuniões, sessões de WhatsApp e threads de e-mail, e os engajamentos dos próprios negócios; admin e líder de vendas enxergam os da empresa. Exige o escopo conversations:read; cada listagem fica registrada na atividade da empresa.

channel

Canais a listar, separados por vírgula (meeting, note, call, email, whatsapp, crm_whatsapp). Ausente: todos. email traz as threads da caixa de e-mail e os e-mails registrados no CRM

string
>= 1 characters <= 80 characters

Canais a listar, separados por vírgula (meeting, note, call, email, whatsapp, crm_whatsapp). Ausente: todos. email traz as threads da caixa de e-mail e os e-mails registrados no CRM

from

Só conversas que começaram a partir deste instante (ISO-8601)

string format: date-time

Só conversas que começaram a partir deste instante (ISO-8601)

to

Só conversas que começaram antes deste instante (ISO-8601)

string format: date-time

Só conversas que começaram antes deste instante (ISO-8601)

dealId

Só as conversas do negócio: reuniões e engajamentos ligados a ele, e WhatsApp e e-mails com os contatos dele

string format: uuid

Só as conversas do negócio: reuniões e engajamentos ligados a ele, e WhatsApp e e-mails com os contatos dele

cursor

O nextCursor da página anterior

string
>= 1 characters <= 200 characters

O nextCursor da página anterior

limit

Itens por página, até 200 (padrão 50)

integer
default: 50 >= 1 <= 200

Itens por página, até 200 (padrão 50)

Uma página de conversas

Media typeapplication/json
object
items
required

As conversas, das mais novas para as mais antigas

Array<object>
object
channel
required

Canal da conversa

string
Allowed values: meeting note call email whatsapp crm_whatsapp
conversationId
required

Id da conversa no canal; é o id das rotas de leitura, trechos e arquivo

string
occurredAt
required

Quando a conversa começou

string format: date-time
lastActivityAt
required

Última mensagem, no WhatsApp e nas threads de e-mail; nulo nos outros canais

string format: date-time
nullable
title
required

Título da reunião, assunto do e-mail ou da ligação, ou nome do contato no WhatsApp

string
nullable
dealId
required

Negócio ligado direto à conversa (reuniões e engajamentos do CRM); nulo quando a ligação é pelos contatos

string format: uuid
nullable
durationSeconds
required

Duração, nas reuniões e ligações

integer
nullable
messageCount
required

Quantidade de mensagens, no WhatsApp e nas threads de e-mail

integer
nullable
direction
required

Direção registrada no CRM (entrada ou saída), quando houver

string
nullable
nextCursor
required

Cursor da próxima página; nulo quando acabou

string
nullable

Example

{
"items": [
{
"channel": "meeting"
}
]
}

Canal, período, cursor ou limite inválido

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Token ausente, inválido, expirado ou revogado

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.invalid_credential",
"title": "InvalidCredentialError",
"status": 401,
"detail": "Token de acesso inválido, expirado ou revogado. Crie um novo token de acesso no Nexo.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb"
}

Papel, escopo do token ou plano não permitem a operação

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.insufficient_scope",
"title": "InsufficientScopeError",
"status": 403,
"detail": "Este token não tem o escopo conversations:read, exigido por esta operação. Gere um token com esse escopo.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb",
"meta": {
"operation": "conversations.reading",
"scope": "conversations:read"
}
}

Negócio inexistente ou fora da sua carteira

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Limite de chamadas da empresa ou do token atingido

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.rate_limited",
"title": "PublicRateLimitedError",
"status": 429,
"detail": "Muitas chamadas em pouco tempo. Tente de novo em 12 segundos.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb",
"meta": {
"class": "content",
"limitedBy": "company",
"limit": 120,
"windowSeconds": 60,
"retryAfterSeconds": 12
}
}