Pular para o conteúdo

Conversas

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.

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.

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.

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.

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.

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.

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.

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.

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.