Conversas do negócio, em cartões
const url = 'https://developers.nexo.winningsales.com.br/v1/deals/example/conversations?page=1&pageSize=24&channel=meeting';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://developers.nexo.winningsales.com.br/v1/deals/example/conversations?page=1&pageSize=24&channel=meeting' \ --header 'Authorization: Bearer <token>'As conversas do negócio como cartões, das mais novas para as mais antigas: as reuniões gravadas e cada conversa vinculada a ele (WhatsApp, e-mail da caixa conectada ou do CRM, notas e ligações do CRM). Cada cartão traz título, período, duração (reunião), quantas mensagens (WhatsApp e e-mail), as pessoas com o lado, se há áudio e transcrição, a linha do Nexo quando a conversa já foi lida e qual rota baixa a transcrição, com o id que ela recebe (nulo, e sem áudio, quando a pessoa não pode baixar aquela conversa pela regra de escopo dos downloads). Leve: não traz os trechos; o texto da conversa sai na rota de trechos e nos downloads. Filtre por canal e busque com q, que procura também no que foi dito nas conversas que a pessoa pode abrir. Os arquivos saem nas rotas /v1/downloads, sempre por link assinado. O vendedor só enxerga os próprios negócios; admin e líder de vendas enxergam os da empresa, como no app. Exige o escopo conversations:read; cada listagem fica registrada na atividade da empresa.
Authorizations
Seção intitulada “Authorizations”Parameters
Seção intitulada “Parameters”Path Parameters
Seção intitulada “Path Parameters”Id do negócio no Nexo
Query Parameters
Seção intitulada “Query Parameters”Página, a partir de 1
Página, a partir de 1
Cartões por página, até 100
Cartões por página, até 100
Só um canal: meeting, whatsapp, email (caixa conectada e CRM), note, call ou crm_whatsapp
Só um canal: meeting, whatsapp, email (caixa conectada e CRM), note, call ou crm_whatsapp
Busca, sem diferenciar maiúsculas e acentos, no título, nas pessoas (nome ou e-mail), na linha do Nexo e no que foi dito ou escrito na conversa, este só nas conversas que a pessoa pode abrir
Busca, sem diferenciar maiúsculas e acentos, no título, nas pessoas (nome ou e-mail), na linha do Nexo e no que foi dito ou escrito na conversa, este só nas conversas que a pessoa pode abrir
Responses
Seção intitulada “Responses”Uma página de cartões
object
Records of the current page
object
Canal do cartão: reunião, WhatsApp, e-mail (da caixa conectada ou do CRM), nota, ligação ou WhatsApp registrado no CRM
Id da conversa no canal: o mesmo das rotas de trechos e leitura, e o que as rotas de download recebem
De onde a conversa vem: gravação do Nexo, sessão de WhatsApp, thread da caixa de e-mail ou registro do CRM
Título da reunião, assunto do e-mail ou nome do contato no WhatsApp
Quando a conversa conta para o negócio; é a ordem da lista, das mais novas para as mais antigas
Início da reunião, primeira mensagem do WhatsApp ou do e-mail, ou data do registro no CRM
Fim da reunião ou última mensagem do WhatsApp ou do e-mail; com startedAt, o período do cartão. Nulo no CRM
Duração da reunião gravada ou da ligação, em segundos
Quantas mensagens: no WhatsApp e no e-mail; nulo nas reuniões, notas e ligações
Quem participou: convidados da reunião, vendedor e contato no WhatsApp, remetentes e destinatários do e-mail
object
Nome da pessoa
E-mail da pessoa, quando conhecido
Lado da pessoa: da empresa (internal), do cliente (external) ou sem como saber (unknown)
A reunião tem o MP3 e a pessoa pode baixá-lo. Falso também quando o MP3 existe mas a pessoa não passa na regra de escopo da rota de download (o vendedor baixa só as reuniões que organizou)
Há conteúdo para a transcrição em PDF
A linha do Nexo sobre a conversa, quando ela já foi lida para o negócio
O Nexo já leu a conversa para este negócio
Qual rota baixa a transcrição, sempre com o conversationId: meeting (reunião, que também tem o áudio), whatsapp_session ou email_thread. Nulo nas notas, ligações e WhatsApp registrados no CRM e também quando a pessoa não pode baixar aquela conversa pela regra de escopo da rota de download: o cartão aparece, mas sem oferecer o download
object
Current page (1-based)
Records per page
Total records matching the filters
Total pages for the current pageSize
Example
{ "data": [ { "channel": "meeting", "source": "nexo_meeting", "participants": [ { "side": "internal" } ], "transcriptDownload": "meeting" } ]}Canal, busca ou paginação inválidos
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "requestId": "example", "meta": { "additionalProperty": "example" }}Token ausente, inválido, expirado ou revogado
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
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
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
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 visibilidade do dono do token
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
Example
{ "type": "deals.not_found", "title": "DealNotFoundError", "status": 404, "detail": "Negócio não encontrado.", "requestId": "019fcae7-3e54-755a-8458-bdb605b324bb", "meta": { "dealId": "019fcae7-3e54-755a-8458-bdb605b324aa" }}Limite de chamadas da empresa ou do token atingido
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
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 }}