API de Resumos
Estão disponíveis dois tipos de resumos escritos por IA através da API:
-
Resumos de chat — uma breve recapitulação da conversa de um contacto, gerada a pedido. É a mesma funcionalidade que o controlo de resumo num chat (ver Resumo de Chat).
-
Resumos diários — o resumo diário de todas as suas conversas que os Resumos Diários criam todas as manhãs: estatísticas, um bloco markdown por secção e quaisquer tarefas que a IA tenha criado a partir dele.
-
URL Base —
https://api.youraiconnector.com/v1 -
Autenticação — a sua chave de API (ver Autenticação). Uma chave com âmbito definido necessita da secção
Summaries. -
Erros e paginação — ver Erros e Paginação
Todos os exemplos abaixo mostram o formato de consulta ?apiKey= em cURL e o cabeçalho X-API-Key em JavaScript e Python — qualquer um funciona em todos os endpoints.
Gerar um resumo de chat
POST /summaries — envie o phoneNumber do contacto (com código de país) ou o email; um dos dois é obrigatório.
A IA lê a conversa mais recentemente fechada do contacto, ou a que ainda está aberta caso nenhuma tenha sido fechada, e escreve uma recapitulação da mesma. A recapitulação é guardada no contacto (aparece em Resumos no painel do contacto na aplicação) e devolvida na resposta, para que a possa reencaminhar diretamente para um CRM, um canal do Slack ou um e-mail.
Custo: o mesmo que uma resposta de IA no nível de Qualidade de IA do Agente — Pro 1 crédito, Max 0,25, Mini 0,15; com a sua própria chave Anthropic ligada, o Pro custa 0. O pedido é recusado antes de qualquer geração se o saldo não for suficiente.
cURL
curl -X POST "https://api.youraiconnector.com/v1/summaries?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phoneNumber": "+31612345678"}'
JavaScript
const res = await fetch("https://api.youraiconnector.com/v1/summaries", {
method: "POST",
headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ email: "jane@example.com" }),
});
const { summary } = await res.json();
Python
import requests
r = requests.post(
"https://api.youraiconnector.com/v1/summaries",
headers={"X-API-Key": "YOUR_API_KEY"},
json={"phoneNumber": "+31612345678"},
)
print(r.json()["summary"])
Resposta
{
"success": true,
"message": "Chat summary generated successfully",
"summary": "Jane asked about the 10-session package for her two children (ages 6 and 9) and preferred Saturday mornings. She booked a trial lesson for Saturday at 10:00 and wants to know whether siblings get a discount."
}
| Estado | Significado |
|---|---|
400 |
Nem phoneNumber nem email foram enviados. |
404 |
Nenhum contacto corresponde, o contacto ainda não tem conversas ou a conversa não tem mensagens. O message do corpo indica qual. |
500 |
A geração falhou (por exemplo, saldo de créditos insuficiente). |
Receita de automatização: e-mail de marcação com recapitulação. Numa automatização no gatilho Marcação efetuada, adicione um passo de Pedido HTTP que chame este endpoint com
${trigger.contact.phone_number}(ou o e-mail do contacto), seguido de um passo de E-mail que insira osummaryda resposta do passo HTTP, juntamente com uma ligação para o chat (o endereço da sua aplicação seguido de/chats/e o ID do contacto do gatilho). A sua equipa recebe o contexto da marcação no mesmo e-mail, sem ter de abrir a caixa de entrada.
Ler resumos guardados. Não existe um endpoint que liste os resumos de chat guardados. Guarde o texto da resposta se precisar dele mais tarde, ou gere-o novamente (cada chamada é faturada).
Alternativa: por ID de contacto
POST /summaries/chat-summary com {"contactId": "..."} efetua a mesma geração para um contacto cujo ID já possui. Apenas confirma o sucesso ({"success": true, "data": "Chat summary generated successfully"}) e não devolve o texto, por isso utilize POST /summaries quando pretender a recapitulação propriamente dita. Um membro da equipa cuja chave esteja limitada aos seus contactos atribuídos receberá 404 para um contacto fora desse âmbito.
Leia os resumos de chat mais recentes de vários contactos
POST /contacts/summaries/latest — envie até 500 IDs de contacto e obtenha o resumo de chat mais recente de cada contacto numa única chamada. Nada é gerado, por isso não consome créditos. Esta é a leitura por trás da coluna Resumo de IA da exportação de CSV de contactos.
{ "contactIds": ["contact_abc123", "contact_def456"] }
Resposta
{
"success": true,
"summaries": {
"contact_abc123": {
"summary": "Asked for a quote for 20 units, prefers delivery next week.",
"end_date_time": "2026-09-15T14:02:11.000Z"
}
}
}
Um contacto que ainda não tenha um resumo, que não esteja na sua conta ou que esteja fora dos contactos visíveis de um membro da equipa é simplesmente excluído de summaries. Os IDs devem ser únicos e uma lista com mais de 500 será recusada com 400: divida-a em lotes. Um membro da equipa necessita de, pelo menos, permissão de Visualização em Mensagens.
curl -X POST "https://api.youraiconnector.com/v1/contacts/summaries/latest?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contactIds": ["contact_abc123", "contact_def456"]}'
Obter um resumo diário
GET /summaries/daily/{date} — date é YYYY-MM-DD. Devolve o resumo para esse dia, ou null em summary quando ainda não foi gerado nenhum, além da configuração da sua secção.
cURL
curl "https://api.youraiconnector.com/v1/summaries/daily/2026-09-08?apiKey=YOUR_API_KEY"
Resposta
{
"success": true,
"data": {
"summary": {
"date": "2026-09-08",
"status": "completed",
"generated_at": "2026-09-09T05:02:11.000Z",
"stats": {
"total_conversations": 42,
"total_messages_sent": 310,
"total_messages_received": 268,
"human_alerts": 3,
"bookings": 5,
"new_contacts": 11,
"sales": 2
},
"sections": {
"wins_losses_improvements": "## Wins\n- ...",
"tasks_action_items": "- Call Jane back about the sibling discount",
"human_alerts_reviews": "...",
"sentiment_analysis": "...",
"booked_meetings_sales": "..."
},
"contact_map": { "Jane Doe": "uid_whatsapp_31612345678" },
"auto_tasks": [],
"created_task_ids": []
},
"section_configs": [
{ "id": "wins_losses_improvements", "name": "Wins, Losses & Improvements", "enabled": true, "position": 0 }
]
}
}
status—pending,generating,completedoufailed(comerrordefinido). Consulte este endpoint após uma regeneração até que indiquecompleted.sections— uma string markdown por secção, identificada pelo ID da secção. As cinco secções padrão sãowins_losses_improvements,tasks_action_items,human_alerts_reviews,sentiment_analysisebooked_meetings_sales; as secções que adicionar em Configurar na página de Resumos Diários recebem um IDcustom_…. Os nomes e a ordem são repetidos emsection_configs.contact_map— nome de visualização para ID de contacto, para que possa transformar os nomes no texto em hiperligações.auto_tasks/created_task_ids— os itens de ação que a IA extraiu e as tarefas que criou a partir deles (quando Criar cartões de tarefa a partir de itens de ação está ativado).
| Estado | Significado |
|---|---|
400 |
date não está YYYY-MM-DD, ou é no futuro. |
403 |
Os Resumos Diários estão desativados para a conta. |
Prefere um push em vez de consulta (polling)? O evento de webhook Resumo Diário Criado entrega o mesmo payload no momento em que um resumo matinal termina.
Regenerar um resumo diário
POST /summaries/daily/{date}/regenerate — inicia uma nova geração para esse dia em segundo plano e retorna imediatamente com status: "generating" e sections vazio. Consulte GET /summaries/daily/{date} até que esteja concluído. Aplicam-se as mesmas regras que para a ligação Tentar novamente na aplicação.
O corpo opcional {"deleteTasks": false} mantém as tarefas que a execução anterior criou; por predefinição, são eliminadas e recriadas a partir do novo resumo. Envie um booleano real — a string "false" é ignorada e tratada como a predefinição.
curl -X POST "https://api.youraiconnector.com/v1/summaries/daily/2026-09-08/regenerate?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"deleteTasks": false}'
Referência rápida
| Tarefa | Endpoint |
|---|---|
| Gerar um resumo de chat e obter o texto | POST /summaries |
| Gerar um resumo de chat por ID de contacto (sem retorno de texto) | POST /summaries/chat-summary |
| Ler o resumo de chat mais recente para até 500 contactos | POST /contacts/summaries/latest |
| Ler o resumo de um dia | GET /summaries/daily/{date} |
| Regenerar o resumo de um dia | POST /summaries/daily/{date}/regenerate |