Každá správa odoslaná cez BulkGate dostane vlastné `ID správy`. Je to jediný údaj, podľa ktorého dohľadáme jednu konkrétnu správu — v portáli, v odpovedi API aj u doručovateľa. Predtým sa mu hovorilo `SMS ID`; ide o tú istú hodnotu, len sa medzičasom premenovala, pretože už dávno neposielame len SMS.

## Čo je ID správy

`ID správy` je textový identifikátor jednej správy jednému príjemcovi.

- **Prideľuje ho BulkGate automaticky** vo chvíli, keď správu prijme. Nedá sa zvoliť ani spätne zmeniť.
- **Platí pre jednu správu jednému číslu.** Odoslanie [kampane](https://www.bulkgate.com/sk/centrum-pomoci/kampan/vytvaranie-sms-kampane/) na tisíc čísel vytvorí tisíc rôznych `ID správy`, nie jedno spoločné.
- **Jeho podoba sa líši** podľa toho, ktorým rozhraním správu pošlete. Berte ho ako nepriehľadný reťazec — neodvodzujte z neho dátum, kanál ani nič iné a nepokúšajte sa ho skladať sami.

> [!TIP]
> Ak potrebujete správy označiť vlastnou hodnotou, ktorú si zvolíte sami — číslom objednávky, ID zákazníka — slúži na to `Značka (TAG)`, nie `ID správy`. Rozdiel popisuje [Čím sa líši od ostatných identifikátorov](#cim-sa-lisi-od-ostatnych-identifikatorov).

## Prečo sa predtým volalo SMS ID

Názov `SMS ID` pochádza z čias, keď BulkGate posielal len SMS. Dnes rovnakou cestou idú aj Viber, WhatsApp a RCS, takže sa identifikátor volá `ID správy` — v portáli aj v novších rozhraniach.

Staršie API však svoje polia nepremenovali, aby nerozbili existujúce integrácie:

| Kde | Ako sa pole volá |
|:--|:--|
| Portál | `ID správy` |
| Simple API, Advanced API verzia `1.0` | `sms_id` |
| Advanced API verzia `2.0`, Integration API, jednorazové heslá | `message_id` |
| Potvrdenie o doručení (webhook) | `smsID` |

Vo všetkých prípadoch ide o **rovnakú hodnotu**. Keď teda vezmete `sms_id` z odpovede Simple API a vyhľadáte ho v histórii pod `ID správy`, nájdete tú istú správu.

## Kde nájdem ID v portáli

1. V menu kliknite na `Reporty`
2. Kliknite na `História`
3. Kliknite na riadok správy — rozbalí sa detail
4. Vpravo v detaile je `ID správy`; kliknutím sa označí celé a dá sa skopírovať

Opačne to ide tiež: keď `ID správy` už máte a chcete k nemu dohľadať správu, otvorte `Filter` nad tabuľkou a vložte hodnotu do poľa `ID správy`. Rovnakú hodnotu obsahuje aj export histórie do `CSV`.

Čo všetko história ukazuje a ako sa v nej filtruje, popisuje [História](https://www.bulkgate.com/sk/centrum-pomoci/report/historia/).

> [!IMPORTANT]
> Text správy sa v histórii neuchováva natrvalo — pri starších záznamoch sa namiesto neho zobrazí `Platnosť textu tejto správy vypršala`. `ID správy` a ostatné údaje zostávajú.

## Kde nájdem ID v odpovedi API

Rozhranie vracia `ID správy` hneď v odpovedi na odoslanie — je to jediná chvíľa, keď ho dostanete programovo, takže si ho uložte už v tomto kroku.

| Rozhranie | Ako sa pole volá |
|:--|:--|
| [Simple API](https://www.bulkgate.com/sk/dokumentacia/simple-api/simple-transactional/) | `sms_id` |
| [Advanced API `1.0`](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-transactional/1.0/) | `sms_id` |
| [Advanced API `2.0`](https://www.bulkgate.com/sk/dokumentacia/advanced-api/advanced-transactional/2.0/) | `message_id` |
| [Integration API](https://www.bulkgate.com/sk/dokumentacia/integration-api/integration-transactional/) | `message_id` |
| [Jednorazové heslá](https://www.bulkgate.com/sk/dokumentacia/otp-api/odoslanie-jednorazoveho-hesla/) | `message_id` |

Popri ňom vracia každé z nich ešte pole `part_id` — popisuje ho [Čo je part_id](#co-je-part-id).

Pri hromadnom odoslaní obsahuje odpoveď pole `response` so záznamom pre každého príjemcu zvlášť. `ID správy` je v takom prípade zakončené poradovým číslom správy v dávke:

```json
{
    "data": {
        "response": [
            {
                "status": "accepted",
                "message_id": "transactional-64afe5f28ffc2-0",
                "part_id": ["transactional-64afe5f28ffc2-0"],
                "number": "420777777777",
                "channel": "sms"
            },
            {
                "status": "accepted",
                "message_id": "transactional-64afe5f28ffc2-1",
                "part_id": ["transactional-64afe5f28ffc2-1"],
                "number": "420777777778",
                "channel": "sms"
            }
        ]
    }
}
```

## Čo je part_id

Dlhá SMS sa do siete operátora neodovzdáva vcelku — rozdelí sa na niekoľko samostatných správ, ktoré telefón príjemcu znova poskladá dohromady. Každá taká časť má vlastné ID a `part_id` je ich zoznam. Kedy a prečo sa správa delí, popisuje [Zreťazenie správ](https://www.bulkgate.com/sk/centrum-pomoci/sms/zretazenie-sprav/).

Pole sa riadi tromi pravidlami:

- **Posledný prvok je vždy zhodný s `ID správy`** — je bez prípony.
- **Predchádzajúce časti majú príponu `_1`, `_2`** a tak ďalej, podľa poradia, v ktorom sa správa skladá.
- **Správa, ktorá sa nerozdelila, má v `part_id` jediný prvok** totožný s `ID správy`. Týka sa to každej jednodielnej SMS a tiež všetkých správ na Viberi, WhatsAppe a RCS — tie sa na časti nedelia nikdy.

Odpoveď pri SMS rozdelenej na tri časti teda vyzerá takto:

```json
{
    "data": {
        "status": "accepted",
        "sms_id": "tmpde1bcd4b1d1",
        "part_id": [
            "tmpde1bcd4b1d1_1",
            "tmpde1bcd4b1d1_2",
            "tmpde1bcd4b1d1"
        ],
        "number": "420777777777"
    }
}
```

> [!IMPORTANT]
> Každá časť sa účtuje ako samostatná SMS. Počet prvkov v `part_id` je preto zároveň počet správ, ktoré zaplatíte — v príklade vyššie tri, hoci ste odoslali jednu.

> [!TIP]
> Na párovanie odpovedí a potvrdení o doručení vám stačí `ID správy`. `part_id` sa hodí, keď chcete hneď pri odoslaní vedieť, na koľko častí sa správa rozpadla — bez čakania na to, kým sa objaví v histórii.

## Kde nájdem ID vo webhooku

Potvrdenie o doručení príde na adresu, ktorú si nastavíte, a `ID správy` je v ňom v parametri `smsID`. Podľa neho potvrdenie spárujete so správou, ktorú ste odoslali.

- **Jednotlivo** príde požiadavka metódou `GET`, hodnoty sú v query stringu — pozrite [Potvrdenie o doručení](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/api-potvrdenie-o-doruceni-a-prichadzajucich-spravach/).
- **Hromadne** príde jedna požiadavka metódou `POST` s poľom záznamov vo formáte `JSON` — pozrite [Hromadné potvrdenie o doručení](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/api-hromadne-potvrdenie-o-doruceni-a-prichadzajucich-spravach/).

Kde sa adresa pre potvrdenia o doručení nastavuje, popisujú [Webhooky](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/webhooky/).

> [!NOTE]
> Na jednu správu môže prísť viac potvrdení s rovnakým `smsID` — stav `2` znamená, že správa čaká u operátora a výsledok príde neskôr. Počítajte s tým, že tú istú hodnotu uvidíte opakovane.

> [!WARNING]
> Prichádzajúce správy a odpovede, ktoré spoznáte podľa `status` s hodnotou `10`, parameter `smsID` neobsahujú. Nejde o potvrdenie o doručení vašej odoslanej správy, ale o novú správu od príjemcu.

## Na čo slúži ID správy

- **Nahlásenie problému s doručením.** Bez `ID správy` konkrétnu správu u doručovateľa nedohľadáme. Celý postup popisuje [Správa nebola doručená](https://www.bulkgate.com/sk/centrum-pomoci/vseobecne-informacie/sprava-nebola-dorucena/) — do jedného hlásenia môžete vložiť až tri rôzne `ID správy`.
- **Párovanie vo vlastnom systéme.** Uložte si `ID správy` z odpovede API k objednávke alebo zákazníkovi a prichádzajúce potvrdenia o doručení k nim priradíte podľa parametra `smsID`.
- **Dohľadanie správy v histórii.** `ID správy` je jediný filter, ktorý vedie presne na jednu správu; podľa čísla alebo kampane ich nájdete viac.

## Čím sa líši od ostatných identifikátorov

V detaile správy v histórii vidíte popri `ID správy` ešte ďalšie identifikátory. Ľahko sa zamieňajú, pritom každý odpovedá na inú otázku:

| Identifikátor | Čo identifikuje | Kto ho určuje |
|:--|:--|:--|
| `ID správy` | Jednu správu jednému príjemcovi | BulkGate |
| `ID Kampane` | Celú [kampaň](https://www.bulkgate.com/sk/centrum-pomoci/kampan/vytvaranie-sms-kampane/), teda všetky správy odoslané spoločne | BulkGate |
| `Značka (TAG)` | Čokoľvek, čo si označíte sami — objednávku, zákazníka, beh skriptu | Vy |
| `Application ID` | [Aplikáciu](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/api-tokeny/), z ktorej správa odišla | BulkGate |

> [!TIP]
> `Značka (TAG)` je jediný z nich, ktorý si nastavíte sami. Keď ho pri odosielaní vyplníte, môžete podľa neho neskôr filtrovať históriu aj bez znalosti `ID správy` — hodí sa, keď potrebujete nájsť všetky správy k jednej objednávke.
