# Provider WhatsApp

CartRecover AI usa un modello BYO provider: ogni merchant collega il proprio account WhatsApp/API e paga direttamente il suo provider.

Questo evita che i costi Meta, Twilio, 360dialog o altri BSP finiscano nella fattura del proprietario del SaaS.

## Provider supportati

```text
meta_cloud_api
twilio
360dialog
custom_webhook
```

## Meta WhatsApp Cloud API

Campi richiesti:

- WhatsApp Phone Number ID
- WhatsApp Business Account ID
- WhatsApp Access Token

Il merchant paga direttamente i costi Meta nel proprio Business Manager.

## Twilio WhatsApp

Campi richiesti:

- Account SID
- Auth Token
- WhatsApp From
- Content SID

Il template deve essere gestito nel prodotto WhatsApp/Twilio del merchant.

## 360dialog

Campi richiesti:

- API Key
- Base URL, default `https://waba-v2.360dialog.io`

Il merchant paga direttamente 360dialog e gli eventuali costi Meta collegati.

## Webhook/API custom

Campi richiesti:

- Webhook URL
- Bearer token opzionale

CartRecover AI invia un payload standard:

```json
{
  "provider": "custom_webhook",
  "shop_id": 1,
  "template_name": "abandoned_cart_reminder_it",
  "language": "it",
  "recipient_phone": "+393331234567",
  "variables": {
    "customer_name": "Mario",
    "shop_name": "Demo Shop",
    "recovery_url": "https://shop.it/?cartrecover_token=..."
  }
}
```

La risposta dovrebbe includere uno tra:

```json
{
  "message_id": "external-message-id"
}
```

oppure:

```json
{
  "id": "external-message-id"
}
```
