Auphere
Menú de documentación

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

  1. 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"]
          }
        }
      }'
  2. Obtén los identificadores de Meta

    Tu frontend los necesita para abrir Facebook Login for Business. Usa coexistence_config_id para 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" }
  3. Completa la conexión de WhatsApp

    Meta le entrega a tu frontend un code de 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 }
  4. Envía una campaña

    El mismo endpoint sirve para un destinatario o para miles. 202 significa 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).

GET /v1/partners/clients/{ref}
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.