API v1#
V súčasnej verzii podporuje API v1 dva spôsoby komunikácie so serverom, a to HTTPS JSON a HTTPS XML. Klientské aplikácie pre posielanie svojich požiadaviek využívajú URL https://smsapi.telekom.sk. Celá komunikácia je šifrovaná cez HTTPS spojenie.
Pre využitie niektorého z API rozhraní je potrebné mať zadefinovaný aspoň jeden API kľúč. Nad API kľúčom je nutné nastaviť aj zoznam IP adries, z ktorých bude možné odosielať požiadavky na API. Požiadavky na API sú defaultne nastavené na metódu POST. V prípade, že chcete využívať metódu GET, je nutné toto nastavenie povoliť pri danom API kľúči, čo je však odporúčané iba v nevyhnutných prípadoch.
Základná URL pre komunikáciu s API#
Komunikácia s API prebieha posielaním POST(GET) požiadaviek na nižšie uvedenú url:
Každý endpoint sa uvádza ako relatívna cesta k tejto základnej URL. Napr. pre autentifikáciu (/auth) bude výsledná URL pre JSON
https://smsapi.telekom.sk/json/auth
Funkcia auth#
Metóda: POST, GET
Endpoint: /auth
Funkcia auth slúži na autentifikáciu používateľa.
Povinným parametrom pre autentifikáciu je token, čo je vlastne API kľuč vygenerovaný vo webovej aplikácii. Výsledkom autentifikácie je získané session_id, ktoré je potrebné na posielanie akýchkoľvek ďalších požiadaviek na API rozhranie (posielanie SMS, overovanie...). Aplikácia taktiež toto session_id ukladá aj do šifrovaného cookie. Platnosť obidvoch session je 15 minút pri nečinnosti. V prípade, ak API klient nepodporuje ukladanie session_id alebo cookies, je potrebné pri každej požiadavke odosielať všetky údaje ako pri autentifikácii.
* - povinný parameter
| Parameter | Typ | Popis |
|---|---|---|
| *token | string | Vygenerovaný api kľúč |
Príklad POST requestu:
URL: https://smsapi.telekom.sk/json/auth
Telo požiadavky:
V prípade úspešnej autentifikácie získame odpoveď v nasledujucom formáte:
V prípade chýb získame odpoveď s chybovou hláškou (ukážka chybovej hlášky):
Funkcia ping#
Metóda: POST, GET
Endpoint: /ping
Ako už bolo spomínané pri autentifikovaní získame session_id, ktoré je v prípade nečinnosti platné 15 minút. V prípade, že vyžadujeme prácu cez API pod rovnakým session_id, máme k dispozícii funkciu ping. Táto funkcia slúži na obnovovanie životnosti session_id ešte predtým, než sa jej minie platnosť.
* - povinný parameter
| Parameter | Typ | Popis |
|---|---|---|
| *session_id | string | Session id |
Príklad POST requestu:
V prípade, že overenie prebehlo úspešne získame odpoveď v nasledujucom formáte:
V prípade chýb získame odpoveď s chybovou hláškou (ukážka chybovej hlášky):
Funkcia send_message#
Metóda: POST, GET
Endpoint: /send_message
Táto funkcia slúži na samotné odosielanie SMS správ a vyžaduje/podporuje nasledovne vstupné parametre:
* - povinný parameter
| Parameter | Typ | Popis |
|---|---|---|
| *to | string | Číslo adresáta správy vo formáte 4219xxxxxxxx pre SMS. Pokiaľ chcete odoslať správu typu RCS, číslo je potrebné zadať vo formáte +4219xxxxxxxx alebo 09xxxxxxxx. |
| *text | string | Text správy. |
| *token alebo session_id | string | API token získaný z webovej aplikácie alebo session_id získané z funkcie auth. |
| from | string | Číslo alebo textový identifikátor odosielateľa SMS správy. Ak nebude definovaný, správa sa odošle z čísla, ktoré je priradené k účtu. |
| callback | bool | true(Predvolená hodnota) - Bude odosielať delivery status správy na URL adresu pre callback definovanú v nastaveniach API kľúča false - nebude odosielať delivery status správy Akákoľvek zadaná hodnota okrem false, 0, "0" alebo "" bude považovaná za true. |
| delivery_time | string | [timestamp] Čas, v ktorom má byť správa odoslaná vo formáte YYYY-MM-DD HH:MM:SS. |
| priority | integer | Priorita zasielania SMS. Možné hodnoty parametra: 1 (Nízka), 2 (Štandardná), 3 (Vysoká). (Predvolená hodnota - 2). |
| validity | integer | Čas platnosti SMS. Ak SMS nebude odoslaná do SMSC do tohto časového limitu, bude z queue vymazaná. Hodnota je uvádzaná v minútach. Možné hodnoty 1-1440. (Predvolená hodnota - 1440 minút). |
| unicode | bool | false - pošle ako štandardnú správu GSM 7bit. Ak správa obsahuje diakritiku, tá bude z textu odstránená true - pošle ako unicode [UTF-16] V prípade, že tento parameter nie je definovaný, aplikácia odošle správu na základe automatickej detekcie kódovania. Akákoľvek zadaná hodnota okrem false, 0, "0" alebo "" bude považovaná za true. |
| type | string | standard(Predvolená hodnota) - štandardná správa flash - SMS, ktorá sa zobrazí okamžite po prijatí telefónom |
| groupId | integer | ID kadenčnej skupiny, prostredníctvom ktorej bude SMS správa odoslaná. |
Príklad POST requestu:
URL: https://smsapi.telekom.sk/json/send_message
Telo požiadavky:
URL: https://smsapi.telekom.sk/xml/send_message
Telo požiadavky:
V prípade, že správa bola odoslaná úspešne získame odpoveď v nasledujucom formáte:
V prípade chýb získame odpoveď s chybovou hláškou (ukážka chybovej hlášky):
V prípade, že požiadavka bola prijatá úspešne, ale niektorú správu nebolo možné odoslať (príklad s konkrétnou chybou):
Funkcia check_message#
Metóda: POST, GET
Endpoint: /check_message
Táto funkcia slúži na overenie stavu správy (stav doručenia) a podporuje nasledujúce parametre.
* - povinný parameter
| Parameter | Typ | Popis |
|---|---|---|
| *token alebo session_id | string | API token alebo session_id vrátené pomocou metódy auth. |
| *message_id | string | ID správy vygenerovanej funkciou send_message |
Príklad POST requestu:
URL: https://smsapi.telekom.sk/json/check_message
Telo požiadavky:
V prípade, že overenie prebehlo úspešne:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>
<status>success</status>
<description></description>
<code>OK</code>
</result>
<message>
<status>Doručená</status>
<code>DELIVERED</code>
<deliveryDateTime>2017-01-01 10:45:00</deliveryDateTime> <!-- Tvar imestamp alebo prádzny reťazec v prípade, že správa ešte nebola doručená. -->
</message>
</response>
V prípade chyby (príklad s konkrétnou chybou):
Stavy parametra status
| code | status | Popis |
|---|---|---|
| UNSENT | Neodoslaná | Správa ešte nebola spracovaná. |
| SCHEDULED | Plánovaná | Správa je načasovaná na neskoršie odoslanie. |
| QUEUED | Vo fronte | Správa bola prijatá a čaká na odoslanie. |
| SENDING | Odosiela sa | Správa sa aktuálne odosiela. |
| SENT | Odoslaná | Správa bola odoslaná na cieľovú platformu (SMS Centrum, RBM, Viber) |
| DELIVERED | Doručená | Správa bola doručená adresátovi. |
| EXPIRED | Expirovaná | Časový limit na doručenie správy vypršal. |
| DELETED | Zmazaná | Správa bola odstránená z doručovacej fronty. |
| UNDELIVERABLE | Nedoručiteľná | Správu nie je možné doručiť. |
| DENIED | Zamietnutá | Správa bola zamietnutá cieľovou platformou. |
| IN_GROUP | V skupine | Správa je zaradená do kadenčnej skupiny. |
| READ | Prečítaná | Správa bola prečítaná. |
| PROCESSING | Spracúva sa | Správa je v procese spracovania. |
| ERROR | Chyba | Správu nie je možné odoslať z dôvodu chyby. Systém sa pokúsi opätovne správu doručiť ešte 5 krát v priebehu 60 minút. |
| UNKNOWN | Neznámy | Správa bola odoslaná, ale nie je možné zistiť stav doručenia. |
Funkcia sms-groups (Kadenčné skupiny)#
Metóda: POST, GET
Endpoint: /sms-groups
Funkcia slúži na získanie zoznamu všetkých SMS kadenčných skupín.
* - povinný parameter
| Parameter | Typ | Popis |
|---|---|---|
| *token alebo session_id | string | API token alebo session_id vrátené pomocou metódy auth. |
| limit | integer | Počet záznamov, ktoré budú vrátené. |
| startFrom | integer | Vráti záznamy od zadanej hodnoty. |
Príklad POST requestu:
URL: https://smsapi.telekom.sk/json/sms-groups
Telo požiadavky:
V prípade, že overenie prebehlo úspešne získame odpoveď v nasledujucom formáte:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>
<status>success</status>
<description></description>
<code>OK</code>
</result>
<groups count="1">
<number>
<id>1000</id> // ID skupiny
<name>success</name> // Názov skupiny
<isPaused>false</isPaused> // Odosielanie pozastavené
<note>Text</note> // Poznámka
</number>
</groups>
</response>
V prípade chýb získame odpoveď s chybovou hláškou (ukážka chybovej hlášky):
Funkcia check_phone_number#
Metóda: POST, GET
Endpoint: /check_phone_number
Funkcia slúži na overenie existencie telefónneho čísla a operátora.
* - povinný parameter
| Parameter | Typ | Popis |
|---|---|---|
| *token alebo session_id | string | API token alebo session_id vrátené pomocou metódy auth. |
| *phone_number | string | Telefónne číslo |
Príklad POST requestu:
URL: https://smsapi.telekom.sk/json/check_phone_number
Telo požiadavky:
V prípade, že overenie prebehlo úspešne získame odpoveď v nasledujucom formáte:
V prípade chýb získame odpoveď s chybovou hláškou (ukážka chybovej hlášky):
Delivery status callback#
Príklad callbacku:
{
"delivery": {
"status": "DELIVERED",
},
"messageId": 991003276,
"channel": "sms",
"messageParts": 1,
"type": "dsn",
"timestamp": "2025-10-02T08:31:39.825Z"
}
Popis parametrov
| Parameter | Typ | Popis |
|---|---|---|
| delivery.status | string | Stav správy. Nadobudnuteľné stavy sú popísané nižšie |
| messageId | integer | ID správy |
| channel | string | Kanál cez ktorý bola správa odoslaná. (sms, rcs) |
| messageParts | integer | Počet správ, na ktoré bola správa rozdelená |
| type | string | Typ callbacku (dsn, postback) |
| timestamp | string | Timestamp vo formáte ISO 8601 |
Stavy parametra status:
| Status | Popis |
|---|---|
| QUEUED | Správa bola prijatá a čaká na odoslanie. |
| SENDING | Správa sa aktuálne odosiela. |
| SENT | Správa bola odoslaná do SMS centra. |
| DELIVERED | Správa bola doručená adresátovi. |
| EXPIRED | Časový limit na doručenie správy vypršal. |
| UNDELIVERABLE | Správu nie je možné doručiť. |
| DENIED | Správa bola zamietnutá SMS centrom. |
| ERROR | Správu nie je možné odoslať z dôvodu chyby. Systém sa pokúsi opätovne správu doručiť ešte 5 krát v priebehu 60 minút. |
| UNKNOWN | Správa bola odoslaná, ale nie je možné zistiť stav doručenia. |