Nastavení platnosti zprávy (TTL)
TTL (time to live)
Hodnota: float
. Hodnota je v minutách. Nejméně 0.5
(tzn 30 sekund
), nejvíce 43200
(tzn. 30 dní
).
Pokud definujete více objektů v rámci pole flow
, můžete každému kroku nastavit vlastní dobu platnosti (TTL).
Hodnoty do 15 minut
(včetně) mohou být být s jedním desetiným místem. To znamená, že hodnot a 1.5
je přeložena jako 90
sekund. Od hodnoty 15
dochází k zaokrouhlování směrem nahoru. Hodnota 16.1
bude přeložena jako 1020
sekund (17 minut).
Jak funguje vyhodnocování
První objekt v poli flow
je vždy automaticky přijat a zařazen do fronty k odeslání. V ten stejný moment se vytvoří pravidlo pro kontrolu výsledku odesílání za určitý čas (definováno v ttl
).
Příklad
...
"flow": [
{
"viber": {
"sender": "MojeFirma",
"ttl": 10
}
},
{
"sms": {
"sender": "MojeFirma",
"gateway": "high"
}
}
]
...
T=0
Zpráva je při odeslání přijata a předána na Viber API k odesláníT+10min
Dojde ke kontrole, zda byla zpráva doručena. Pokud ano, SMS zpráva se již neodesílá. Pokud zpráva nebyla doručena, je odeslána SMS.
Podmínky pro splnění časové platnosti
Různé typy flow
mohou mít rozdílný význam svého stavu. Např. stav sent
pro whatsapp_template
nebo viber
nemusí nutně znamenat, že zpráva bude zároveň v nastaveném čase i doručena nebo přečtena.
Proto máte možnost definovat vlastní podmínku pro splnění časového testu pomocí parametru ttl_condition
.
Flow | Výchozí ttl_condition |
---|---|
sms | sent |
whatsapp_template | delivered |
viber | delivered |
Pokud nastavíte podmínku na doručenou zprávu (delivered
) platí tato podmínka také pro stav seen
(přečteno). Důvodem je, že stav zprávy seen
nutně následuje po stavu delivered
. U dalších stavů toto pravidlo platí následovně:
ttl_condition | Zahrnuje také stavy |
---|---|
sent | sent , deliveted , seen |
delivered | delivered , seen |
seen | seen |
Příklady použití - odeslání SMS PINu
...
"flow": [
{
"whatsapp_template": {
"template": "smspin",
"language": "cs",
"ttl": 0.5,
"params":[
"123456"
]
}
},
{
"sms": {
"body": "Váš kód je 123456",
"sender": "MojeFirma",
"gateway": "high"
}
}
]
...
Best practice
SMS na posledním místě
Odeslání SMS zprávy je nejspolehlivějším způsobem. Zároveň tento kanál poskytuje nejméně přesné informace o doručení. Zpráva může čekat na doručení hodiny i dny. SMS zpráva je po odeslání vždy účtována bez ohledu na to, zda bude zpráva doručena nebo nikoliv.
Nízké hodnoty ttl
Obecně lze říci, že čím nižší hodnota TTL, tím roste šance, že zpráva bude příjemci doručena duplicitně. V praxi se to může stát v případě, kdy odesíláte zprávu s nízkou hodnotou ttl
a zároveň odesíláte těchto zpráv vysoké množství (marketingové SMS). V takovém případě může dojít k tomu, že než bude SMS zpráva odeslána, dojde k vypršení její platnosti ale již nebude možné její odeslání stornovat (odesílání SMS neumožňuje nastavení platnosti po odeslání do sítě operátora, zároveň operátoři mají omezené kapacity pro příjem zpráv).
Pro běžné marketingové zprávy dává smysl nastavit TTL na 60 minut nebo déle.
Pro ověřování tel. čísel nebo 2-fa ověřování využívejte vždy prioritní frontu, aby zpráva byla odeslána s větší prioritou než běžné transakční nebo marketingové zprávy.
Duplicitní doručení
Ne-duplicitní doručení nelze garantovat. Proto doporučujeme volit hodnotu ttl
s ohledem na možné riziko duplicitního doručení zprávy i duplicitního účtování.
Minimální a maximální hodnoty
Flow | Typ zprávy | Minimální hodnota | Maximální hodnota |
---|---|---|---|
telegram_auth | Autorizační | 0.5 | 60 |
viber | Transakční | 0.5 | 60 |
whatsapp_template | Autorizační | 0.5 | 15 |
whatsapp_template | Utility | 0.5 | 720 (12 hodin) |
whatsapp_template | Marketing | 720 (12 hodin) | 43200 (30 dní) |
Pozn. pro marketingové zprávy doporučujeme nastavit platnost minimálně 60 minut. Po této době lze obvykle spolehlivě považovat zprávu za nedoručitelnou.