L'objet `channel` détermine par quels canaux le message est envoyé et dans quel ordre. Il est disponible dans [Advanced transactional](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-transactional/2.0/) et [Advanced promotional](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-promotional/2.0/), uniquement dans la version `2.0` de l'API.

## Tableau des canaux

Chaque clé de l'objet `channel` correspond à un canal et contient l'objet propre à ce canal.

| CLÉ          | OBJET DU CANAL                                                                                                                     |
|:-------------|:-----------------------------------------------------------------------------------------------------------------------------------|
| `sms`        | [SMS](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-sms/)                                                                                                       |
| `viber`      | [Viber – transactionnel](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-viber-transactionnel/) / [Viber – promotionnel](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-viber-promotionnel/)       |
| `rcs`        | [RCS](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-rcs/)                                                                                                       |
| `whatsapp`   | [WhatsApp](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-whatsapp/)                                                                                             |

## Ordre de la cascade

**L'ordre des clés dans votre requête est l'ordre de la cascade.** La première clé est le canal principal ; si le message ne peut pas être remis par ce canal, le canal suivant de la liste est utilisé.

```json
{
	"channel": {
		"viber": { "sender": "BulkGate" },
		"sms": { "sender_id": "gText", "sender_id_value": "BulkGate" }
	}
}
```

Ici, Viber est essayé en premier, le SMS en second. Si vous intervertissez les deux clés, la priorité s'inverse - rien d'autre ne change dans la requête.

> [!IMPORTANT]
> Le SMS n'est **pas** ajouté automatiquement à la fin de la cascade. Si vous voulez le SMS comme dernier recours, indiquez explicitement l'objet `sms`. Une cascade composée uniquement de `{"viber": {…}}` n'a aucun canal de secours.

Si `channel` est entièrement omis, le message est envoyé par SMS avec l'expéditeur par défaut.

## Passage d'un canal à l'autre - `expiration`

Chaque objet de canal a sa propre `expiration` - le délai en secondes après lequel le canal suivant de la cascade est utilisé. Les valeurs inférieures à `60` sont ignorées et remplacées par la valeur par défaut du canal.

| CANAL      | `expiration` PAR DÉFAUT |
|:-----------|:---------------------:|
| `viber`    | `300`                 |
| `rcs`      | `60`                  |
| `whatsapp` | `180`                 |

## Quel texte est utilisé

`sms` et `viber` cherchent le texte à trois endroits successifs, le premier non vide l'emporte :

| PRIORITÉ | EMPLACEMENT                          | REMARQUE                                                         |
|:--------:|:--------------------------------------|:-----------------------------------------------------------------|
| 1        | `number[].text`                       | texte d'un destinataire précis, voir [Valeur `number`](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-transactional/2.0/) |
| 2        | `channel.sms.text` / `channel.viber.text` | texte pour ce seul canal                                      |
| 3        | `text`                                | texte de premier niveau de la requête                            |

`rcs` et `whatsapp` **n'en lisent aucun**. Leur contenu se trouve dans leur propre objet de variante (`message`, `template`, `card`, …), le `text` de premier niveau n'a donc aucun effet sur eux.

## Erreurs

| TYPE                       | SIGNIFICATION                                                                |
|:---------------------------|:-----------------------------------------------------------------------------|
| `invalid_rcs_variant`      | l'objet `rcs` ne contient aucun ou plus d'un des éléments `message`/`file`/`card`/`carousel` |
| `invalid_whatsapp_variant` | l'objet `whatsapp` ne contient aucun ou plus d'un des éléments `template`/`otp`/`message`/`file`/`location` |
| `no_recipients`            | la requête n'a produit aucun destinataire valide                             |

Consultez tous les types d'erreurs de Simple API et Advanced API [ici](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/types-d-erreurs-api/).
