Skip to content

Referência da API ​

API REST do Falia (atendimento com IA no WhatsApp). Base: https://falia.com.br/api/v1. Erros em application/problem+json (RFC 9457) com request_id. Datas em milissegundos UTC. Paginação por cursor. Aceita e devolve trace W3C (traceparent / X-Trace-Id). Webhooks assinados com HMAC-SHA256 (X-Proton-Signature). MCP em https://falia.com.br/mcp.

Versão 0.3.0. Gerado de openapi.json — não edite à mão.

Conexão do número de WhatsApp ​

Estado da conexão com o WhatsApp ​

http
GET /api/v1/status

Autenticação: api_key (conversations:read)

Respostas: 200 ConnectionStatus · 401 · 502

Conversas e mensagens ​

Listar conversas ​

http
GET /api/v1/conversations

Da mais recente para a mais antiga. Paginação por cursor.

Autenticação: api_key (conversations:read)

ParâmetroOndeTipoDescrição
limitqueryinteger1 a 100 (padrão 50).
cursorquerystring

Respostas: 200 ConversationPage · 400 · 401 · 403

Mensagens de uma conversa ​

http
GET /api/v1/conversations/{id}/messages

As mensagens mais recentes, da mais antiga para a mais nova.

Autenticação: api_key (conversations:read)

ParâmetroOndeTipoDescrição
idpathstringid da conversa (ex.: 5511999990000@s.whatsapp.net)
limitqueryintegerQuantas das mensagens mais recentes: 1 a 100 (padrão 40).

Respostas: 200 MessageList · 400 · 401 · 403

Mudar o status da conversa ​

http
POST /api/v1/conversations/{id}/status

open (aberta), pending (aguardando o cliente) ou resolved (resolvida). Mensagem nova do cliente reabre a conversa.

Autenticação: api_key (messages:send)

ParâmetroOndeTipoDescrição
idpathstringid da conversa (ex.: 5511999990000@s.whatsapp.net)

Corpo: StatusInput

Respostas: 200 ConversationStatus · 400 · 401 · 403

Enviar mensagem de texto ou modelo ​

http
POST /api/v1/messages

Aceita Idempotency-Key: repetir a chamada com a mesma chave em até 24 h devolve a mesma resposta sem enviar de novo. Limite: 1000 mensagens por dia por empresa. Na API oficial, texto livre só até 24 h depois da última mensagem do cliente (409 depois disso); fora da janela, envie template.

Autenticação: api_key (messages:send)

ParâmetroOndeTipoDescrição
Idempotency-Keyheaderstring (opcional)Chave única da operação (até 100 caracteres)

Corpo: NewMessage

Respostas: 201 SentMessage · 400 · 403 · 409 · 429 · 502

Modelos aprovados (API oficial) ​

http
GET /api/v1/templates

Modelos aprovados pela Meta para a conta da empresa. Só para empresas na API oficial (409 nas demais).

Autenticação: api_key (conversations:read)

Respostas: 200 TemplateList · 401 · 403 · 409 · 502

Eventos enviados para o seu sistema: message.received, message.sent, connection.updated, conversation.handoff_requested, conversation.updated, conversation.rated, message.status_updated ​

Reenviar uma entrega ​

http
POST /api/v1/webhook-deliveries/{id}/retry

Autenticação: api_key (webhooks:manage)

ParâmetroOndeTipoDescrição
idpathinteger

Respostas: 202 · 404

Listar endpoints de webhook ​

http
GET /api/v1/webhooks

Autenticação: api_key (webhooks:manage)

Respostas: 200 Endpoint[] · 401 · 403

Cadastrar endpoint de webhook ​

http
POST /api/v1/webhooks

Eventos: message.received, message.sent, connection.updated, conversation.handoff_requested ou *. O secret volta só nesta resposta.

Autenticação: api_key (webhooks:manage)

Corpo: NewEndpoint

Respostas: 201 CreatedEndpoint · 400 · 403

Remover endpoint de webhook ​

http
DELETE /api/v1/webhooks/{id}

Autenticação: api_key (webhooks:manage)

ParâmetroOndeTipoDescrição
idpathinteger

Respostas: 204 · 404

Últimas 100 entregas de um endpoint ​

http
GET /api/v1/webhooks/{id}/deliveries

Autenticação: api_key (webhooks:manage)

ParâmetroOndeTipoDescrição
idpathinteger

Respostas: 200 Delivery[] · 404

Modelos ​

ApiMessage ​

CampoTipoObrigatórioDescrição
idstringsim
from_mebooleansim
sent_atintegersimMilissegundos UTC.
kindstringsimtext, image, audio, video, document, sticker, poll…
textstringsim
has_mediabooleansim
authorstring (opcional)nãoQuem enviou pelo Falia (atendente, robô ou API key), quando from_me.
senderstring (opcional)nãoEm grupos, quem mandou.

ApiTemplate ​

CampoTipoObrigatórioDescrição
namestringsim
languagestringsimEx.: pt_BR.
categorystringsimMARKETING, UTILITY ou AUTHENTICATION.
bodystringsimTexto do corpo com as variáveis 1, 2…
paramsintegersim
supportedbooleansimfalse: cabeçalho ou botão variável; envie pelo Gerenciador do WhatsApp.

ConnectionStatus ​

CampoTipoObrigatórioDescrição
statestringsimopen (conectado), connecting, close ou inexistente (nunca conectado).
providerstringsimevolution (QR code) ou cloud (API oficial da Meta).

Conversation ​

CampoTipoObrigatórioDescrição
idstringsimIdentificador da conversa no WhatsApp (ex.: 5511999990000@s.whatsapp.net).
namestringsim
is_groupbooleansim
unreadintegersim
last_message_atintegersimÚltima mensagem (milissegundos UTC); 0 se desconhecido.
last_message_textstring (opcional)não
last_message_from_meboolean (opcional)não
statusstringsimopen (cliente escreveu), pending (aguardando o cliente) ou resolved.
assigneenull | Personnão
tagsstring[]simNomes das etiquetas da conversa.

ConversationPage ​

CampoTipoObrigatórioDescrição
dataConversation[]sim
next_cursorstring (opcional)nãoPasse em cursor para a próxima página; null quando acabou.

ConversationStatus ​

CampoTipoObrigatórioDescrição
idstringsim
statusstringsim

CreatedEndpoint ​

Delivery ​

CampoTipoObrigatórioDescrição
idintegersim
event_idstringsim
event_typestringsim
statusstringsimpending, delivered ou failed.
attemptsintegersim
last_statusinteger (opcional)não
last_errorstring (opcional)não
created_atintegersim
delivered_atinteger (opcional)não

Endpoint ​

CampoTipoObrigatórioDescrição
idintegersim
urlstringsim
eventsstring[]sim
activebooleansim
created_atintegersim

MessageList ​

CampoTipoObrigatórioDescrição
dataApiMessage[]simDo mais antigo para o mais novo.

NewEndpoint ​

CampoTipoObrigatórioDescrição
urlstringsimURL https:// pública que receberá os eventos.
eventsstring[]simEventos assinados; ["*"] para todos.

NewMessage ​

CampoTipoObrigatórioDescrição
tostringsimNúmero com DDD (11999990000, +55 11 99999-0000) ou id da conversa.
textstring (opcional)não1 a 4096 caracteres. Omitido quando vai template.
templatenull | TemplateInputnão

Person ​

CampoTipoObrigatórioDescrição
idintegersim
namestringsim

SentMessage ​

CampoTipoObrigatórioDescrição
idstringsim
conversation_idstringsim
sent_atintegersim

StatusInput ​

CampoTipoObrigatórioDescrição
statusstringsimopen, pending ou resolved.

TemplateInput ​

CampoTipoObrigatórioDescrição
namestringsim
languagestringsim
paramsstring[]nãoValores de 1, 2… (até 10, sem quebra de linha).

TemplateList ​

CampoTipoObrigatórioDescrição
dataApiTemplate[]sim

Falia é um produto Proton Code Studio