POST com JSON no corpo (nada vai na URL) e a sua resposta decide a próxima tela.
A Meta chama a Coexy, que confere a assinatura da Meta, decripta e repassa o JSON aberto para a sua URL, assinado com o
seu signing_secret. A sua resposta é JSON comum: a Coexy criptografa e devolve à Meta. Você não lida com chaves nem
criptografia.
Em 4 passos
A aba Endpoint do editor de Flows guia a configuração:- URL do seu sistema: o endereço https que vai receber as requisições.
- Construa o endpoint: copie o prompt pronto para a ferramenta que você usa (Lovable, Claude Code, Cursor ou
outra). Ele já traz as telas, os campos, as respostas esperadas e a verificação da assinatura deste Flow. Copie o
segredo à parte e guarde como
COEXY_SIGNING_SECRET. Usa o MCP da Coexy? Peça à sua IA “implemente o endpoint do Flow X”: ela lê o contrato peloendpoint_contractdeflows_get. - Teste: um momento por vez ou todos. A Coexy chama a sua URL como a Meta chamaria e diz o que corrigir.
- Publique o Flow nos canais.
Requisição
Resposta
Responda em até 8 segundos, com status 200 e JSON de até 256 KB. Ir para a próxima tela, com os dados que ela declara (os nomes e tipos dodata da tela no Flow JSON, sem campos a
mais ou a menos):
interactive.nfm_reply):
flow_token não valer mais, responda HTTP 427: o cliente vê que o Flow expirou.
No modo Coexy cuida, a checagem de saúde da Meta (
ping) é respondida pela Coexy e os avisos de erro da Meta
(data.error) chegam só para registro: a Coexy já responde à Meta por você.Assinatura
X-Coexy-Signature é sha256= seguido do HMAC-SHA256, em hexadecimal, de X-Coexy-Timestamp + "." + corpo bruto,
com o signing_secret do Flow. Calcule sobre o corpo exatamente como chegou, compare em tempo constante e recuse
timestamps com mais de 5 minutos.
Node.js
Python
Testar
No passo 3 da aba Endpoint (ou comflows_test_endpoint no MCP, usando step_id ou all), a Coexy envia a
requisição de cada momento, assinada como as reais e com flow_token “coexy-test”: trate esse token como válido e
responda com dados de exemplo. Cada resposta é conferida contra a tela de destino e o resultado diz, em português, o
efeito para o cliente (“a tela Horário não vai abrir”), o que está errado (campo faltando, tipo errado, tela fora do
routing_model, HTTP diferente de 200, tempo acima de 8 segundos) e a resposta esperada. O botão Copiar correção
para a sua IA gera um prompt curto com o erro e o formato certo.
Precisa que os dados não passem pela Coexy?
Para requisitos de segurança em que os dados do cliente final não podem ser abertos por terceiros, há o modo avançado Meu servidor, pela API e pelo MCP (flows_set_endpoint com mode: "own" e flows_channel_encryption): a Meta
chama o seu servidor direto, com o corpo criptografado, e o seu servidor decripta com a chave privada dele e
criptografa as respostas. Depois de decriptar, os formatos são os desta página.
