Mesmos recursos da UI, agora em REST.
Voz, WhatsApp, chatbot, campanhas, conversas, relatórios, usuários. A API cobre as rotinas que a interface cobre — sem BSP intermediário, sem integração paga por fora. OpenAPI público, autenticação JWT, outbox com retry pros seus endpoints e nó MCP dentro do flow builder.
- OpenAPI aberto
- 14 dias grátis
- Sem cartão pra testar o endpoint
curl -X POST https://api.interaflow.com.br/v1/messages \
-H "Authorization: Bearer $IF_TOKEN" \
-H "Idempotency-Key: 9f2b-4821" \
-d '{
"to": "+5511998887777",
"channel": "whatsapp",
"template": "order_update",
"vars": { "nome": "Ana", "pedido": "#4821" }
}'
# → 201 Created { "id": "msg_01HN...", "status": "queued" }API · GA
v1 estável
OpenAPI 3.1
/openapi.json
O que é uma API de contact center
Uma API de contact center é a superfície programática que permite ao seu time técnico fazer tudo que a interface do atendimento faz — sem abrir a interface. Criar campanha, disparar mensagem, consultar conversa, pedir transcrição, abrir ticket, mover contato de fila, extrair relatório: cada ação vira uma chamada HTTP autenticada, com resposta estruturada e auditável.
A diferença entre uma CCaaS integrável e uma CCaaS com API é cobertura. Muita plataforma publica uma API que serve só pra disparar mensagem de WhatsApp ou consultar saldo — quem quer automatizar o restante (campanhas, fluxos, classificação, fila) precisa abrir a UI. A proposta da Interaflow é que a API cubra a operação inteira, na mesma granularidade da UI.
Quando faz sentido ir pela API em vez da UI
Três situações em que começar pela API paga mais do que começar pela tela:
- Seu produto já é o contato com o cliente. App de entrega, marketplace, fintech: o atendimento precisa viver dentro do fluxo do produto, não num painel separado. Você chama a API quando faz sentido no fluxo — criar conversa na hora que o pedido atrasa, enriquecer o contato quando ele entra no funil.
- Você tem CRM/ERP caseiro ou muito customizado. Em vez de treinar o atendente pra abrir dois sistemas, sua integração joga o contexto do CRM na chamada da API e vice-versa. O atendente só vê uma tela — a sua.
- Operação com volume alto de dados sensíveis. Você prefere que a mensagem, a transcrição e o evento da chamada nunca passem por tela humana desnecessária — a API entrega direto no seu pipeline (data warehouse, CRM, compliance).
API-first, UI-segundo (ou ao lado)
Na prática, a maioria dos clientes Interaflow usa as duas juntas: atendentes humanos operam pela interface; integração, automação e relatórios rodam pela API. A promessa é que tudo que o supervisor viu na tela, seu backend pode consumir via JSON — mesma semântica, mesmo SLA. E quando você quer estender o atendimento (adicionar uma fonte de dado à conversa, acionar uma ferramenta externa durante o diálogo), o caminho recomendado é o nó MCP no flow builder, não uma integração out of band.
Quickstart
Hello, Interaflow
Mesma chamada — disparar uma mensagem de WhatsApp — em quatro linguagens. Copie o que o seu stack preferir e troque o token pelo seu. npm/pip/go get opcional: todos os exemplos rodam com biblioteca HTTP padrão.
curl -X POST https://api.interaflow.com.br/v1/messages \
-H "Authorization: Bearer $IF_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 9f2b-4821" \
-d '{
"to": "+5511998887777",
"channel": "whatsapp",
"template": "order_update",
"vars": { "nome": "Ana", "pedido": "#4821" }
}'Os quatro exemplos produzem exatamente a mesma chamada. A API é a verdade canônica, não o SDK. Ver todos os endpoints → · Baixar OpenAPI →
Superfícies
Quatro superfícies. Uma API.
Não existe "uma API" só — existe uma API composta. A REST é a porta oficial, o Outbox é como a Interaflow avisa o seu sistema, o MCP é como um agente de IA pede contexto, e o SDK/CLI é açúcar em cima disso.
- GA · OpenAPI 3.1
REST
POST /v1/messages · GET /v1/conversations
Você chama a Interaflow. Criar, ler, atualizar, deletar recursos — campanhas, mensagens, contatos, conversas, relatórios.
Quando usar
Ação síncrona — disparo de mensagem, consulta de relatório, mudança de fila.
Atenção
Chamadas síncronas dependem da sua latência + a nossa. Pra alto volume, combine com idempotency-key + backoff.
- GA · retry + DLQ
Outbox (webhooks)
event: call.ended · conversation.closed · message.received
A Interaflow chama o seu endpoint. Eventos de chamada, conversa, mensagem e classificação — entregues com HMAC e backoff.
Quando usar
Reação assíncrona — "quando uma chamada termina, manda o CDR pro meu data warehouse".
Atenção
Seu endpoint precisa ser idempotente — a Interaflow retransmite em falha (retry + DLQ).
- consumo GA · server roadmap
MCP
nó `mcp` no flow builder · tools/list, tools/call
Um LLM (agente seu ou nosso) pede contexto estruturado durante uma conversa. Chama ferramenta externa via nó `mcp` no flow builder.
Quando usar
Estender o atendimento com fonte de dado ou ferramenta externa sem sair do fluxo conversacional.
Atenção
Protocolo novo (spec Anthropic, 2025). A Interaflow consome MCP via nó do flow builder hoje; expor a Interaflow como MCP server está no roadmap.
- gerado via OpenAPI · SDKs oficiais em roadmap
SDK / CLI
npm · pip · go get (gerado via openapi-generator)
Açúcar em cima do REST + auth + paginação. Gerado a partir do OpenAPI, ou CLI pra operar a conta do terminal.
Quando usar
Você prefere objeto tipado e retry embutido. Ou usa a CLI pra operar a conta do terminal.
Atenção
Todo SDK tem atraso de dias vs. a API. Pra features recém-lançadas, vá de REST direto.
Recursos
O que a API entrega, além dos endpoints
Endpoint é commodity. O que diferencia é o que tem em volta — auth, idempotência, observabilidade, retry, versionamento. Tudo abaixo é nativo, sem serviço pago por fora.
Autenticação JWT com escopo e expiração
Auth via JWT — Bearer token no header Authorization. Tokens têm expiração configurável por tenant e escopo (leitura, escrita, admin). Emissão via painel ou POST /v1/auth/token. Credenciais de canal (WhatsApp, SIP, CRM) com criptografia Fernet — a API nunca devolve secret em claro.
POST /v1/auth/token
{ "grant_type": "client_credentials",
"scope": "messages:write conversations:read" }
→ 200 OK
{ "access_token": "eyJhbGci...",
"expires_in": 3600,
"scope": "messages:write conversations:read" }Idempotency-Key nativa em writes
Todo POST e PATCH aceita header Idempotency-Key. Se a mesma key chegar duas vezes em até 24h, a Interaflow devolve a mesma resposta da primeira — sem executar de novo. Resolve o clássico "meu job falhou após o envio mas antes do ack".
POST /v1/messages
Idempotency-Key: 9f2b-4821
→ 201 Created (primeira chamada)
POST /v1/messages
Idempotency-Key: 9f2b-4821
→ 200 OK X-Idempotent-Replay: true (segunda chamada)Outbox pattern pros seus webhooks
Quando um evento acontece (chamada terminou, conversa foi fechada, mensagem chegou, classificação mudou), a Interaflow empilha em uma outbox interna e chama o seu endpoint — com assinatura HMAC no header X-Interaflow-Signature, body JSON normalizado e política de retry com backoff exponencial + DLQ pra eventos que falharem após N tentativas. Você não perde evento — e não precisa montar fila no seu lado.
[evento: call.ended]
↓
[outbox] → POST https://seu-app.com/hooks
↓ falha
[retry · 5x · backoff exp.]
↓ ainda falha
[DLQ] → alerta no painelOpenAPI 3.1 público em /openapi.json
Toda rota é descrita em OpenAPI 3.1 gerado automaticamente pelo FastAPI, versionado junto com cada release. Isso dá: geração de cliente automática pro seu stack, documentação interativa em /docs (Swagger UI) e /redoc, e diff entre versões.
npx @openapitools/openapi-generator-cli generate \
-i https://api.interaflow.com.br/openapi.json -g typescript-fetchVersionamento /v1 e deprecação com lead time
A API é versionada por prefixo (/v1, /v2 no futuro). Breaking changes não entram em /v1 — viram /v2 com pelo menos 6 meses de lead time. Campos novos são aditivos; deprecações ganham header X-Interaflow-Deprecation com a data de sunset.
v1 (hoje)
API estável · GA
v1.x
Campos aditivos · sem breaking
v2 (+6m)
Lead time mínimo · X-Interaflow-Deprecation nos endpoints v1
Observabilidade no seu lado
Cada resposta traz X-Request-Id (correlacionável no log da Interaflow). Suporte a W3C Trace Context (traceparent) pra você correlacionar a chamada com o trace do seu backend. Rate limits retornam X-RateLimit-Remaining e Retry-After — sem surpresa de 429.
HTTP/1.1 200 OK
X-Request-Id: req_01HN3ZV...
X-RateLimit-Remaining: 58
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01Matriz de decisão
Por onde começar a integração?
Três caminhos que cobrem a maioria dos casos dev. Se a sua situação não está aqui, tem um quarto recorte no CTA do fim da página.
Migração gradual — UI primeiro, API depois
- Pra quem
- Operações que entraram pela UI e querem começar a puxar dados pro data warehouse e pro CRM.
- Como funciona
- Configura outbox webhook pra eventos de chamada e conversa → joga em S3/BigQuery/Snowflake via seu pipeline existente. REST entra quando surge o primeiro caso de orquestração.
- Bom
- Sem troca de UI. Sem parar operação. Outbox como primeira superfície.
- Atenção
- Você ainda precisa que seu pipeline consuma o payload normalizado — planeje o contrato de evento antes de ligar.
Integração profunda — API-first desde o dia 1
- Pra quem
- Produto que já é o contato com o cliente (app, marketplace, fintech). O atendimento vive dentro do fluxo do seu produto.
- Como funciona
- CRUD de contatos e conversas via REST, webhook pra cada evento relevante, JWT com rotação programada. Time humano usa a UI só pra supervisão ao vivo.
- Bom
- Uma tela pro atendente (a sua). Toda automação e enriquecimento em código do seu lado.
- Atenção
- Exige engenharia própria pra cuidar de integração, observabilidade e rotação de credencial.
Extensão via MCP — agentes de IA consumindo contexto
- Pra quem
- Você tem base de conhecimento, sistema de cotação, API de saldo — e quer que o agente de voz ou WhatsApp chame durante a conversa.
- Como funciona
- Expõe seu serviço como MCP server (padrão Anthropic, 2025) → adiciona o nó `mcp` no flow builder apontando pro seu endpoint → o agente usa a ferramenta como contexto no turno.
- Bom
- Bom encaixe com saúde, jurídico, financeiro — onde o agente precisa consultar antes de responder.
- Atenção
- Expor a Interaflow como MCP server (pra LLMs externos) ainda não é GA — está no roadmap.
Vale combinar com CRM, URA e integrações nativas onde fizer sentido. Pra integrar WhatsApp direto na camada API, ver /whatsapp/api.
A documentação é o próximo clique
Swagger UI em /docs, ReDoc em /redoc, OpenAPI cru em /openapi.json. Tudo público, tudo versionado. Você vê o endpoint, testa o request direto no navegador com a sua API key, copia o curl. Sem cadastro pra ver a estrutura.
- endpoints documentados
- —
- espec pública
- OpenAPI 3.1
- três formas de ler a API
- /docs · /redoc · /openapi.json
Sem login pra navegar. API key só pra rodar request real.
FAQ
Perguntas que o time de engenharia faz
Começar
14 dias
pra auditar a API inteira sem cartão
Pega uma API key. Roda um curl. Decide.
14 dias pra testar a API inteira sem cartão: emite token, dispara mensagem, configura webhook, chama relatório. Se a cobertura não for a que a gente promete, você sai sem fricção. Se for, migra o restante do produto pra cá.
14 dias. Sem cartão. OpenAPI aberto pra você auditar antes de criar conta.