Skip to main content
O meta-proxy é um relay autenticado: você faz a chamada com seu channel_token, e o Coexy injeta o token de acesso Meta real antes de encaminhar para a API da Meta. Seus tokens Meta nunca ficam expostos no seu código.

A regra de ouro

Para qualquer chamada à Meta Graph API, substitua apenas dois elementos:O restante — método HTTP, path, query params, body e campos — segue exatamente a documentação oficial da Meta.

Autenticação

O channel_token identifica um canal específico. Encontre-o em Painel Coexy → Canais → detalhe do canal, ou no campo channel_token da resposta de GET /api/channels.
O channel_token é diferente da COEXY_API_KEY. Não os misture.

Exemplos

Listar templates

Enviar mensagem de texto

Enviar template com variável

O waba_id e o phone_number_id do canal estão disponíveis nos campos correspondentes da resposta de GET /api/channels/:id.

Idempotência no envio

Para evitar envios duplicados em caso de retry, inclua idempotency_key no body:
O Coexy remove o campo antes de encaminhar para a Meta e garante que a mesma mensagem não seja enviada duas vezes com a mesma chave.

Segurança — nunca chame o meta-proxy direto do frontend

Se você usa Lovable, Bolt, Cursor ou qualquer plataforma que gera código React, nunca chame o meta-proxy diretamente do frontend. O channel_token ficaria visível no browser para qualquer usuário.
Crie uma Edge Function no Supabase para cada operação (ex: send-whatsapp-message). O frontend chama sua Edge Function via supabase.functions.invoke(), e a Edge Function usa o secret para chamar o Coexy. As credenciais nunca chegam ao browser.

Erros