Ochrana proti duplicitním zprávám
Duplicitní zpráva je druhá a každá další zpráva se stejným textem pro stejné číslo. Vzniká málokdy úmyslně — spíš opakovaným voláním API po vypršení timeoutu, dvojím kliknutím na tlačítko nebo tím, že se jedno číslo dostane do seznamu příjemců několikrát. BulkGate proti tomu má ochranu, ale transakční a promoční cesta ji řeší každá jinak.
Čím se obě ochrany liší
| Transakční zpráva | Promoční zpráva | |
|---|---|---|
| Co hlídá | opakování téže zprávy v čase | duplicitní příjemce v jednom seznamu |
| Dosah | napříč požadavky, okno 5 minut | jen uvnitř jednoho požadavku |
| Výchozí stav | vypnuto | vypnuto |
| Jak se to projeví | zpráva skončí chybou duplicity_message |
příjemce ze seznamu tiše zmizí |
Transakční zprávy: opakování téže zprávy v čase
Zapnete ji parametrem duplicates_check v transakčním nebo jednoduchém transakčním API. Přijímá hodnoty on a off (rozumí i true/false, 1/0, yes/no), výchozí je off.
Když je zapnutá, BulkGate si u každé odeslané zprávy zapamatuje kombinaci:
| Součást otisku | Poznámka |
|---|---|
| Účet | platí napříč všemi aplikacemi (application_id) pod jednou peněženkou |
| Kanál | stejný text přes SMS a přes Viber jsou dvě různé zprávy |
| Telefonní číslo | v mezinárodním formátu |
| Text zprávy | musí sedět znak po znaku — jiné jméno, čas nebo kód znamená jinou zprávu |
Přijde-li do pěti minut zpráva se stejným otiskem, BulkGate ji zahodí a k operátorovi vůbec neodejde.
Okno pěti minut běží od první zprávy a zahozené pokusy ho neprodlužují. Po jeho vypršení stejná zpráva projde znovu.
U kaskádové zprávy se do otisku počítá hlavní text kaskády, ne texty jednotlivých kanálů.
Co uvidíte v odpovědi
- Jedna zpráva — API vrátí chybu typu
duplicity_messages kódem400. Přehled najdete mezi typy chyb. - Hromadná transakční zpráva — zahozená zpráva dostane status
duplicity_messagea započítá se dototal.status.duplicity_message. Ostatní příjemci dávky se odešlou normálně.
U jednorázových hesel ochranu zvažte. Pokud se kód s každým pokusem mění, neuplatní se vůbec. Pokud posíláte neměnný text, druhé odeslání do pěti minut zahodíte — a uživatel, který zmáčkl „Poslat znovu“, žádnou zprávu nedostane.
Promoční zprávy: duplicitní příjemci v jedné dávce
Na promoční cestě se nic nepamatuje mezi požadavky. BulkGate jen před odesláním projde seznam příjemců sestavený z jednoho požadavku a nechá v něm první výskyt. Parametr duplicates_check v promočním nebo jednoduchém promočním API má tři hodnoty:
| Hodnota | Co vyřadí |
|---|---|
same_text |
opakování stejné zprávy témuž číslu |
same_number |
jakoukoli další zprávu témuž číslu, i s jiným textem |
| nevyplněno | nic — odešle se seznam tak, jak jste ho poslali |
Odstranění proběhne tiše — v odpovědi není žádný status ani počítadlo duplicit. Jediná stopa je nižší počet příjemců, než kolik jste jich poslali. Pokud po vyřazení nezbude nikdo, požadavek skončí chybou no_recipients.
Dva požadavky po sobě se navzájem nevidí. Když stejného příjemce pošlete ve dvou dávkách, obě zprávy odejdou.
Kampaně v portálu
Kampaň jde promoční cestou a kontrolu duplicit provede sama — po sestavení seznamu příjemců vám ukáže, kolik jich našla, pod hlavičkou Upozornění na duplicitní zprávy:
- Shodné číslo i text — kampaň je odstraní vždy a bez ptaní, volba tu není.
- Shodné číslo, jiný text — rozhodnete se sami. Zaškrtnutím Odstranit duplicitní příjemce dostane každé číslo jen jednu zprávu; bez zaškrtnutí odejdou všechny.
U kampaně s A/B testem se duplicitní příjemci vyřazují vždy, jinak by jeden člověk dostal víc testovaných variant a výsledek testu by neplatil.
Na co si dát pozor
- Stejný parametr, jiný význam. Na transakční cestě je
duplicates_checkvypínač a chrání napříč požadavky v čase, na promoční je to volba způsobu a platí jen uvnitř jednoho požadavku. - Sdílený účet znamená sdílené okno. Několik integrací pod jednou peněženkou si může navzájem zahazovat zprávy, pokud posílají stejné texty na stejná čísla.
- Zahozená zpráva se neodesílá, takže se ani nedoručí, ani nezapíše mezi odeslané.
- Počty si ověřte v odpovědi. Na promoční cestě se odstranění nikde nehlásí — kdo porovnává doručení proti vstupnímu seznamu, musí s rozdílem počítat.
Děkujeme za zpětnou vazbu.