Nic nenalezeno

Infrastruktura

Na čem BulkGate běží, kudy zprávy odcházejí do sítí operátorů, jak provoz chráníme a co z toho plyne pro integraci, která musí držet i ve špičce.

Provoz na třech lokalitách

Služba běží na několika serverech ve třech geografických lokalitách. Nejde o jeden stroj se zálohou, ale o souběžný provoz — vypadne-li kterákoli lokalita, zbývající převezmou provoz automaticky a bez zásahu z vaší strany. Z pohledu integrace se nemění nic: portal.bulkgate.com odpovídá dál a požadavky odcházejí stejnou cestou.

Co failover nepokrývá, je cesta k nám — výpadek u vašeho poskytovatele připojení, u operátora nebo kdekoli na trase mezi vaším serverem a naším. Pro ten případ je tu záložní server.

Infrastruktura je stavěná na odolnost proti výpadku a proti DDoS ji chrání WEDOS Global Protection. Provoz na naše servery neteče přímo — prochází jejich anycastovou sítí se 120+ uzly, kde ho převezme ten nejbližší. Útok se tak rozloží a odfiltruje na jejich straně, dřív než vůbec dorazí k nám; naše servery neřeší zahlcení, ale jen legitimní požadavky, které projdou. Anycast navíc zkracuje cestu vašeho požadavku, protože ho přebírá uzel nejblíž vám.

Logy, konfigurace i analytiku drží WEDOS rovněž uvnitř EU, takže ani ochrana proti DDoS nevyvádí data mimo unii — viz Servery v EU.

Aktuální stav služby najdete na bulkgate.status.online.

Servery v EU

Všechny servery provozujeme v Evropské unii. Vaše data tedy nepřecházejí mimo EU a nemusíte řešit přenos do třetích zemí ani standardní smluvní doložky.

Jak s osobními údaji nakládáme, popisují Podmínky zpracování osobních údajů a Zásady ochrany osobních údajů.

Napojení na operátory

Zprávy doručujeme přes přímá napojení na operátory v Evropě, Asii, Africe a v Severní, Střední i Jižní Americe.

Co znamená 0-hop

Přímé napojení je 0-hop spojení — mezi námi a SMSC operátora nestojí nikdo další. Zpráva jde z naší brány rovnou do koncové sítě. Je to nejvyšší možná kvalita doručení; lepší cesta ke koncovému číslu neexistuje, protože žádná kratší není.

Každý mezičlánek na trase je přitom místo, kde se může něco pokazit:

co se stává na cestě přes mezičlánky při 0-hop
Zpráva se zdrží ve frontě dalšího agregátora. Odpadá, cesta je přímá.
Potvrzení o doručení chodí se zpožděním nebo nepřesné. Stav hlásí přímo operátor.
Zpráva se cestou ztratí a nikdo neřekne kde. Trasa má jen dva konce.
Za každý článek se platí marže. Cena bez mezistupňů.

Proto přímá napojení stavíme všude, kde to jde. U vysokých objemů a u zpráv citlivých na čas — OTP kódy, potvrzení objednávek — je ten rozdíl znát nejvíc.

0-hop dnes máme do více než 50 zemí a jejich počet průběžně roste.

Kde 0-hop nemáme, je první volbou lokální poskytovatel přímo v dané zemi — jeden mezičlánek se znalostí místního trhu, ne řetěz agregátorů. Teprve když není ani ten, doručujeme přes SMS huby; ty držíme jako zálohu pro minimum destinací, ne jako běžnou cestu.

RCS přes přímé napojení na Google

Přímá napojení nekončí u SMS. RCS Business Messaging jede přes platformu Googlu. Máme na ni přímé napojení a k tomu vlastní smlouvy s operátory — obojí je potřeba: Google schvaluje agenta a obsah, operátor pouští provoz do své sítě. Bez jednoho z toho se RCS zpráva k příjemci nedostane.

Co RCS umí navíc proti SMS:

co získáte v čem je to jinak
Ověřený odesílatel Jméno značky, logo a barva místo čísla, s odznakem ověření přímo v aplikaci Zprávy.
Bohatý obsah Text se suggestion tlačítky, soubor, karta nebo karusel karet.
Interakce Příjemce odpovídá tlačítkem, ne psaním — klik se vám vrátí jako událost.
Stavy jako u chatu Doručeno i přečteno, ne jen odesláno.
Záchrana přes SMS Nemá-li příjemce RCS nebo se nedoručí do nastavené doby, zpráva pokračuje dalším kanálem v kaskádě.

Typy zpráv a jak se účtují popisují Typy RCS zpráv; nastavení agenta Nastavení chatu RBM.

Viber jako oficiální partner

Pro Viber jsme oficiální partner, ne přeprodejce — a jako jediní v České republice a na Slovensku. Najdete nás v jeho seznamu messaging partnerů. Zprávy tedy odcházejí schválenou cestou přímo do sítě Viberu a odesílatele registrujeme napřímo u něj.

Co to pro vás znamená v praxi:

co získáte v čem je to jinak
Registrovaný odesílatel Jméno značky místo čísla, s ověřeným profilem. Jak ho zaregistrovat
Bohatší zpráva než SMS Text, obrázek a tlačítko s odkazem v jedné zprávě — bez limitu 160 znaků. Viz Viber – propagační.
Transakční šablony Schválené šablony se účtují za nižší transakční cenu. Viz Viber – transakční.
Platí se jen za doručené Viber účtuje pouze zprávy ve stavu DORUČENO a PŘEČTENO; ostatní po vypršení vracíme na účet. Viz Stavy Viber zpráv.
Záchrana přes SMS Nedoručí-li Viber do nastavené doby, zpráva pokračuje dalším kanálem v kaskádě.

Typy zpráv a relace popisuje stránka Typy Viber zpráv.

SMPP pro velké objemy

Vedle HTTP API nabízíme větším zákazníkům napojení přes SMPP — protokol, na kterém stojí samotné SMS sítě. Vyplatí se tam, kde jde o trvale vysoké objemy a kde potřebujete držet otevřenou relaci místo jednotlivých HTTP požadavků.

SMPP nastavujeme individuálně; ozvěte se nám a probereme objemy a parametry.

Prioritizace zpráv

Ne každá zpráva snese stejné čekání. Kód, na který uživatel kouká do formuláře, musí odejít okamžitě; kampaň na sto tisíc čísel o vteřinu navíc nepřijde. Provoz proto řadíme do samostatných front a obsluhujeme je v tomto pořadí:

priorita co tam patří
1. OTP Jednorázové kódy. Uživatel na ně čeká v reálném čase.
2. Transakční Potvrzení objednávky, upozornění na doručení, výstraha — jedna zpráva jednomu příjemci.
3. Hromadné transakční Tytéž zprávy posílané dávkou na víc čísel najednou.
4. Malé kampaně Propagační rozesílka na menší počet příjemců.
5. Střední kampaně Propagační rozesílka středního rozsahu.
6. Velké kampaně Rozsáhlá propagační rozesílka.

Fronty se nepředbíhají: rozjetá velká kampaň nezdrží OTP kód, který přijde uprostřed ní.

Důležité

Oddělení transakčního a propagačního provozu po zákaznících vyžadujeme. Není to doporučení — celá prioritizace na něm stojí. Každý typ zpráv posílejte tím endpointem, kam patří: transakční zprávu přes transakční endpoint, propagační rozesílku přes promoční. Jednoprvková kampaň místo transakční zprávy si zbytečně počká ve frontě kampaní; kampaň protlačená transakčním endpointem zdrží zprávy, na které někdo čeká v reálném čase, a je navíc přísně zakázaná.

Ochrana proti phishingu a SMS pumpingu

Provoz průběžně vyhodnocujeme, abychom zachytili dvě věci, které poškozují odesílatele i příjemce.

Phishing. Každou zprávu kontrolujeme proti vzorům známých podvodných kampaní — ID odesílatele i text, a zvlášť pro každou cílovou zemi. Kontrola počítá i s napodobeninami: zachytí i jméno nebo formulaci úmyslně pozměněnou o pár znaků, aby prošla doslovným porovnáním. Chrání to vaši značku před tím, aby se za ni někdo vydával, a vaše číslo odesílatele před reputačním postihem u operátora.

SMS pumping. Uměle generovaný provoz (Artificially Generated Traffic – AGT) — útočník tlačí vaším formulářem OTP kódy na čísla v prémiových rozsazích a inkasuje podíl z jejich ceny. Sledujeme proto tvar provozu, ne jeho obsah. Jakmile vidíme provoz, který neodpovídá tomu, co z účtu chodí běžně — náhlý nárůst nebo neobvyklé destinace — odesílání zastavíme a notifikujeme vás e-mailem a SMS. Útok se tím utne dřív, než stihne prodražit; škoda zůstane u toho, co už odešlo.

Poznámka

Analýza je anonymní. Probíhá automaticky nad tvarem provozu, ne nad identitou příjemců — nikdo vaše zprávy nečte a nevzniká z nich žádný profil. Odpovídá to tomu, co je popsané v Servery v EU.

Sami můžete útoku na svůj formulář předejít nastavením request_quota_identification a request_quota_number v OTP API — kvóta se váže na žadatele, typicky jeho IP adresu. Na portálu k tomu navíc máte geografické restrikce a denní limity odeslaných zpráv; jak je nastavit, popisuje Hacknuté OTP SMS: Chraňte se s BulkGate API limity!.

Zabezpečení komunikace a dat

Veškerá komunikace jede přes HTTPS. API nemá nešifrovanou variantu — požadavek na http:// portál přesměruje na HTTPS, ale přesměrování nezachová tělo POST požadavku, takže zprávu neodešle. Volejte proto vždy rovnou https://, nikdy se nespoléhejte na přesměrování.

Přijímáme TLS 1.2 a 1.3; starší TLS 1.0 a 1.1 server odmítá. Pokud integrace běží na starším prostředí, ujistěte se, že jeho HTTP klient TLS 1.2 umí — jinak spojení selže ještě před odesláním požadavku. Totéž platí pro záložní server.

Komunikace s poskytovateli je vždy šifrovaná. Šifrování nekončí u vašeho požadavku. Stejně chráněný je i druhý úsek trasy — ať už zpráva jde 0-hop přímo operátorovi, přes lokálního poskytovatele, nebo přes hub.

Portál chrání bezpečnostní hlavičky. Prohlížeči posílá tyto:

Hesla NEJSOU uložená v plaintextu. Ukládá se jen otisk algoritmem Argon2id — z databáze se heslo zpětně dopočítat nedá, ani kdyby ji někdo získal. Stejně zacházíme i s jednorázovými kódy: OTP kód se v databázi drží jako Argon2id otisk, ne jako čitelné číslo, takže ho z naší strany nikdo nepřečte.

API tokeny jsou v databázi zašifrované. Token se ukládá šifrovaný (AES-256), ne jako čitelný řetězec.

Pozor

Token je heslo k vašemu kreditu. Nikdy ho nedávejte do kódu, který běží v prohlížeči nebo v mobilní aplikaci — odtud si ho kdokoli přečte. API volejte ze svého serveru a token držte v konfiguraci mimo repozitář.

Proč to zajímá velké zákazníky

Rozdíl mezi poskytovateli není v tom, jestli zprávu odešlou, ale kudy. U nás jde zpráva v první řadě 0-hop přímo do sítě operátora; kde takové napojení nemáme, přes lokálního poskytovatele v dané zemi; a teprve v minimu případů přes SMS hub. Čím výš v tomhle pořadí zpráva jde, tím rychleji dorazí, tím přesnější je potvrzení o doručení a tím méně rukou se na ní podepíše — a při statisících zpráv měsíčně je to rozdíl, který je vidět ve statistikách doručitelnosti i na faktuře.

K tomu se přidává zbytek: provoz na třech lokalitách s automatickým failoverem, záložní server pro výpadek na trase, servery v EU bez přenosu dat do třetích zemí, šifrovaná komunikace na obou úsecích trasy a SMPP pro objemy, kterým HTTP API přestává stačit. Nad provozem navíc běží ochrana proti phishingu a SMS pumpingu, která útok na váš formulář zastaví dřív, než se prodraží. Službu provozujeme od roku 2012, takže si na ní můžete postavit integraci, kterou nebudete za rok přepisovat.

Byla tato stránka užitečná?