> For the complete documentation index, see [llms.txt](https://docs.cartat.net/cartat-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cartat.net/cartat-api/whatsapp-official-api/official-whatsapp-connection.md).

# Official WhatsApp Connection

Cartat API supports multiple ways to send WhatsApp messages from the same sending endpoint. The system selects the provider from the customer's stored instance data, not from user-facing labels.

```mermaid
flowchart LR
    Client["Client API request"] --> Cartat["Cartat API"]
    Cartat --> Resolver["Provider resolver"]
    Resolver -->|provider = meta| Meta["Meta Cloud API"]
    Resolver -->|provider = qr / web| QR["QR server"]
    Meta --> Log["Message log"]
    Meta --> Daily["Meta daily limit usage"]
    QR --> Log
```

### Current capabilities

| Capability                      |  QR |             Meta Cloud API |
| ------------------------------- | --: | -------------------------: |
| Plain text sending              | Yes |                        Yes |
| Approved template sending       |  No |                        Yes |
| Checks QR status before sending | Yes |                         No |
| Deducts daily send limit        |  No | Yes, after successful send |
| Depends on points or addons     |  No |                         No |
