Objektet `channel` bestemmer hvilke kanaler meldingen sendes gjennom, og i hvilken rekkefølge. Det er tilgjengelig i [Advanced transaksjoner](https://www.bulkgate.com/no/dokumentasjon/advanced-api/advanced-transactional/2.0/) og [Advanced markedsføring](https://www.bulkgate.com/no/dokumentasjon/advanced-api/advanced-promotional/2.0/), bare i API-versjon `2.0`.

## Kanaltabell

Hver nøkkel i objektet `channel` er én kanal og inneholder kanalens eget objekt.

| NØKKEL       | KANALOBJEKT                                                                                                                     |
|:-------------|:-----------------------------------------------------------------------------------------------------------------------------------|
| `sms`        | [SMS](https://www.bulkgate.com/no/dokumentasjon/advanced-api/advanced-sms/)                                                                                                       |
| `viber`      | [Viber – transaksjoner](https://www.bulkgate.com/no/dokumentasjon/advanced-api/advanced-viber-transaksjoner/) / [Viber – markedsføring](https://www.bulkgate.com/no/dokumentasjon/advanced-api/advanced-viber-markedsforing/)         |
| `rcs`        | [RCS](https://www.bulkgate.com/no/dokumentasjon/advanced-api/advanced-rcs/)                                                                                                       |
| `whatsapp`   | [WhatsApp](https://www.bulkgate.com/no/dokumentasjon/advanced-api/advanced-whatsapp/)                                                                                             |

## Rekkefølgen i kaskaden

**Rekkefølgen på nøklene i forespørselen er rekkefølgen i kaskaden.** Den første nøkkelen er primærkanalen; hvis meldingen ikke kan leveres gjennom den, brukes den neste kanalen i listen.

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

Her prøves Viber først og SMS deretter. Bytter du om de to nøklene, byttes prioriteten - ingenting annet i forespørselen endres.

> [!IMPORTANT]
> SMS legges **ikke** automatisk til på slutten av kaskaden. Hvis du vil ha SMS som siste reserve, må du oppgi objektet `sms` eksplisitt. En kaskade med bare `{"viber": {…}}` har ingen reserve i det hele tatt.

Hvis `channel` utelates helt, sendes meldingen som SMS med standardavsenderen.

## Bytte mellom kanaler - `expiration`

Hvert kanalobjekt har sin egen `expiration` - tidsgrensen i sekunder, deretter brukes neste kanal i kaskaden. Verdier under `60` ignoreres og erstattes med standardverdien for den aktuelle kanalen.

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

## Hvilken tekst som brukes

`sms` og `viber` henter teksten fra tre steder etter tur, og det første som ikke er tomt, vinner:

| PRIORITET | STED                                | MERKNAD                                                             |
|:--------:|:--------------------------------------|:-----------------------------------------------------------------|
| 1        | `number[].text`                       | tekst for én bestemt mottaker, se [Verdi `number`](https://www.bulkgate.com/no/dokumentasjon/advanced-api/advanced-transactional/2.0/) |
| 2        | `channel.sms.text` / `channel.viber.text` | tekst for akkurat den kanalen                                     |
| 3        | `text`                                | tekst på øverste nivå i forespørselen                                    |

`rcs` og `whatsapp` **leser ingen av dem**. Innholdet deres ligger i deres eget variantobjekt (`message`, `template`, `card`, …), så `text` på øverste nivå har ingen virkning på dem.

## Feil

| TYPE                       | BETYDNING                                                                     |
|:---------------------------|:-----------------------------------------------------------------------------|
| `invalid_rcs_variant`      | objektet `rcs` inneholder ingen eller mer enn én av `message`/`file`/`card`/`carousel` |
| `invalid_whatsapp_variant` | objektet `whatsapp` inneholder ingen eller mer enn én av `template`/`otp`/`message`/`file`/`location` |
| `no_recipients`            | forespørselen ga ingen gyldig mottaker                                      |

Se alle feiltypene for Simple API og Advanced API [her](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-feiltyper/).
