Uma superfície versionada
As rotas REST públicas vivem em /v1. Rotas compatíveis em /api/v1 chegam na mesma API.
Construa sobre a REST API de produção para conversas de WhatsApp, Instagram e Messenger. Aqui você encontra auth, paginação, mensagens, jornadas, templates, webhooks assinados, debug de entregas e endpoints para desenvolvedores.
Use o InstantReply como camada de mensagens do seu produto ou ferramenta interna. Seu backend pode ler conversas, enviar respostas, atualizar contatos, rotear leads, disparar jornadas de WhatsApp, validar templates e reagir a mensagens de clientes em tempo real.
As rotas REST públicas vivem em /v1. Rotas compatíveis em /api/v1 chegam na mesma API.
É a mesma superfície de produção usada pelo dashboard, automações, respostas IA e envios de jornada.
Registre um endpoint webhook e receba POSTs assinados quando o cliente responde ou a entrega muda.
Autentique com uma API key com escopo em Authorization: Bearer $IR_API_KEY. Separe keys live e test. Você pode rotacionar keys no developer settings sem trocar o segredo de assinatura do webhook.
curl https://api.instantreply.co/v1/conversations \
-H "Authorization: Bearer $IR_API_KEY"curl -X POST https://api.instantreply.co/v1/conversations/$ID/messages \
-H "Authorization: Bearer $IR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Thanks for reaching out - how can we help?"}'Todo endpoint de lista aceita ?cursor= e retorna o próximo cursor quando existem mais registros. Trate o cursor como opaco e envie de volta exatamente como recebeu.
Falhas retornam um envelope JSON com code, message, doc_url e request_id. Guarde X-Request-Id quando precisar que o suporte rastreie uma chamada.
Estas são as rotas mais usadas por desenvolvedores. O inventário completo está no catálogo REST, mas esta página explica para que serve cada grupo e como ele entra na integração.
Leia conversas, envie respostas e sincronize histórico de mensagens.
/v1/conversationsLista conversas com filtros por status, canal, responsável e paginação por cursor.
/v1/conversations/:idLê uma conversa com cliente, canal, etapa, tags e atividade recente.
/v1/conversations/:idAtualiza atribuição, status, tags ou campos de roteamento da conversa.
/v1/conversations/:id/messagesLê o histórico de mensagens de uma conversa.
/v1/conversations/:id/messagesEnvia uma resposta pelo canal correto: WhatsApp, Instagram ou Messenger.
/v1/messagesLista mensagens de todas as conversas para auditoria, sync ou analítica.
/v1/messagesCria uma mensagem de saída quando sua integração já conhece o contexto do canal.
/v1/messages/:idBusca detalhes de conteúdo e entrega de uma mensagem.
Mantenha o registro do cliente sincronizado e consulte métricas operacionais.
/v1/contactsLista contatos com etapa, score, owner e identidade de canal.
/v1/contacts/:idLê um perfil de contato e contexto de conversa.
/v1/contacts/:idAtualiza campos criados por lead capture ou CRM.
/v1/channelsLista canais conectados de WhatsApp, Instagram e Messenger.
/v1/analytics/summaryConsulta métricas de volume, resposta e conversão.
/v1/usageLê uso de plano para mensagens, IA, webhooks e chamadas API.
Gerencie API keys e assine eventos em tempo real no seu servidor.
/v1/keysLista API keys ativas e escopos.
/v1/keysCria uma key com escopo para backend, agente ou ambiente test.
/v1/keys/:id/rotateRotaciona uma key sem downtime.
/v1/keys/:idRevoga uma key imediatamente.
/v1/webhooksLista endpoints webhook.
/v1/webhooksRegistra um endpoint webhook assinado.
/v1/webhooks/:idDesativa um endpoint webhook.
/v1/webhooks/:id/deliveriesInspeciona tentativas recentes e falhas.
Dispare jornadas de WhatsApp, revise entregas e sincronize eventos de negócio.
/v1/journeysLista journey templates disponíveis na conta.
/v1/triggerInscreve um contato numa jornada ou template workflow.
/v1/trigger/status/:idExplica o resultado atual de entrega de um trigger.
/v1/trigger/validateValida um payload antes do envio.
/v1/trigger/batchDispara um lote de contatos com resultado por linha.
/v1/eventsEnvia um evento externo de negócio para o InstantReply.
/v1/campaigns/:id/sendInicia o envio de uma campanha aprovada.
Valide, envie e depure templates de WhatsApp sem adivinhar política da Meta.
/v1/templatesLista templates e status no InstantReply e na Meta.
/v1/templatesCria um rascunho de template.
/v1/templates/:id/validateRevisa categoria e oferece coaching para UTILITY.
/v1/templates/:id/submitEnvia o template para revisão da Meta.
/v1/developer/capabilitiesLê escopos, features habilitadas e limites.
/v1/developer/onboardingConsulta checklist de integração.
/v1/developer/limitsConsulta rate limits e cotas.
/v1/developer/troubleshooting/errors/:codeBusca um erro conhecido do provedor.
Registre POST /v1/webhooks uma vez e o InstantReply enviará eventos em tempo real para seu servidor. A entrega é at-least-once, então processe X-InstantReply-Delivery de forma idempotente.
Cada webhook tem um segredo whsec_. Verifique X-InstantReply-Signature com HMAC-SHA256 sobre timestamp.rawBody antes de confiar no payload. Tentativas recentes ficam em GET /v1/webhooks/:id/deliveries.
app.post("/webhooks/instantreply", express.raw({ type: "application/json" }), (req, res) => {
const timestamp = req.header("X-InstantReply-Timestamp")
const signature = req.header("X-InstantReply-Signature")
const rawBody = req.body.toString("utf8")
verifyHmacSha256({
secret: process.env.IR_WEBHOOK_SECRET,
payload: timestamp + "." + rawBody,
signature,
})
res.sendStatus(204)
})| Evento | Quando dispara |
|---|---|
message.received | Um cliente envia mensagem por WhatsApp, Instagram ou Messenger. |
message.sent | Sai uma mensagem pela IA, dashboard, API, automação ou jornada. |
conversation.created | Uma conversa nova abre por inbound, coexistence ou jornada. |
conversation.closed | Uma conversa é resolvida manualmente ou por automação. |
conversation.assigned | O owner muda por atribuição manual ou regra de roteamento. |
contact.updated | Lead extraction ou CRM sync atualiza um contato. |
template.status_update | A Meta reporta revisão ou mudança de qualidade de um template. |
message.delivery_failed | O provedor rejeita ou falha a entrega depois das tentativas. |
Os endpoints de templates ajudam equipes a publicar templates de WhatsApp com compliance. Valide categoria, envie para a Meta, inspecione resultados do provedor e explique erros conhecidos.
Swagger/OpenAPI gerado está disponível em ambientes não produtivos para validação interna. Produção não expõe /openapi.json de forma intencional. Use esta referência, o catálogo REST e o guia rápido como superfície pública.
Sua integração está pronta quando estes pontos estão certos.