Conversas
conversations_list
Seção intitulada “conversations_list”Conversas, canal por canal. As conversas que você enxerga, das mais novas para as mais antigas: reuniões, ligações, notas, e-mails, WhatsApp e WhatsApp registrado no CRM. Filtre por canal, período e negócio e pagine pelo nextCursor. Cada item traz o channel e o conversationId que conversation_reading, conversation_excerpts e conversation_file recebem. O vendedor só enxerga as conversas dos próprios negócios e as próprias; admin e líder de vendas enxergam as da empresa. Exige o escopo conversations:read, e cada chamada fica registrada na atividade da empresa.
| Operação | conversations.list — a mesma de GET /v1/conversations |
| Escopo | conversations:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | read |
| Auditada | sim |
| Comportamento | somente leitura · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
channel |
string | sim | 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 (mín. 1 caractere; máx. 80 caracteres) |
from |
string (date-time) | não | Só conversas que começaram a partir deste instante (ISO-8601) |
to |
string (date-time) | não | Só conversas que começaram antes deste instante (ISO-8601) |
dealId |
string (uuid) | não | Só as conversas do negócio: reuniões e engajamentos ligados a ele, e WhatsApp e e-mails com os contatos dele |
cursor |
string | não | O nextCursor da página anterior (mín. 1 caractere; máx. 200 caracteres) |
limit |
integer | não | Itens por página, até 200 (padrão 50) (mín. 1; máx. 200; padrão 50) |
Resultado
O JSON da resposta de sucesso de GET /v1/conversations, com os mesmos campos. Por trazer conteúdo de conversa, o resultado vem com dois itens de texto: primeiro o aviso de conteúdo de terceiros, depois o JSON.
conversation_reading
Seção intitulada “conversation_reading”Leitura de uma conversa. O que o Nexo já leu da conversa: participantes e papel na compra, objeções e se foram tratadas, dores, compromissos, próximo passo, processo de decisão, sinais de compra, concorrentes e um resumo, cada item com os trechos que o sustentam (e1, e4…). O vendedor só enxerga as conversas dos próprios negócios e as próprias; admin e líder de vendas enxergam as da empresa. Exige o escopo conversations:read, e cada chamada fica registrada na atividade da empresa.
| Operação | conversations.reading — a mesma de GET /v1/conversations/{channel}/{conversationId}/reading |
| Escopo | conversations:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | content |
| Auditada | sim |
| Comportamento | somente leitura · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
channel |
"meeting" | "note" | "call" | "email" | "whatsapp" | "crm_whatsapp" |
sim | Canal: meeting, note, call, email, whatsapp ou crm_whatsapp (WhatsApp registrado no CRM) |
conversationId |
string | sim | Id da reunião, do engajamento do CRM, da sessão de WhatsApp ou da thread de e-mail (mín. 1 caractere; máx. 128 caracteres) |
Resultado
O JSON da resposta de sucesso de GET /v1/conversations/{channel}/{conversationId}/reading, com os mesmos campos. Por trazer conteúdo de conversa, o resultado vem com dois itens de texto: primeiro o aviso de conteúdo de terceiros, depois o JSON.
conversation_excerpts
Seção intitulada “conversation_excerpts”Trechos de uma conversa. A conversa em trechos, na ordem original, com quem falou ou escreveu e o lado (empresa ou cliente). Com refs (e1,e4), só os trechos que uma leitura cita; sem refs, a conversa inteira. O vendedor só enxerga as conversas dos próprios negócios e as próprias; admin e líder de vendas enxergam as da empresa. Exige o escopo conversations:read, e cada chamada fica registrada na atividade da empresa.
| Operação | conversations.excerpts — a mesma de GET /v1/conversations/{channel}/{conversationId}/excerpts |
| Escopo | conversations:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | content |
| Auditada | sim |
| Comportamento | somente leitura · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
channel |
"meeting" | "note" | "call" | "email" | "whatsapp" | "crm_whatsapp" |
sim | Canal: meeting, note, call, email, whatsapp ou crm_whatsapp (WhatsApp registrado no CRM) |
conversationId |
string | sim | Id da reunião, do engajamento do CRM, da sessão de WhatsApp ou da thread de e-mail (mín. 1 caractere; máx. 128 caracteres) |
refs |
string | sim | Referências a resolver, separadas por vírgula (e1,e4). Ausente: a conversa inteira (mín. 1 caractere; máx. 400 caracteres) |
Resultado
O JSON da resposta de sucesso de GET /v1/conversations/{channel}/{conversationId}/excerpts, com os mesmos campos. Por trazer conteúdo de conversa, o resultado vem com dois itens de texto: primeiro o aviso de conteúdo de terceiros, depois o JSON.
meeting_transcript
Seção intitulada “meeting_transcript”Transcrição de uma reunião. A transcrição da reunião em trechos: quem falou, de que lado, quando e o quê, cada trecho com a referência curta (e1, e2…) que as leituras citam. O vendedor só enxerga as conversas dos próprios negócios e as próprias; admin e líder de vendas enxergam as da empresa. Exige o escopo conversations:read, e cada chamada fica registrada na atividade da empresa.
| Operação | meetings.transcript — a mesma de GET /v1/meetings/{meetingId}/transcript |
| Escopo | conversations:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | content |
| Auditada | sim |
| Comportamento | somente leitura · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
meetingId |
string | sim | Id da reunião (mín. 1 caractere; máx. 128 caracteres) |
Resultado
O JSON da resposta de sucesso de GET /v1/meetings/{meetingId}/transcript, com os mesmos campos. Por trazer conteúdo de conversa, o resultado vem com dois itens de texto: primeiro o aviso de conteúdo de terceiros, depois o JSON.
meetings_list
Seção intitulada “meetings_list”Reuniões. Reuniões com cliente (as internas não aparecem), com busca por título, período, negócio e situação do vínculo com o negócio. A transcrição sai em meeting_transcript e a leitura em conversation_reading (channel meeting). O vendedor só enxerga as próprias reuniões; admin e líder de vendas enxergam as da empresa.
| Operação | meetings.list — a mesma de GET /v1/meetings |
| Escopo | context:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | read |
| Auditada | não |
| Comportamento | somente leitura · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page |
integer | não | Página, começando em 1 (mín. 1; padrão 1) |
pageSize |
integer | não | Itens por página (mín. 1; máx. 100; padrão 25) |
searchText |
string | sim | Busca em title (mín. 1 caractere; máx. 120 caracteres) |
searchFields |
string[] | sim | campo de busca. Permitidos: title |
orderBy |
string[] | sim | ordenação. Permitidos: scheduledStartAt, createdAt |
status |
"scheduled" | "skipped" | "recording" | "recorded" | "no_show" | "failed" | "cancelled" |
não | Filtra pela situação da reunião |
organizerUserId |
string (uuid) | não | Filtra pelo vendedor dono (admin e líder; o vendedor só vê as próprias) |
dealId |
string (uuid) | não | Só as reuniões vinculadas a este negócio |
dealLinkState |
"unlinked" | "linked_ambiguous" | "linked_confident" | "pending" |
não | Situação do vínculo com o negócio. “pending” junta sem vínculo e vínculo em dúvida: é a fila de “Não vinculadas” |
scheduledFrom |
string (date-time) | não | Só reuniões com início previsto a partir deste instante |
scheduledTo |
string (date-time) | não | Só reuniões com início previsto até este instante |
Resultado
O JSON da resposta de sucesso de GET /v1/meetings, com os mesmos campos.
meeting_get
Seção intitulada “meeting_get”Uma reunião. Dados da reunião, participantes, negócio vinculado e situação da gravação. O vendedor só enxerga as próprias reuniões; admin e líder de vendas enxergam as da empresa.
| Operação | meetings.get — a mesma de GET /v1/meetings/{meetingId} |
| Escopo | context:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | read |
| Auditada | não |
| Comportamento | somente leitura · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
meetingId |
string | sim | Id da reunião (mín. 1 caractere; máx. 128 caracteres) |
Resultado
O JSON da resposta de sucesso de GET /v1/meetings/{meetingId}, com os mesmos campos.
whatsapp_sessions_list
Seção intitulada “whatsapp_sessions_list”Conversas de WhatsApp. Uma sessão por conversa (janela de mensagens sem lacuna grande), com contato, vendedor, contagens e negócio associado, com busca pelo telefone do contato, período 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. Exige o escopo conversations:read e fica registrado na atividade da empresa.
| Operação | whatsapp.sessions.list — a mesma de GET /v1/whatsapp/sessions |
| Escopo | conversations:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | read |
| Auditada | sim |
| Comportamento | somente leitura · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page |
integer | não | Página, começando em 1 (mín. 1; padrão 1) |
pageSize |
integer | não | Itens por página (mín. 1; máx. 100; padrão 25) |
searchText |
string | sim | Busca em contactPhone (mín. 1 caractere; máx. 120 caracteres) |
searchFields |
string[] | sim | campo de busca. Permitidos: contactPhone |
orderBy |
string[] | sim | ordenação. Permitidos: lastMessageAt, startedAt |
from |
string (date-time) | não | Só sessões com a última mensagem a partir deste instante |
to |
string (date-time) | não | Só sessões com a última mensagem até este instante |
userId |
string (uuid) | não | Filtra pelo vendedor dono (admin e líder; o vendedor só vê as próprias) |
status |
"open" | "closed" | "all" |
não | Aberta (ainda dentro da janela de inatividade), fechada ou todas (padrão "all") |
Resultado
O JSON da resposta de sucesso de GET /v1/whatsapp/sessions, com os mesmos campos. Por trazer conteúdo de conversa, o resultado vem com dois itens de texto: primeiro o aviso de conteúdo de terceiros, depois o JSON.
whatsapp_session_get
Seção intitulada “whatsapp_session_get”Mensagens de uma conversa de WhatsApp. As mensagens da sessão, com o lado, o horário e a mídia marcada quando houver. 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. Exige o escopo conversations:read e fica registrado na atividade da empresa.
| Operação | whatsapp.sessions.get — a mesma de GET /v1/whatsapp/sessions/{sessionId} |
| Escopo | conversations:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | content |
| Auditada | sim |
| Comportamento | somente leitura · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionId |
string | sim | Id da sessão de WhatsApp (mín. 1 caractere; máx. 128 caracteres) |
Resultado
O JSON da resposta de sucesso de GET /v1/whatsapp/sessions/{sessionId}, com os mesmos campos. Por trazer conteúdo de conversa, o resultado vem com dois itens de texto: primeiro o aviso de conteúdo de terceiros, depois o JSON.
conversation_file
Seção intitulada “conversation_file”Arquivo de uma conversa. Monta a conversa inteira em PDF, texto ou JSON, de qualquer canal, e devolve o link do arquivo. O vendedor só baixa as conversas que enxerga. Exige o escopo conversations:read. O download é sempre por link assinado do S3, válido por 15 minutos: entregue o link à pessoa, nenhum arquivo passa pela API. Os arquivos somem em 7 dias.
| Operação | conversations.file — a mesma de POST /v1/conversations/{channel}/{conversationId}/file |
| Escopo | conversations:read |
| Papéis | admin, líder de vendas, vendedor |
| Classe de limite | file |
| Auditada | sim |
| Comportamento | escreve · idempotente |
Entrada
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
channel |
"meeting" | "note" | "call" | "email" | "whatsapp" | "crm_whatsapp" |
sim | Canal: meeting, note, call, email, whatsapp ou crm_whatsapp (WhatsApp registrado no CRM) |
conversationId |
string | sim | Id da reunião, do engajamento do CRM, da sessão de WhatsApp ou da thread de e-mail (mín. 1 caractere; máx. 128 caracteres) |
format |
"pdf" | "txt" | "json" |
não | Formato: pdf (padrão), txt ou json (padrão "pdf") |
Resultado
O JSON da resposta de sucesso de POST /v1/conversations/{channel}/{conversationId}/file, com os mesmos campos. Por trazer conteúdo de conversa, o resultado vem com dois itens de texto: primeiro o aviso de conteúdo de terceiros, depois o JSON.