Na čom BulkGate beží, kadiaľ správy odchádzajú do sietí operátorov, ako prevádzku chránime a čo z toho vyplýva pre integráciu, ktorá musí vydržať aj v špičke.

## Prevádzka na troch lokalitách

Služba beží na niekoľkých serveroch v **troch geografických lokalitách**. Nejde o jeden stroj so zálohou, ale o súbežnú prevádzku — ak vypadne ktorákoľvek lokalita, zvyšné prevezmú prevádzku **automaticky a bez zásahu z vašej strany**. Z pohľadu integrácie sa nemení nič: `portal.bulkgate.com` odpovedá ďalej a požiadavky odchádzajú rovnakou cestou.

Čo failover nepokrýva, je **cesta k nám** — výpadok u vášho poskytovateľa pripojenia, u operátora alebo kdekoľvek na trase medzi vaším serverom a naším. Pre taký prípad je tu [záložný server](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/zalozny-server/).

Infraštruktúra je stavaná na odolnosť voči výpadkom a proti DDoS ju chráni **[WEDOS Global Protection](https://www.wedos.global/)**. Prevádzka na naše servery netečie priamo — prechádza ich **anycastovou sieťou so 120+ uzlami**, kde ju prevezme ten najbližší. Útok sa tak rozloží a odfiltruje na ich strane skôr, než vôbec dorazí k nám; naše servery neriešia zahltenie, ale len legitímne požiadavky, ktoré prejdú. Anycast navyše skracuje cestu vašej požiadavky, pretože ju preberá uzol najbližšie k vám.

Logy, konfiguráciu aj analytiku drží WEDOS takisto **v rámci EÚ**, takže ani ochrana proti DDoS nevyvádza dáta mimo úniu — pozrite [Servery v EÚ](#servery-v-eu).

Aktuálny stav služby nájdete na **[bulkgate.status.online](https://bulkgate.status.online/cs/)**.

## Servery v EÚ

Všetky servery prevádzkujeme **v Európskej únii**. Vaše dáta teda neprechádzajú mimo EÚ a nemusíte riešiť prenos do tretích krajín ani štandardné zmluvné doložky.

Ako s osobnými údajmi zaobchádzame, popisujú [Podmienky spracovania osobných údajov](https://www.bulkgate.com/cs/pravni-informace/podminky-zpracovani-osobnich-udaju/) a [Zásady ochrany osobných údajov](https://www.bulkgate.com/cs/pravni-informace/zasady-ochrany-osobnich-udaju/).

## Napojenie na operátorov

Správy doručujeme cez **priame napojenia na operátorov** v Európe, Ázii, Afrike a v Severnej, Strednej aj Južnej Amerike.

### Čo znamená 0-hop

Priame napojenie je **0-hop spojenie** — medzi nami a SMSC operátora nestojí nikto ďalší. Správa ide z našej brány rovno do koncovej siete. Je to **najvyššia možná kvalita doručenia**; lepšia cesta ku koncovému číslu neexistuje, pretože žiadna kratšia nie je.

Každý medzičlánok na trase je pritom miesto, kde sa môže niečo pokaziť:

| čo sa deje na ceste cez medzičlánky | pri 0-hop |
|:-----------------------------------------------------------|:-------------------------------|
| Správa sa zdrží vo fronte ďalšieho agregátora.              | Odpadá, cesta je priama.       |
| Potvrdenie o doručení chodí oneskorene alebo nepresne.      | Stav hlási priamo operátor.    |
| Správa sa cestou stratí a nikto nepovie kde.                | Trasa má len dva konce.        |
| Za každý článok sa platí marža.                             | Cena bez medzistupňov.         |

Preto priame napojenia budujeme všade, kde sa dá. Pri vysokých objemoch a pri správach citlivých na čas — OTP kódy, potvrdenia objednávok — je ten rozdiel badať najviac.

0-hop dnes máme do **viac než 50 krajín** a ich počet priebežne rastie.

Kde 0-hop nemáme, je prvou voľbou **lokálny poskytovateľ** priamo v danej krajine — jeden medzičlánok so znalosťou miestneho trhu, nie reťaz agregátorov. Až keď nie je ani ten, doručujeme cez **SMS huby**; tie držíme ako zálohu pre minimum destinácií, nie ako bežnú cestu.

## RCS cez priame napojenie na Google

Priame napojenia nekončia pri SMS. RCS Business Messaging ide cez platformu Googlu. Máme na ňu **priame napojenie** a k tomu **vlastné zmluvy s operátormi** — oboje je potrebné: Google schvaľuje agenta a obsah, operátor púšťa prevádzku do svojej siete. Bez jedného z nich sa RCS správa k príjemcovi nedostane.

Čo RCS ponúka navyše oproti SMS:

| čo získate | v čom je to inak |
|:--------------------------|:---------------------------------------------------------------------------|
| **Overený odosielateľ**    | Názov značky, logo a farba namiesto čísla, s odznakom overenia priamo v aplikácii Správy. |
| **Bohatý obsah**           | Text so [suggestion tlačidlami](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-rcs/), súbor, karta alebo karusel kariet. |
| **Interakcia**             | Príjemca odpovedá tlačidlom, nie písaním — klik sa vám vráti ako udalosť.    |
| **Stavy ako pri chate**    | Doručené aj prečítané, nie len odoslané.                                     |
| **Záchrana cez SMS**       | Ak príjemca nemá RCS alebo sa správa nedoručí v nastavenom čase, pokračuje ďalším kanálom v [kaskáde](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-kaskada/). |

Typy správ a ako sa účtujú popisujú [Typy RCS správ](https://www.bulkgate.com/sk/centrum-pomoci/rcs/typy-rcs-sprav/); nastavenie agenta [Nastavenie RCS chatu](https://www.bulkgate.com/sk/centrum-pomoci/rcs/nastavenie-chatu-rcs-business-messaging/).

## Viber ako oficiálny partner

Pre **Viber** sme **[oficiálny partner](https://www.forbusiness.viber.com/en/messaging-partners/partner/bulkgate/)**, nie ďalší predajca — a ako **jediní v Českej republike a na Slovensku**. Nájdete nás v jeho zozname messaging partnerov. Správy teda odchádzajú schválenou cestou priamo do siete Viberu a odosielateľov registrujeme priamo u neho.

Čo to pre vás znamená v praxi:

| čo získate | v čom je to inak |
|:-----------------------------|:----------------------------------------------------------------------|
| **Registrovaný odosielateľ** | Názov značky namiesto čísla, s overeným profilom. [Ako ho zaregistrovať](https://www.bulkgate.com/sk/centrum-pomoci/viber/registracia-viber-odosielatela/) |
| **Bohatšia správa než SMS**  | Text, obrázok a tlačidlo s odkazom v jednej správe — bez limitu 160 znakov. Pozrite [Viber – propagačný](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-viber-promo/). |
| **Transakčné šablóny**       | Schválené šablóny sa účtujú za nižšiu transakčnú cenu. Pozrite [Viber – transakčný](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-viber-transakcne/). |
| **Platí sa len za doručené** | Viber účtuje iba správy v stave DORUČENÉ a PREČÍTANÉ; ostatné po vypršaní vraciame na účet. Pozrite [Stavy Viber správ](https://www.bulkgate.com/sk/centrum-pomoci/viber/viber-stavy/). |
| **Záchrana cez SMS**         | Ak Viber nedoručí v nastavenom čase, správa pokračuje ďalším kanálom v [kaskáde](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-kaskada/). |

Typy správ a relácie popisuje stránka [Typy Viber správ](https://www.bulkgate.com/sk/centrum-pomoci/viber/typy-viber-business-sprav/).

## SMPP pre veľké objemy

Okrem HTTP API ponúkame väčším zákazníkom **napojenie cez SMPP** — protokol, na ktorom stoja samotné SMS siete. Oplatí sa tam, kde ide o trvalo vysoké objemy a kde potrebujete držať otvorenú reláciu namiesto jednotlivých HTTP požiadaviek.

SMPP nastavujeme individuálne; [ozvite sa nám](https://www.bulkgate.com/sk/kontakt/) a preberieme objemy a parametre.

## Prioritizácia správ

Nie každá správa znesie rovnaké čakanie. Kód, na ktorý používateľ čaká vo formulári, musí odísť okamžite; kampaň na sto tisíc čísel o sekundu navyše nepríde. Prevádzku preto radíme do samostatných frontov a obsluhujeme ich v tomto poradí:

| priorita | čo tam patrí |
|:--|:--|
| **1. OTP** | [Jednorazové kódy](https://www.bulkgate.com/sk/dokumentacia/otp-api/odoslanie-jednorazoveho-hesla/). Používateľ na ne čaká v reálnom čase. |
| **2. Transakčné** | Potvrdenie objednávky, upozornenie na doručenie, výstraha — jedna správa jednému príjemcovi. |
| **3. Hromadné transakčné** | Tie isté správy posielané dávkou na viac čísel naraz. |
| **4. Malé kampane** | Propagačná rozosielka na menší počet príjemcov. |
| **5. Stredné kampane** | Propagačná rozosielka stredného rozsahu. |
| **6. Veľké kampane** | Rozsiahla propagačná rozosielka. |

Fronty sa nepredbiehajú: rozbehnutá veľká kampaň nezdrží OTP kód, ktorý príde uprostred nej.

> [!IMPORTANT]
> **Oddelenie transakčnej a propagačnej prevádzky od zákazníkov vyžadujeme.** Nie je to odporúčanie — celá prioritizácia na ňom stojí. Každý typ správ posielajte tým endpointom, kam patrí: [transakčnú správu](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-transactional/2.0/) cez transakčný endpoint, propagačnú rozosielku cez [propagačný](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-promotional/2.0/). Jednoprvková kampaň namiesto transakčnej správy si zbytočne počká vo fronte kampaní; kampaň pretlačená transakčným endpointom zdrží správy, na ktoré niekto čaká v reálnom čase, a je navyše [prísne zakázaná](https://www.bulkgate.com/sk/centrum-pomoci/vseobecne-informacie/rozdiel-propagacna-transakcna-sprava/).

## Ochrana proti phishingu a SMS pumpingu

Prevádzku priebežne vyhodnocujeme, aby sme zachytili dve veci, ktoré poškodzujú odosielateľov aj príjemcov.

**Phishing.** Každú správu kontrolujeme oproti vzorom známych podvodných kampaní — ID odosielateľa aj text, a zvlášť pre každú cieľovú krajinu. Kontrola počíta aj s **napodobeninami**: zachytí aj názov alebo formuláciu úmyselne pozmenenú o pár znakov, aby prešla doslovným porovnaním. Chráni to vašu značku pred tým, aby sa za ňu niekto vydával, a vaše číslo odosielateľa pred reputačným postihom u operátora.

**SMS pumping.** Umelo generovaná prevádzka (*Artificially Generated Traffic – AGT*) — útočník tlačí cez váš formulár OTP kódy na čísla v prémiových rozsahoch a inkasuje podiel z ich ceny. Sledujeme preto tvar prevádzky, nie jej obsah. Hneď ako vidíme prevádzku, ktorá nezodpovedá tomu, čo z účtu bežne chodí — náhly nárast alebo neobvyklé destinácie — **odosielanie zastavíme** a upozorníme vás e-mailom a SMS. Útok sa tým preruší skôr, než stihne predražiť; škoda zostane pri tom, čo už odišlo.

> [!NOTE]
> **Analýza je anonymná.** Prebieha automaticky nad tvarom prevádzky, nie nad identitou príjemcov — nikto vaše správy nečíta a nevzniká z nich žiadny profil. Zodpovedá to tomu, čo je popísané v [Servery v EÚ](#servery-v-eu).

Sami môžete útoku na svoj formulár predísť nastavením `request_quota_identification` a `request_quota_number` v [OTP API](https://www.bulkgate.com/sk/dokumentacia/otp-api/odoslanie-jednorazoveho-hesla/) — kvóta sa viaže na žiadateľa, typicky jeho IP adresu. V portáli na to navyše máte geografické reštrikcie a denné limity odoslaných správ; ako ich nastaviť, popisuje [Hacknuté OTP SMS: Chráňte sa s BulkGate API limitmi!](https://www.bulkgate.com/sk/blog/ochrana-otp-sms-bulkgate-api/).

## Zabezpečenie komunikácie a dát

**Všetka komunikácia ide cez HTTPS.** API nemá nešifrovanú variantu — požiadavku na `http://` portál presmeruje na HTTPS, ale presmerovanie **nezachová telo POST požiadavky**, takže správu neodošle. Volajte preto vždy priamo `https://`, nikdy sa nespoliehajte na presmerovanie.

Prijímame **TLS 1.2 a 1.3**; staršie TLS 1.0 a 1.1 server odmieta. Ak integrácia beží na staršom prostredí, uistite sa, že jeho HTTP klient TLS 1.2 podporuje — inak spojenie zlyhá ešte pred odoslaním požiadavky. To isté platí pre [záložný server](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/zalozny-server/).

**Komunikácia s poskytovateľmi je vždy šifrovaná.** Šifrovanie nekončí pri vašej požiadavke. Rovnako chránený je aj druhý úsek trasy — či už správa ide [0-hop](#co-znamena-0-hop) priamo operátorovi, cez lokálneho poskytovateľa, alebo cez hub.

**Portál chránia bezpečnostné hlavičky.** Prehliadaču posiela tieto:

- **[Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP)** — skripty sa spustia len s jednorazovým [`nonce`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/nonce).
- **[`X-Content-Type-Options: nosniff`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Content-Type-Options)** — prehliadač nesmie hádať typ obsahu.
- **[`X-Frame-Options: SAMEORIGIN`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Frame-Options)** — stránku nemožno vložiť do cudzieho rámca, obrana proti clickjackingu.
- **[`Referrer-Policy: strict-origin-when-cross-origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy)** — cudzej doméne sa neodošle celá cesta vrátane parametrov.
- **[`Feature-Policy`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Permissions-Policy)** — mikrofón, kamera aj platobné API sú v portáli vypnuté.

**Heslá NIE SÚ uložené v plaintexte.** Ukladá sa len odtlačok algoritmom **Argon2id** — z databázy sa heslo spätne vypočítať nedá, ani keby ju niekto získal. Rovnako zaobchádzame aj s jednorazovými kódmi: [OTP kód](https://www.bulkgate.com/sk/dokumentacia/otp-api/odoslanie-jednorazoveho-hesla/) sa v databáze uchováva ako Argon2id odtlačok, nie ako čitateľné číslo, takže ho z našej strany nikto neprečíta.

**API tokeny sú v databáze zašifrované.** [Token](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/api-tokeny/) sa ukladá šifrovaný (AES-256), nie ako čitateľný reťazec.

> [!CAUTION]
> Token je heslo k vášmu kreditu. Nikdy ho nedávajte do kódu, ktorý beží v prehliadači alebo v mobilnej aplikácii — odtiaľ si ho ktokoľvek prečíta. API volajte zo svojho servera a token držte v konfigurácii mimo repozitára.

## Prečo to zaujíma veľkých zákazníkov

Rozdiel medzi poskytovateľmi nie je v tom, či správu odošlú, ale **kadiaľ**. U nás ide správa v prvom rade **0-hop** priamo do siete operátora; kde také napojenie nemáme, cez **lokálneho poskytovateľa** v danej krajine; a až v **minime prípadov** cez **SMS hub**. Čím vyššie v tomto poradí správa ide, tým rýchlejšie dorazí, tým presnejšie je potvrdenie o doručení a tým menej rúk sa na nej podpíše — a pri státisícoch správ mesačne je to rozdiel, ktorý je vidieť v štatistikách doručiteľnosti aj na faktúre.

K tomu sa pridáva zvyšok: prevádzka na **troch lokalitách s automatickým failoverom**, [záložný server](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/zalozny-server/) pre výpadok na trase, **servery v EÚ** bez prenosu dát do tretích krajín, **šifrovaná komunikácia** na oboch úsekoch trasy a **SMPP** pre objemy, pre ktoré HTTP API prestáva stačiť. Nad prevádzkou navyše beží **ochrana proti phishingu a SMS pumpingu**, ktorá útok na váš formulár zastaví skôr, než sa predraží. Službu prevádzkujeme **od roku 2012**, takže si na nej môžete postaviť integráciu, ktorú nebudete o rok prepisovať.
