Conversas de WhatsApp
const url = 'https://developers.nexo.winningsales.com.br/v1/whatsapp/sessions?page=1&pageSize=25&status=open';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/whatsapp/sessions?page=1&pageSize=25&status=open' \ --header 'Authorization: Bearer <token>'Uma sessão por conversa (janela de mensagens sem lacuna grande), com contato, vendedor, contagens e negócio associado. Aceita busca pelo telefone do contato, período pela última mensagem e situação. O vendedor só enxerga as próprias conversas de WhatsApp e as dos contatos dos próprios negócios; admin e líder de vendas enxergam as da empresa. Conteúdo de conversa: exige o escopo conversations:read e fica registrado na atividade da empresa.
Authorizations
Seção intitulada “Authorizations”Parameters
Seção intitulada “Parameters”Query Parameters
Seção intitulada “Query Parameters”Página, começando em 1
Página, começando em 1
Itens por página
Itens por página
Busca em contactPhone
Busca em contactPhone
Campo de busca. Permitidos: contactPhone
Campo de busca. Permitidos: contactPhone
Ordenação. Permitidos: lastMessageAt, startedAt
Ordenação. Permitidos: lastMessageAt, startedAt
Só sessões com a última mensagem a partir deste instante
Só sessões com a última mensagem a partir deste instante
Só sessões com a última mensagem até este instante
Só sessões com a última mensagem até este instante
Filtra pelo vendedor dono (admin e líder; o vendedor só vê as próprias)
Filtra pelo vendedor dono (admin e líder; o vendedor só vê as próprias)
Aberta (ainda dentro da janela de inatividade), fechada ou todas
Aberta (ainda dentro da janela de inatividade), fechada ou todas
Responses
Seção intitulada “Responses”Página de sessões
object
Records of the current page
object
Id da sessão
Nome do contato: do CRM, do contato salvo no WhatsApp, ou o telefone
Telefone do contato
Vendedor dono da conversa. Nulo quando é um número da empresa
Nome do vendedor dono da conversa
Quando a sessão começou
Última mensagem da sessão
Quando a sessão fechou. Nulo enquanto está aberta
Total de mensagens da sessão
Mensagens recebidas do contato
Negócio associado ao contato. Nulo sem negócio em aberto ou recém-fechado
object
Id do negócio
Nome do negócio
object
Current page (1-based)
Records per page
Total records matching the filters
Total pages for the current pageSize
Example generated
{ "data": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "contactName": "example", "contactPhone": "example", "repUserId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "repName": "example", "startedAt": "2026-04-15T12:00:00Z", "lastMessageAt": "2026-04-15T12:00:00Z", "closedAt": "2026-04-15T12:00:00Z", "messageCount": 1, "inboundCount": 1, "deal": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example" } } ], "pagination": { "page": 1, "pageSize": 1, "totalRecords": 1, "totalPages": 1 }}Filtro 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" }}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 }}