Skip to main content

Enviar mensagem de texto

curl -X POST https://api.cordialy.ai/integrations/v1/leads/LEAD_ID/messages \
  -H "X-API-Key: SUA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "Olá! Sua solicitação foi processada com sucesso."}'

Como aparece na plataforma

Mensagens enviadas via API são identificadas visualmente para facilitar o acompanhamento pela equipe:
  • Cor roxa na bolha da conversa
  • Tag “Via API” com ícone de raio
  • Campo source: "api" no histórico
Isso diferencia das mensagens da IA (azul) e dos consultores humanos (verde), dando visibilidade completa de todas as origens de comunicação.

Consultar histórico

# Histórico completo
curl https://api.cordialy.ai/integrations/v1/leads/LEAD_ID/messages \
  -H "X-API-Key: SUA_KEY"

# Apenas mensagens recentes
curl "https://api.cordialy.ai/integrations/v1/leads/LEAD_ID/messages?from=2026-06-01T00:00:00Z" \
  -H "X-API-Key: SUA_KEY"
Exemplo de resposta:
[
  {
    "id": "msg-001",
    "role": "user",
    "content": "Oi, quero saber sobre o produto X",
    "source": "whatsapp",
    "created_at": "2026-06-19T09:00:00Z"
  },
  {
    "id": "msg-002",
    "role": "assistant",
    "content": "Olá! O produto X está disponível em 3 cores...",
    "source": "whatsapp",
    "created_at": "2026-06-19T09:00:05Z"
  },
  {
    "id": "msg-003",
    "role": "agent",
    "content": "Seu pedido foi confirmado! 🎉",
    "source": "api",
    "created_at": "2026-06-19T10:30:00Z"
  }
]

Campos de resposta

CampoValoresDescrição
roleuser, assistant, agentQuem enviou: lead, IA ou consultor/API
sourcewhatsapp, call, apiCanal de origem da mensagem
media_typeimage, video, audio, document, nullTipo de mídia anexada
media_urlURL ou nullLink para o arquivo de mídia
session_idUUID ou nullSessão de atendimento vinculada

Casos de uso comuns

// Dispara quando pedido muda de status no ERP
async function notificarStatusPedido(pedido) {
  const mensagens = {
    aprovado: `✅ Pedido #${pedido.id} aprovado! Previsão de entrega: ${pedido.prazo}`,
    enviado: `📦 Pedido #${pedido.id} saiu para entrega. Rastreio: ${pedido.rastreio}`,
    entregue: `🎉 Pedido #${pedido.id} entregue! Obrigado pela compra.`,
  };

  await enviarMensagem(pedido.leadId, mensagens[pedido.status]);
}
// Aviso de vencimento (D-3, D-1, D+1)
async function avisarVencimento(fatura) {
  const diasRestantes = Math.ceil(
    (new Date(fatura.vencimento) - new Date()) / (1000 * 60 * 60 * 24)
  );

  if (diasRestantes === 3) {
    await enviarMensagem(fatura.leadId,
      `Sua fatura de R$ ${fatura.valor} vence em 3 dias. Pague via Pix: ${fatura.linkPix}`
    );
  }
}
// Confirmação + lembrete 24h antes
async function confirmarAgendamento(agendamento) {
  await enviarMensagem(agendamento.leadId,
    `📅 Consulta confirmada para ${agendamento.data} às ${agendamento.hora}.\n` +
    `Endereço: ${agendamento.local}\n` +
    `Para cancelar ou reagendar, responda esta mensagem.`
  );
}
O envio de mídia (imagens, documentos, áudios) via API ainda não é suportado. Use a plataforma para enviar arquivos manualmente.