Abertura de conversas, envio de mensagens, histórico, metadados, avaliações e exportação.
Listar conversas
Lista as conversas de todos os agentes, com filtros por agente, canal, período, conteúdo e metadados. Para paginar, informe limit e, nas páginas seguintes, reenvie cursor, currentPage, total e totalPages recebidos na resposta anterior — sem eles, total e totalPages voltam null.
query Parameters
limitinteger · min: 1 · max: 200Itens por página, de 1 a 200. Sem
limit, a lista vem inteira em uma única resposta — informe sempre que a base puder ser grande. Valor inválido vira 50.cursorstringValor de
cursorrecebido na página anterior. Omita na primeira requisição.currentPageinteger · min: 1Valor de
currentPagerecebido na página anterior. Envie junto comcursor; a resposta devolve o número seguinte.totalinteger · min: 0Valor de
totalrecebido na primeira página. Reenvie junto comcursorpara a resposta continuar informando o total.totalPagesinteger · min: 0Valor de
totalPagesrecebido na primeira página. Reenvie junto comcursor.botidstringSó as conversas deste agente.
channelstringCanal de origem. Aceita vários, separados por vírgula:
gateway(criadas por esta API),whatsapp,teams,iframe,iframetv,evagpt.searchstringBusca pelo ID exato da conversa, por palavras do conteúdo ou pelo valor exato de um metadado.
metastringFiltra pelas conversas que tenham este nome de campo ou este valor (exato) nos metadados.
dateInitstring · dateData inicial do período (
YYYY-MM-DD, horário de Brasília), pela data de criação.dateEndstring · dateData final do período (
YYYY-MM-DD, horário de Brasília). O dia informado entra inteiro.hourInitstringHora inicial (
HH:mm) aplicada àdateInit. Padrão00:00.hourEndstringHora aplicada à
dateEnd. Padrão00:00.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Lista de conversas.
totalinteger | nullTotal de conversas que atendem aos filtros.
currentPageintegerNúmero da página devolvida. A primeira é
1.totalPagesinteger | nullTotal de páginas para o
limitinformado.cursorstring | nullCursor da próxima página.
nullquando a lista vem vazia.conversationsobject[]
Metadados da conversa
Retorna os dados gerais de uma conversa: agente, canal, nota da pesquisa, metadados e os arquivos enviados, com link de download já assinado e o texto extraído de cada um.
path Parameters
idConversationstring · requiredID da conversa.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Dados da conversa.
conversationobject
Listar mensagens da conversa
Retorna o histórico completo da conversa. A primeira interação é a apresentação do agente (sem id); as demais estão em ordem cronológica.
path Parameters
idConversationstring · requiredID da conversa.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Histórico da conversa.
namestringTítulo da conversa.
modelstring | nullModelo de IA usado na conversa.
modelsstring[]interactionsobject[]metadataobjectMetadados da conversa.
usageobjectConsumo total da conversa, em créditos (
token).
Criar conversa
Abre uma conversa com o agente e devolve o id usado nas rotas de mensagem. Nenhuma mensagem é enviada nesta chamada.
O corpo é opcional. Use meta para gravar metadados (pares nome–valor) que depois servem de filtro em [Listar conversas]; valores null são descartados.
path Parameters
botIdstring · requiredID do agente.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Conversa criada.
idstring · requiredID da conversa.
presentationstringApresentação do agente (
Olá!quando não há uma configurada).
Atualizar metadados da conversa
Grava metadados na conversa. Envie um objeto plano com os campos — sem aninhar em meta.
- Campo novo é criado; campo existente tem o valor substituído.
{ "campo": { "delete": true } }remove o campo.- Valores
nullsão ignorados. - O conjunto final de metadados, serializado em JSON, pode ter até 5.000 caracteres.
A resposta é 203 mesmo quando a conversa não existe.
path Parameters
convIdstring · requiredID da conversa.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Metadados gravados.
messagestring · required
Enviar mensagem (stream)
Envia uma mensagem ao agente e devolve a resposta em partes, à medida que é gerada.
O corpo da resposta é texto puro (UTF-8), sem eventos nem delimitadores: concatene os pedaços na ordem em que chegam. A resposta termina quando a conexão é encerrada. O header Content-Type vem como json/event-stream, mas o conteúdo não é JSON nem SSE. Quando a conversa passa de um agente para outro, as falas vêm separadas por uma linha em branco.
O stream não informa o consumo do turno; use [Enviar mensagem] quando precisar de usage.
Headers da resposta
| Header | Conteúdo |
|---|---|
X-Custom-Info | ID da mensagem do agente — use em [Enviar feedback da mensagem] |
X-user-message | ID da mensagem enviada |
Envio de arquivos
Com multipart/form-data, envie os arquivos no campo files, repetindo a parte uma vez por arquivo (file continua aceito para um arquivo só). Arquivos de tipos diferentes podem ir na mesma mensagem: o tipo de cada um é identificado pelo próprio arquivo. Envie sempre text com a instrução sobre os arquivos.
| Limite | Padrão do ambiente |
|---|---|
Arquivos por mensagem (file + files) | 5 |
| Tamanho por arquivo | 20 MB |
| Soma dos arquivos | 50 MB |
| Áudios por mensagem | 1 |
Fora dos limites, a resposta é 400 com o motivo em message (ex.: Envie no máximo 5 arquivos por mensagem., Arquivo maior que 20MB., O total dos arquivos excede 50MB.). Campo de arquivo com outro nome — como files[] — é recusado com Campo de arquivo inesperado.
Falhas
Se a geração falhar no meio, o texto termina com o aviso “Tivemos um problema durante o processamento da resposta. Tente novamente em alguns instantes.”, precedido de ---. Falhas antes do início do stream respondem com status de erro e corpo em texto puro.
path Parameters
idConversationstring · requiredID da conversa.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Resposta do agente em stream de texto.
Texto da resposta, entregue em partes.
Enviar mensagem
Envia uma mensagem ao agente e devolve a resposta completa, em JSON, depois que ela termina de ser gerada. Aceita application/json (texto) ou multipart/form-data (texto com arquivos).
sendMensages[].usage.token é o consumo do turno em créditos — o mesmo valor debitado no painel. O header X-user-message traz o ID da mensagem enviada.
Envio de arquivos
Com multipart/form-data, envie os arquivos no campo files, repetindo a parte uma vez por arquivo (file continua aceito para um arquivo só). Arquivos de tipos diferentes podem ir na mesma mensagem: o tipo de cada um é identificado pelo próprio arquivo. Envie sempre text com a instrução sobre os arquivos.
| Limite | Padrão do ambiente |
|---|---|
Arquivos por mensagem (file + files) | 5 |
| Tamanho por arquivo | 20 MB |
| Soma dos arquivos | 50 MB |
| Áudios por mensagem | 1 |
Fora dos limites, a resposta é 400 com o motivo em message (ex.: Envie no máximo 5 arquivos por mensagem., Arquivo maior que 20MB., O total dos arquivos excede 50MB.). Campo de arquivo com outro nome — como files[] — é recusado com Campo de arquivo inesperado.
Atenção: falhas na geração não mudam o status. A resposta vem
200só com{"message": "Estamos enfrentando uma instabilidade temporária. Tente novamente em alguns minutos"}, semidnemsendMensages. Sem créditos disponíveis, também vem200, comsendMensagessemide semusage. Confira a presença deidantes de tratar o corpo como resposta do agente.
path Parameters
idConversationstring · requiredID da conversa.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
textstring · requiredMensagem para o agente.
typestring · enumTipo do conteúdo.
Enum values:textDefault: text
Responses
Resposta do agente.
idstring · requiredID da mensagem do agente (use no feedback).
messagestring · requiredResposta do agente.
typestring · requiredSempre
text.sendMensagesobject[] · requiredRespostas do turno. A grafia do campo é
sendMensages.
Enviar feedback da mensagem
Registra a avaliação de uma resposta do agente: 0 negativo, 1 positivo, 2 neutro.
idmessage é o ID da mensagem do agente: o id devolvido por [Enviar mensagem], o header X-Custom-Info do stream ou o id da interação em [Listar mensagens da conversa].
path Parameters
idmessagestring · requiredID da mensagem do agente.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Feedback registrado.
messagestring · required
Enviar pesquisa de satisfação
Registra a nota da pesquisa de satisfação da conversa, de 1 (muito ruim) a 5 (muito bom). Só é aceita quando o agente está com o envio de pesquisa habilitado.
path Parameters
idconvstring · requiredID da conversa.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Pesquisa registrada.
messagestring · required
Baixar arquivo da conversa
Baixa um arquivo enviado na conversa.
Aceita a chave de API ou o link assinado devolvido em files[].url de [Metadados da conversa]. No link assinado a autenticação vai na própria URL (s, e e sig), sem header, e vale por 90 dias.
path Parameters
idconvstring · requiredID da conversa.
filenamestring · requiredNome do arquivo, como aparece em
files[].name.
query Parameters
sstringLink assinado: identificador da chave.
eintegerLink assinado: expiração (timestamp Unix, em segundos).
sigstringLink assinado: assinatura.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Conteúdo do arquivo, com o Content-Type original.
Obter transcrição de áudio
Retorna a transcrição de uma mensagem de áudio da conversa. Para mensagens de texto, transcription vem vazio.
path Parameters
conversationidstring · requiredID da conversa.
messageidstring · requiredID da mensagem de áudio.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Transcrição.
transcriptionstring
Exportar conversas
Exporta as conversas de um agente, com todas as mensagens, em arquivo. O download começa antes de a exportação terminar (stream).
format | Saída |
|---|---|
xlsx | Planilha Excel |
csv | CSV com ; como separador, campos entre aspas, UTF-8 com BOM |
| omitido | NDJSON: uma linha JSON por bloco de até 50 conversas, com total, currentPage, totalPages e conversations. Com contentOnly=true, uma conversa por linha |
path Parameters
idbotstring · requiredID do agente.
query Parameters
formatstring · enumFormato do arquivo. Omitido, sai NDJSON.
Enum values:xlsxcsvdateInitstring · dateData inicial do período (
YYYY-MM-DD, horário de Brasília), pela data de criação.dateEndstring · dateData final do período (
YYYY-MM-DD, horário de Brasília). O dia informado entra inteiro.hourInitstringHora inicial (
HH:mm) aplicada àdateInit. Padrão00:00.hourEndstringHora aplicada à
dateEnd. Padrão00:00.searchstringMesmo filtro de [Listar conversas].
metastringMesmo filtro de [Listar conversas].
contentOnlybooleanNDJSON:
truepara uma conversa por linha, sem totais.includeFileContentbooleantruepara incluir o texto extraído dos arquivos.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Arquivo exportado.
Atribuir categoria à conversa
Atribui uma categoria à conversa pelo nome. Se não existir categoria com esse nome, ela é criada. Espaços e aspas nas pontas são removidos e o nome é cortado no primeiro :.
path Parameters
convIdstring · requiredID da conversa.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Categoria atribuída (sem corpo).