Ir al contenido

BYOA

Qué vas a lograr: conectar channels WhatsApp con la app Meta de tu agencia, sin depender de la app global de Tsuzuro.

Token handoff: la agencia ejecuta Embedded Signup en su producto, obtiene un token long-lived con Meta y entrega a Tsuzuro solo el resultado operativo.

  • whatsapp_business_management
  • whatsapp_business_messaging
Ventana de terminal
curl -X POST https://api.tsuzuro.com/v1/meta-apps \
-H "Authorization: Bearer $STUDIO_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"workspaceId": "ws_...",
"name": "Agency Meta app",
"appId": "1234567890",
"appSecret": "app-secret-from-meta"
}'

La respuesta incluye verifyToken una sola vez y un webhookUrl con ch_REPLACE_WITH_CHANNEL_ID. Para cada channel real, configura en Meta:

Callback URL: https://api.tsuzuro.com/v1/channels/ch_.../whatsapp/webhook
Verify token: whv_...
Ventana de terminal
curl -X POST https://api.tsuzuro.com/v1/channels/ch_.../whatsapp/connect \
-H "Authorization: Bearer $STUDIO_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"projectId": "prj_...",
"metaAppCredentialId": "map_...",
"accessToken": "EAAB...",
"wabaId": "1234567890",
"phoneNumberId": "1234567890"
}'

Tsuzuro valida el token con debug_token, suscribe la app al WABA, registra el número, cifra el token de acceso y firma/verifica webhooks con el secret de la app BYOA. También se acepta code en vez de accessToken; en ese caso Tsuzuro hace el exchange usando las credenciales de la app registrada por la agencia.