HeraReply API
A HeraReply API permite que plataformas de mensageria como Sinch, Twilio, Salesforce e outras integrem Hera Agents da plataforma Hera.Build para responder automaticamente a mensagens de usuários (inbound) ou disparar respostas baseadas em eventos (outbound).
🔐 Autenticação
Para agentes Privados, todas as requisições devem conter o header:
Authorization: Bearer your-api-key
🌐 Endpoint
POST https://babi-hera.data2apis.com/rush/listener/reply-entrypoint
🔄 Fluxo Inbound
📌 O que é
No fluxo inbound, a API recebe uma mensagem enviada por um usuário em um canal de comunicação (como webchat, WhatsApp, etc.), e retorna uma resposta do Hera Agent.
🧾 Campos da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
agentId | string | ✅ | ID do agente configurado na plataforma Hera.Build |
message | string | ✅ | Mensagem enviada pelo usuário |
channel | string | ✅ | Identificação do canal (livre, pode ser qualquer nome) |
session | string | ❌ | ID da sessão (para manter o contexto). Se não for enviado, será gerado um novo |
training | boolean | ❌ | Se verdadeiro, coloca o agente em modo de treino |
additionalData | object/string | ❌ | Payload para dar contexto adicional de conhecimento ao Hera Agent |
🧪 Exemplo de Requisição (sem sessão)
curl --location 'https://babi-hera.data2apis.com/rush/listener/reply-entrypoint' \
--header 'accept: application/json, text/plain, */*' \
--header 'Content-Type: application/json' \
--data '{"message":"ola!","agentId":"a1b2c3d4e5r6f7","channel":"Whatsapp",
"training":false,"additionalData":""}'
🔁 Exemplo de Requisição (com sessão)
curl --location 'https://babi-hera.data2apis.com/rush/listener/reply-entrypoint' \
--header 'accept: application/json, text/plain, */*' \
--header 'Content-Type: application/json' \
--data '{"message":"ola!","agentId":"a1b2c3d4e5r6f7","channel":"Whatsapp", "session":"1a2s3d4f5g6f", "training":false,"additionalData":""}'
📤 Fluxo Outbound (Eventos)
📌 O que é
A plataforma Hera permite configurar eventos nos agentes, que disparam mensagens predefinidas. Essa funcionalidade é ideal para cenários como:
- Respostas automáticas baseadas em ações do usuário
- Atualizações de status
- Interações contextuais pré-programadas
🧾 Campos da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
agentId | string | ✅ | ID do agente |
event | string | ✅ | Nome do evento configurado na plataforma Hera |
type | string | ✅ | Sempre "event" |
channel | string | ✅ | Canal associado ao usuário |
session | string | ❌ | ID da sessão (para manter o contexto). Se não for enviado, será gerado um novo |
training | boolean | ❌ | Modo de treino (padrão: false) |
additionalData | object/string | ❌ | Payload para dar contexto adicional de conhecimento ao Hera Agent |
⚙️ Como configurar eventos
Acesse o agente desejado na plataforma Hera.Build. No fluxo de configuração de Agentes, vá até a seção de Eventos. Cadastre um evento com um nome único e associe uma mensagem-resposta. Na chamada para a API, envie esse nome no campo event e defina type: "event".
🧪 Exemplo de Requisição Outbound
curl --location 'https://babi-hera.data2apis.com/rush/listener/reply-entrypoint' \
--header 'accept: application/json, text/plain, */*' \
--header 'Content-Type: application/json' \
--data '{"agentId":"a1b2c3d4e5f6","channel":"chatroom","training":false,"additionalData":"",
"type": "event", "event": "say-hi"}'
📦 Resposta da API
{ "answer": "string", // Mensagem de resposta do agente
"session": "string", // ID da sessão para continuidade do diálogo
"integration_data": {} // Campo opcional para uso com automações externas }
Nota: o campo
integration_datapode ser ignorado se não houver automações conectadas.
🔊 Suporte a Áudio
Envie uma URL válida no campo audio_url. O áudio será automaticamente transcrito antes do processamento. Suporta formatos como .mp3, .wav e .ogg.
💬 Campo channel
O campo channel é livre — você pode enviar qualquer nome que faça sentido para rastrear ou categorizar os fluxos (ex: whatsapp, salesforce-chat, public-chatroom, cliente-xpto).
✅ Boas Práticas de Integração
- Sempre reutilize o
sessiondurante a conversa para manter o contexto. - Crie agentes distintos para fluxos diferentes (ex: onboarding, suporte, vendas).
- Configure eventos úteis na plataforma para cobrir casos como "pedido de férias", "erro no sistema", "boas-vindas", etc.
- Use o campo
channelpara rastrear a origem ou o contexto da conversa. - Capture e persista o
sessionretornado sempre que iniciar uma nova conversa.