L'objet du canal Viber pour [Advanced transactional](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-transactional/2.0/). Il se place dans l'objet `channel` sous la clé `viber` - voir [Cascade](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-cascade/).

> [!IMPORTANT]
> Les messages promotionnels utilisent un objet Viber **différent** sous la même clé - il comporte un bouton et une image au lieu de modèles. Voir [Viber – promotionnel](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-viber-promotionnel/).

```json
{
	"viber": {
		"sender": "BulkGate",
		"expiration": 300
	}
}
```

## Objet Viber

| NOM DU PARAMÈTRE    | VALEUR                                                                                                                                            | OBLIGATOIRE | VALEUR PAR DÉFAUT |
|:--------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------|:---------:|:-------------:|
| text                | Texte du message Viber. Remplace le `text` de premier niveau, voir [Quel texte est utilisé](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-cascade/)                                     |    Non     |    `null`     |
| sender              | Expéditeur Viber enregistré. Il doit d'abord être enregistré. Pour l'enregistrement, contactez le support [ici](https://www.bulkgate.com/fr/nous-contacter/)                              |  **Oui**  |       -       |
| expiration          | 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               |    Non     |     `300`     |
| template_id         | Clé d'un modèle Viber approuvé précédée de `@` (p. ex. `@order-confirmation`), ou l'ID du modèle chez Viber. **Lorsqu'il est renseigné, le message est envoyé sous forme de modèle** et `text` n'est pas utilisé |    Non     |    `null`     |
| template_language   | Code de la version linguistique du modèle. La plupart des langues ont un code à deux lettres (`cs`, `en`), les exceptions sont `fr_FR`, `es_ES`, `pt_BR`, `pt_PT`, `zh-Hans` et `zh-Hant` |    Non     |     `en`      |
| template_parameters | Tableau associatif des paramètres du modèle, p. ex. : `{"code": "0451"}`                                                                            |    Non     |     `[]`      |

> [!IMPORTANT]
> C'est `template_id` qui fait passer le message en modèle - pas `use_template`. Le paramètre `use_template` est toujours accepté pour des raisons de rétrocompatibilité, mais il n'a aucun effet sur cet endpoint.

Tout message Viber transactionnel doit reposer sur un modèle approuvé au préalable par Viber. La procédure d'enregistrement d'un modèle est décrite sur la page [Enregistrement d'un modèle Viber](https://www.bulkgate.com/fr/centre-d-aide/viber/enregistrement-modeles-viber/).

> [!WARNING]
> **Sans `template_id`, le message n'est pas facturé au tarif transactionnel.** Un message Viber envoyé via cet endpoint sans modèle part au tarif **promotionnel** ; seul un message reposant sur un modèle approuvé est facturé comme transactionnel.

## Exemple de requête complète

Viber d'abord, SMS en solution de repli. Le `text` de premier niveau est utilisé par les deux branches de la cascade ; `expiration` indique combien de temps nous attendons Viber avant de passer au SMS.

```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": ["420777777777"],
	"text": "Your order 4517 has been shipped.",
	"channel": {
		"viber": {
			"sender": "BulkGate",
			"expiration": 120
		},
		"sms": {
			"sender_id": "gText",
			"sender_id_value": "BulkGate"
		}
	}
}
```

Le même message sous forme de modèle approuvé. `template_id` fait passer la branche Viber au modèle, de sorte que le `text` de premier niveau n'atteint que la branche SMS - et la branche Viber est facturée au tarif transactionnel.

```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": ["375291234567"],
	"text": "Your verification code is 0451.",
	"channel": {
		"viber": {
			"sender": "BulkGate",
			"template_id": "TEMPLATE_ID",
			"template_language": "en",
			"template_parameters": {"code": "0451"}
		},
		"sms": {
			"sender_id": "gText",
			"sender_id_value": "BulkGate"
		}
	}
}
```

La réponse est la même pour tous les canaux - voir [Advanced transactional](https://www.bulkgate.com/fr/documentation/advanced-api/advanced-transactional/2.0/).
