> ## Documentation Index
> Fetch the complete documentation index at: https://docs.impulsodigital.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Varios clientes en un CRM

> Para socios y agencias: conectar las cuentas de todos tus clientes a un mismo CRM, sin mezclarlas.

Si manejas varias cuentas de Impulso (por ejemplo, eres socio y cada cliente tiene su propio número), tu CRM se
conecta con **una llave por cliente**. Así cada cliente queda aislado: una llave nunca ve ni toca otra cuenta.

**1. Crea una llave por cliente**

En tu panel de socio: **Cuentas → el cliente → Llaves de API → Crear llave**. Guárdala en tu CRM asociada a ese
cliente (la llave se muestra una sola vez y nunca viaja por chat ni por correo).

**2. Registra tu dirección de avisos en cada cuenta**

Con la llave de cada cliente, tu CRM hace una sola llamada (no hace falta entrar al panel):

```bash theme={null}
curl -X POST https://api.impulsodigital.app/v1/webhooks \
  -H "Authorization: Bearer $LLAVE_DEL_CLIENTE" -H "Content-Type: application/json" \
  -d '{ "url": "https://tu-crm.com/impulso", "events": ["message.received", "message.sent", "message.delivered", "message.read", "message.failed", "contact.created", "contact.opted_out", "contact.opted_in"] }'
```

Puedes usar **la misma dirección** para todos: guarda el `secret` que devuelve cada cuenta para verificar sus firmas.

**3. Ubica cada aviso en su cliente**

Cada aviso trae `account.id` (la cuenta) y `data.number` (el número de WhatsApp por el que pasó). Con eso tu CRM
sabe de qué cliente es y con qué `secret` verificar la firma.

**4. Envía en nombre de cada cliente**

Para escribir desde la cuenta de un cliente, usa su llave. Para un cliente nuevo, repite los pasos 1 y 2.

## Lo que trae cada aviso para tu CRM

* **Quién contestó**: `data.message.from` (`contact`, `agent` o `team`) y `data.message.sent_by` con el `id` y el
  nombre de la persona del equipo.
* **Enlace al panel**: `data.conversation.panel_url` abre la conversación en el panel del cliente.
* **Prospectos nuevos**: `contact.created` cuando escribe un número por primera vez.
* **Bajas**: `contact.opted_out` cuando la persona escribe STOP o pide no recibir más mensajes.

## Facturación por cliente

`GET /usage?month=2026-11` con la llave de cada cliente da sus mensajes del mes (recibidos, enviados por el agente de
IA y por el equipo, y plantillas por categoría). Meta cobra las plantillas directamente a la cuenta de WhatsApp de cada
cliente, según la categoría y el país.

> [!TIP]
>
> ¿Necesitas probar sin tocar números reales? Pídenos una cuenta de pruebas con un número de prueba de Meta.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.