Das Objekt `channel` bestimmt, über welche Kanäle und in welcher Reihenfolge die Nachricht gesendet wird. Es steht in [Advanced transactional](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-transactional/2.0/) und [Advanced promotional](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-promotional/2.0/) zur Verfügung, und zwar nur in der API-Version `2.0`.

## Tabelle der Kanäle

Jeder Schlüssel des Objekts `channel` steht für einen Kanal und enthält das eigene Objekt dieses Kanals.

| SCHLÜSSEL    | KANALOBJEKT                                                                                                                        |
|:-------------|:-----------------------------------------------------------------------------------------------------------------------------------|
| `sms`        | [SMS](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-sms/)                                                                                                       |
| `viber`      | [Viber – transaktional](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-viber-transaktional/) / [Viber – Werbung](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-viber-werbung/)            |
| `rcs`        | [RCS](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-rcs/)                                                                                                       |
| `whatsapp`   | [WhatsApp](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-whatsapp/)                                                                                             |

## Reihenfolge der Kaskade

**Die Reihenfolge der Schlüssel in Ihrer Anfrage ist die Reihenfolge der Kaskade.** Der erste Schlüssel ist der primäre Kanal; kann die Nachricht über ihn nicht zugestellt werden, wird der nächste Kanal in der Liste verwendet.

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

Hier wird zuerst Viber versucht, danach SMS. Vertauschen Sie die beiden Schlüssel, vertauscht sich auch die Priorität – sonst ändert sich an der Anfrage nichts.

> [!IMPORTANT]
> SMS wird **nicht** automatisch an das Ende der Kaskade angehängt. Wenn Sie SMS als letzten Fallback wünschen, führen Sie das Objekt `sms` ausdrücklich auf. Eine Kaskade nur aus `{"viber": {…}}` hat überhaupt keinen Fallback.

Fehlt `channel` vollständig, wird die Nachricht als SMS mit dem Standardabsender gesendet.

## Wechsel zwischen Kanälen – `expiration`

Jedes Kanalobjekt hat seine eigene `expiration` – das Zeitlimit in Sekunden, nach dem der nächste Kanal der Kaskade verwendet wird. Werte unter `60` werden ignoriert und durch den Standardwert des jeweiligen Kanals ersetzt.

| KANAL      | STANDARDWERT `expiration` |
|:-----------|:---------------------:|
| `viber`    | `300`                 |
| `rcs`      | `60`                  |
| `whatsapp` | `180`                 |

## Welcher Text verwendet wird

`sms` und `viber` greifen nacheinander auf drei Stellen zurück, die erste nicht leere gewinnt:

| PRIORITÄT | STELLE                               | HINWEIS                                                          |
|:--------:|:--------------------------------------|:-----------------------------------------------------------------|
| 1        | `number[].text`                       | Text eines bestimmten Empfängers, siehe [Wert `number`](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-transactional/2.0/) |
| 2        | `channel.sms.text` / `channel.viber.text` | Text nur für diesen einen Kanal                               |
| 3        | `text`                                | Text der Anfrage auf oberster Ebene                              |

`rcs` und `whatsapp` **lesen keine dieser Stellen**. Ihr Inhalt befindet sich in ihrem eigenen Variantenobjekt (`message`, `template`, `card`, …), daher hat der `text` auf oberster Ebene auf sie keinen Einfluss.

## Fehler

| TYP                        | BEDEUTUNG                                                                    |
|:---------------------------|:-----------------------------------------------------------------------------|
| `invalid_rcs_variant`      | das Objekt `rcs` enthält keine oder mehr als eine der Varianten `message`/`file`/`card`/`carousel` |
| `invalid_whatsapp_variant` | das Objekt `whatsapp` enthält keine oder mehr als eine der Varianten `template`/`otp`/`message`/`file`/`location` |
| `no_recipients`            | die Anfrage ergab keinen gültigen Empfänger                                  |

Alle Fehlertypen der Simple API und der Advanced API finden Sie [hier](https://www.bulkgate.com/de/dokumentation/api-verwaltung-und-tokens/api-fehlertypen/).
