API de Partners de Auphere · Primeros pasos
/ v0.1
Quickstart
Lleva a un cliente desde "acaba de darse de alta en tu producto" hasta "el agente responde en su propio WhatsApp" — cuatro llamadas desde tu backend.
Todo lo de abajo corre desde tu backend con tu clave secreta. Nada de esto va en un navegador.
Las cuatro llamadas
Provisiona el cliente
Llama a esto donde tu producto crea el registro del negocio. Es idempotente por
external_client_ref— usa tu propio id estable (un UUID va bien). Esto clona tu blueprint en un agente aislado y personalizado.POST /v1/partners/clients curl -X POST https://api.auphere.com/v1/partners/clients \ -H "Authorization: Bearer $AUPHERE_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "external_client_ref": "3f6c1a2e-9d41-4b7f-8f2a-0c5d9e1b7a44", "name": "Bodegón El Ávila", "timezone": "America/Caracas", "agent": { "placeholders": { "policies.admin_access.admin_phones": ["+584241234567"] } } }'Obtén los identificadores de Meta
Tu frontend los necesita para abrir Facebook Login for Business. Usa
coexistence_config_idpara que el negocio siga usando la app de WhatsApp Business en su teléfono.GET /v1/partners/whatsapp/signup-config curl https://api.auphere.com/v1/partners/whatsapp/signup-config \ -H "Authorization: Bearer $AUPHERE_SECRET_KEY" # → { "app_id": "…", "coexistence_config_id": "…", # "cloud_api_config_id": "…", "graph_api_version": "v23.0" }Completa la conexión de WhatsApp
Meta le entrega a tu frontend un
codede un solo uso; reenvíalo desde tu backend. Registramos el número, suscribimos el webhook, guardamos las credenciales cifradas y —si tu blueprint auto-activa— el agente empieza a responder.POST /v1/partners/clients/{ref}/whatsapp/signup curl -X POST \ https://api.auphere.com/v1/partners/clients/$CLIENT_REF/whatsapp/signup \ -H "Authorization: Bearer $AUPHERE_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "code": "<oauth code de Meta>", "waba_id": "<waba>", "mode": "coexistence" }' # → { "status": "connected", "display_phone_number": "+584241234567", # "tenant_status": "active", "tenant_activated": true }Envía una campaña
El mismo endpoint sirve para un destinatario o para miles.
202significa encolado y durable — la entrega es asíncrona y puedes consultarla.POST /v1/partners/clients/{ref}/broadcasts curl -X POST \ https://api.auphere.com/v1/partners/clients/$CLIENT_REF/broadcasts \ -H "Authorization: Bearer $AUPHERE_BROADCAST_KEY" \ -H "Content-Type: application/json" \ -d '{ "template_name": "recordatorio_pago_vencido", "language": "es", "idempotency_key": "factura-991-aviso-1", "recipients": [ { "phone": "+584241234567", "variables": { "cliente": "Ana", "monto": "36.00", "fecha": "12/08" } } ] }'
Saber en qué punto está un cliente
Una sola lectura le dice a tu UI qué mostrar: el onboarding o la pantalla de campañas. missing enumera lo que falta (agent, whatsapp, admins, activation).
curl https://api.auphere.com/v1/partners/clients/$CLIENT_REF \
-H "Authorization: Bearer $AUPHERE_SECRET_KEY"
# → { "status": "active", "whatsapp_connected": true,
# "agent_configured": true, "admins_count": 1,
# "ready": true, "missing": [] }El único paso humano
Todo lo anterior es automático salvo la autorización en Meta: alguien con acceso al Meta Business del cliente tiene que completar el popup. Tu admin puede hacerlo en nombre del cliente si tiene acceso delegado — al flujo no le importa quién pulsa, sino que la sesión tenga acceso.