Přeskočit na hlavní obsah

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"
}
}
]
...
  1. T=0 Zpráva je při odeslání přijata a předána na Viber API k odeslání
  2. 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.

FlowVýchozí ttl_condition
smssent
whatsapp_templatedelivered
viberdelivered

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_conditionZahrnuje také stavy
sentsent, deliveted, seen
delivereddelivered, seen
seenseen

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

FlowTyp zprávyMinimální hodnotaMaximální hodnota
telegram_authAutorizační0.560
viberTransakční0.560
whatsapp_templateAutorizační0.515
whatsapp_templateUtility0.5720 (12 hodin)
whatsapp_templateMarketing720 (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.