API v2#
Základná URL pre komunikáciu s API v2#
Komunikácia s API v2 prebieha posielaním POST požiadaviek na nižšie uvedenú url:
Funkcia message#
Metóda: POST
Endpoint: /message
Pre autentifikáciu je používaná HTTP hlavička X-API-KEY, ktorej hodnotu je potrebné nastaviť na vygenerovaný API kľúč
Pre odoslanie správy je potrebné vytvoriť POST požiadavku v nasledujúcom tvare:
curl -X POST\
-H "X-API-KEY: {{VÁŠ_API_KĽÚČ}}"\
-H "Accept: application/json"\
-H "Content-Type: application/json"\
-d '{
-- Telo požiadavky, podrobne popísané nižšie --
}'
"https://smsapi.telekom.sk/v2/messages"
{
"recipients": [
{
"phone": "+421XXXXXXXXX",
"externalId": "8e9b404f-fd1d-4633-926c-13c286514427"
}
],
"channels": [
{
"type": "rcs",
"ttl": 30
},
{
"type": "sms"
}
],
"deliveryTime": "2025-09-25 08:00:00",
"priority": 2,
"groupId": 1,
"callbackUrls": [
{
"url": "https.zakaznik.app/callback",
"types": [
"postback",
"dsn"
]
}
],
"rcs": {
"text": "Prajete si dostávať správy z tohto čísla?",
"suggestions": [
{
"reply": {
"text": "Áno",
"postbackData": "yes"
}
},
{
"reply": {
"text": "Nie",
"postbackData": "no"
}
}
]
},
"sms": {
"text": "Fallback SMS, pokiaľ príjemca nie je dostupný pre RCS"
}
}
{
"recipients": [
{
"phone": "+421XXXXXXXXX",
"externalId": "8e9b404f-fd1d-4633-926c-13c286514427"
}
],
"channels": [
{
"type": "rcs",
"ttl": 30
},
{
"type": "sms"
}
],
"deliveryTime": "2025-09-25 08:00:00",
"priority": 2,
"groupId": 1,
"callbackUrls": [
{
"url": "https.zakaznik.app/callback",
"types": [
"postback",
"dsn"
]
}
],
"rcs": {
"file": {
"url": "https://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"
},
"suggestions": [
{
"action": {
"text": "Vyberte polohu",
"postbackData": "test_text",
"fallbackUrl": "https://google.com",
"shareLocation": {}
}
}
]
},
"sms": {
"text": "Fallback SMS, pokiaľ príjemca nie je dostupný pre RCS"
}
}
{
"recipients": [
{
"phone": "+421XXXXXXXXX",
"externalId": "8e9b404f-fd1d-4633-926c-13c286514427"
}
],
"channels": [
{
"type": "rcs",
"ttl": 30
},
{
"type": "sms"
}
],
"deliveryTime": "2025-09-25 08:00:00",
"priority": 2,
"groupId": 1,
"callbackUrls": [
{
"url": "https.zakaznik.app/callback",
"types": [
"postback",
"dsn"
]
}
],
"rcs": {
"standaloneCard": {
"cardOrientation": "VERTICAL",
"thumbnailImageAlignment": "LEFT",
"cardContent": {
"title": "StandaloneCard Titulka",
"description": "StandaloneCard Popis",
"media": {
"height": "TALL",
"contentInfo": {
"fileUrl": "https://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"
}
},
"suggestions": [
{
"reply": {
"text": "Áno",
"postbackData": "yes"
}
},
{
"reply": {
"text": "Nie",
"postbackData": "no"
}
}
]
}
}
},
"sms": {
"text": "Fallback SMS, pokiaľ príjemca nie je dostupný pre RCS"
}
}
{
"recipients": [
{
"phone": "+421XXXXXXXXX",
"externalId": "8e9b404f-fd1d-4633-926c-13c286514427"
}
],
"channels": [
{
"type": "rcs",
"ttl": 30
},
{
"type": "sms"
}
],
"deliveryTime": "2025-09-25 08:00:00",
"priority": 2,
"groupId": 1,
"callbackUrls": [
{
"url": "https.zakaznik.app/callback",
"types": [
"postback",
"dsn"
]
}
],
"rcs": {
"carouselCard": {
"cardWidth": "MEDIUM",
"cardContents": [
{
"title": "Google Card",
"description": "Krátky popis karty",
"media": {
"height": "SHORT",
"contentInfo": {
"fileUrl": "https://services.google.com/fh/files/misc/google_g_icon_download.png"
}
},
"suggestions": [
{
"action": {
"text": "Otvoriť Google",
"postbackData": "test_text",
"fallbackUrl": "https://google.com",
"openUrl": {
"url": "https://google.com"
}
}
}
]
},
{
"title": "Instagram card",
"description": "Krátky popis karty",
"media": {
"height": "TALL",
"contentInfo": {
"fileUrl": "https://static.xx.fbcdn.net/rsrc.php/v4/yx/r/tBxa1IFcTQH.png"
}
},
"suggestions": [
{
"action": {
"text": "Zavolať podporu",
"postbackData": "call_support",
"fallbackUrl": "https://instagram.com",
"dial": {
"phoneNumber": "+421YYYYYYYYY"
}
}
}
]
}
]
}
},
"sms": {
"text": "Fallback SMS, pokiaľ príjemca nie je dostupný pre RCS"
}
}
Popis jednotlivých parametrov
| Parameter | Typ | Povinnosť | Popis |
|---|---|---|---|
| recipients[] | array | ✔️ | Zoznam príjemcov správy |
| channels[] | array | ✔️ | Zoznam kanálov pre odoslanie správy |
| deliveryTime | string (datetime) | ❌ | Dátum a čas odoslania správy |
| priority | integer | ❌ | Priorita odosielania správy. Možné hodnoty parametra: 1 (Nízka) 2 (Štandardná) - Default 3 (Vysoká) |
| groupId | integer | ❌ | ID kadenčnej skupiny, prostredníctvom ktorej bude správa odoslaná |
| callbackUrls | array | ❌ | Callback url, ktoré budú volané pri zmene stavu/spätnej správe |
| sms | objekt | ℹ️ | Objekt s informáciami o SMS |
| rcs | objekt | ℹ️ | Objekt s informáciami o RCS |
ℹ️ - Parametre sms a rcs sú povinné pokiaľ je tento typ správy zadefinovaný v parametri channels.
recipients#
Parameter recipients obsahuje zoznam príjemcov pre danú správu. Každá správa musí obsahovať aspoň jedného prijímateľa.
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| phone | string | ✔️ | Telefónne číslo príjemcu v tvare +421XXXXXXXXX |
| externalId | string | ❌ | Slúži na identifikáciu správy zo strany zákazníka. Odosiela sa pri úspešnom prijatí požiadavky a pri callbacku. |
Príklad
channels#
Parameter channels obsahuje zoznam s informáciou o kanáloch pre doručenie správy. Poradie kanálov v zozname určuje ich prioritu. Každá správa musí mať aspoň jeden kanál, prostredníctvom ktorého bude odoslaná.
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| type | string | ✔️ | Telefónne číslo príjemcu v tvare +421XXXXXXXXX |
| ttl | integer | ❌ | Počet sekúnd, po ktorých sa správa označí ako nedoručiteľná a správa následne môže byť odoslaná cez nasledujúci kanál. |
deliveryTime#
Voliteľný parameter pre určenie času doručenia správy v jednom z nasledujúcich formátov:
-
Lokalizovaný formát: "YYYY-MM-DD HH:MM:SS"
Napr.:- 2025-09-25 08:00:00
-
ISO 8601 formát: "YYYY-MM-DDTHH:MM:SS±[hh:mm]"
Napr.:- 2025-09-25 06:00:00Z (UTC)
- 2025-09-25T08:00:00+02:00 (CEST)
Pokiaľ parameter nie je určený alebo je jeho hodnota v minulosti, správa sa odošle okamžite.
callbackUrls#
Zoznam adries, ktoré budú volané pri zmene stavu doručenia správy alebo pri odpovedi príjimateľa.
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| url | string | ✔️ | Url, na ktorú príde požiadavka pri zmene stavu alebo odpovedi |
| types | array - string | ✔️ | Typ callbacku. Podporované sú 2 hodnoty: dsn - informácia o zmene stavu doručenia správy postback - odpoveď na správu pomocou suggestions |
Príklad
sms#
Obsahuje informácie potrebné pre odoslanie SMS.
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| text | string | ✔️ | Text správy. Maximálna dĺžka správy závisí od použitého kódovania |
| from | string | ❌ | Číslo alebo textový identifikátor, ktorý bude zobrazený u prijímateľa. Pokiaľ tento parameter nebude definovaný, použije sa primárne číslo priradené účtu. |
| unicode | string | ❌ | V prípade, že tento parameter nie je definovaný, aplikácia odošle správu na základe automatickej detekcie kódovania. true pošle ako unicode[UTF-16] false pošle ako GSM-7 |
rcs#
Informácie potrebné pre odoslanie RCS správy
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| file | objekt | ℹ️ | Objekt s informáciami o súbore. |
| text | string | ℹ️ | Text správy |
| standaloneCard | objekt | ℹ️ | Objekt s definíciou mediálnej karty, ktorá sa zobrazí prijímateľovi |
| carouselCard | objekt | ℹ️ | Carousel, ktorý môže obsahovať rôzne vizuálne prvky alebo médiá. |
| suggestions[] | array | ❌ | Návrhy na odpoveď vo forme tlačidiel, ktoré sa zobrazia pod správou. |
ℹ️ - Povinné je použiť presne jeden z týchto parametrov.
rcs.file#
rcs.standaloneCard#
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| cardOrientation | string (enum) | ✔️ | Orientácie karty. Môže mať 2 hodnoty: VERTICAL- vertikálne rozloženie HORIZONTAL - horizontálne rozloženie |
| thumbnailImageAlignment | string (enum) | ❌ | Zarovnanie náhľadu obrázka pre karty s horizontálnym rozložením. Môže mať 2 hodnoty: LEFT- zarovnanie náhľadu doľava RIGHT - zarovnanie náhľadu doprava |
| cardContent | objekt | ✔️ | Obsah karty |
Príklad
{
"cardOrientation": "HORIZONTAL",
"thumbnailImageAlignment": "RIGHT",
"cardContent": {
"title": "Slovak Telekom",
"media": {
"contentInfo": {
"fileUrl": "https://www.telekom.sk/documents/10179/19896051/telekom-logo.png"
}
},
"suggestions": [
{
"action": {
"text": "Zavolať podporu",
"postbackData": "call_support",
"dial": {
"phoneNumber": "+421800123456"
}
}
}
]
}
}
rcs.carouselCard#
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| cardWidth | string (enum) | ✔️ | Šírka jednotlivých kariet. Môže mať 2 hodnoty: SMALL- 120 DP. Pokiaľ je šírka karty small nie je možné použiť media s výškou TALL MEDIUM - 232 DP |
| cardContents[] | array objektov cardContent | ✔️ | Obsah jednotlivých kariet |
Príklad
{
"cardWidth": "MEDIUM",
"cardContents": [
{
"title": "Predajne Slovak Telekom",
"media": {
"height": "TALL",
"contentInfo": {
"fileUrl": "https://www.telekom.sk/documents/10179/19720195/spolupraca.jpg"
}
},
"suggestions": [
{
"action": {
"text": "Zobraziť predajne",
"postbackData": "open_url_nearby_stores",
"fallbackUrl": "https://www.telekom.sk/",
"viewLocation": {
"query": "Slovak Telekom predajňa"
}
}
},
{
"action": {
"text": "Zavolať zákaznícku linku",
"postbackData": "dial_support",
"fallbackUrl": "https://www.telekom.sk/",
"dial": {
"phoneNumber": "+421800123456"
}
}
}
]
},
{
"title": "Slovak Telekom",
"media": {
"height": "MEDIUM",
"contentInfo": {
"fileUrl": "https://www.telekom.sk/documents/10179/19896051/telekom-logo.png"
}
},
"suggestions": [
{
"action": {
"text": "Volania",
"postbackData": "open_url_calls",
"openUrl": {
"url": "https://www.telekom.sk/volania"
}
}
},
{
"action": {
"text": "Internet",
"postbackData": "open_url_internet",
"openUrl": {
"url": "https://www.telekom.sk/internet"
}
}
},
{
"action": {
"text": "Televízia",
"postbackData": "open_url_tv",
"openUrl": {
"url": "https://www.telekom.sk/televizia"
}
}
},
{
"action": {
"text": "Stiahnúť aplikáciu",
"postbackData": "open_url_app",
"openUrl": {
"url": "https://play.google.com/store/apps/details?id=com.telekom.portal"
}
}
}
]
}
]
}
cardContent#
Slúži na definovanie obsahu, ktorý sa zobrazí na karte.
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| title | string | ℹ️ | Názov karty. Maximálne 200 znakov |
| description | string | ℹ️ | Popis karty. Maximálne 2000 znakov. |
| media[] | objekt | ℹ️ | Mediálny súbor zobrazený na karte. |
| suggestions[] | array | ❌ | Návrhy odpovedí vo forme tlačidiel, ktoré sa zobrazia na karte. |
ℹ️ - Povinné je použiť aspoň jeden z týchto parametrov.
cardContent.media#
Mediálny súbor, ktorý sa zobrazí na karte
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| height | string (enum) | ✔️ | Výška zobrazovaného média pri vertikálnom rozložení. |
| contentInfo | objekt | ✔️ | Informácie o mediálnom súbore vrátane URL adresy súboru a URL adresy jeho náhľadu. |
cardContent.media.height#
Výška zobrazovaného média pri vertikálnom rozložení. Pri samostatnej karte s horizontálnym rozložením nie je výška prispôsobiteľná a toto pole sa ignoruje. Hodnoty:
- SHORT - 112 DP.
- MEDIUM - 168 DP.
- TALL - 264 DP. Nie je možné použiť pre carousel card ak je veľkosť karty nastavená na SMALL.
cardContent.media.contentInfo#
Tento objekt má rovnaké parametre a obmedzenia ako rcs.file
suggestions#
Parameter suggestions je zoznam objektov, ktoré slúžia ako návrhy odpovedí pre prijímateľa. Maximálna dĺžka zoznamu je 11 návrhov.
Tento parameter môže byť nastavený buď na úrovni rcs alebo cardContent. V prípade, že správa RCS obsahuje cardContent, je tento parameter na úrovni rcs ignorovaný.
Suggestion môže nadobúdať 2 typy a to reply alebo action, pričom tieto typy je v zozname možné kombinovať.
Príklad
suggestions.reply#
Objekt typu reply slúži ako návrh rýchlej textovej odpovede pre prijímateľa.
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| text | string | ✔️ | Text, ktorý sa prijímateľovi zobrazí ako rýchla odpoveď. Maximálne 25 znakov. |
| postbackData | string | ✔️ | Dáta, ktoré sa odošlú na callbackUrl po kliknutí na rýchlu odpoveď |
suggestions.action#
Objekt typu action slúži pre navrhnutie akcie ako napr. zdieľanie lokácie, návšteva stránky, vytočenie čísla a pod.
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| text | string | ✔️ | Text, ktorý sa zobrazí pri danej akcii. Maximálne 25 znakov |
| postbackData | string | ✔️ | Dáta, ktoré sa odošlú na callbackUrl po kliknutí na navhrovnú akciu |
| fallbackUrl | string | ❌ | URL adresa, ktorá sa otvorí v prehliadači, ak zariadenie nepodporuje funkciu suggestions |
| dial | objekt | ℹ️ | Otvorí predvolenú aplikáciu na telefonovanie a vloží do nej špecifikované t.č. |
| viewLocation | objekt | ℹ️ | Akcia na zobrazenie polohy v predvolenej mapovej aplikácii na základe zemepisnej šírky a dĺžky alebo dotazu |
| shareLocation | objekt | ℹ️ | Otvorí výber polohy, kde si používateľ môže vybrať lokáciu, ktorú chce odoslať agentovi |
| openUrl | objekt | ℹ️ | Akcia, ktorá otvorí poskytnutú url v predvolenom webovom prehliadači |
| createCalendarEvent | objekt | ℹ️ | Akcia pre vytvorenie udalosti v kalendári |
ℹ️ - Povinné je použiť presne jeden z týchto parametrov.
suggestions.action.dial#
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| phoneNumber | string | ✔️ | Telefónne číslo vo formáte +421XXXXXXXXX |
Príklad
suggestions.action.viewLocation#
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| latLong | objekt | ❌ ℹ️ | Objekt ktorý na základe zemepisnej šírky a dĺžky definuje miesto na mape |
| label | string | ❌ | Názov miesta, definovaného objektom latLong |
| query ⚠️ | string | ❌ ℹ️ | Pre predvolené mapové aplikácie, ktoré podporujú funkciu vyhľadávania (vrátane Google Maps), klepnutie na túto navrhovanú akciu spôsobí vyhľadanie miesta v okolí aktuálnej polohy používateľa. Ak je dotaz dostatočne špecifický, môže byť použiťý na určenie akéhokoľvek miesta na svete. Napríklad nastavenie dotazu na Slovak Telekom zobrazí všetky pobočky Slovak Telekom v okolí používateľa. Nastavenie dotazu na Námestie SNP 1, 811 01 Bratislava vyberie túto konkrétnu adresu bez ohľadu na polohu používateľa. |
ℹ️ - Je povinné použiť presne jeden z týchto parametrov.
⚠️ - Dostupné iba na zariadeniach s Android OS.
Príklad
suggestions.action.viewLocation.latLong#
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| latitude | number | ✔️ | Zemepisná šírka v stupňoch. Musí byť v rozsahu [-90.0, +90.0] |
| longitude | number | ✔️ | Zemepisná dĺžka v stupňoch. Musí byť v rozsahu [-180.0, +180.0] |
suggestions.action.shareLocation#
Umožňuje užívateľovi poslať polohu vášmu agentovi. Poloha, ktorú užívateľ určí, nemusí byť nutne polohou užívateľa. Táto akcia nemá žiadne povinné ani voliteľné parametre.
suggestions.action.openUrl#
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| url | string | ✔️ | URL adresa, ktorá sa otvorí v predvolenom prehliadači |
suggestions.action.createCalendarEvent#
| Názov parametra | Typ parametra | Povinnosť | Popis |
|---|---|---|---|
| title | string | ✔️ | Názov udalosti |
| description | string | ✔️ | Popis udalosti |
| startDateTime | string (date-time) | ✔️ | Začiatok udalosti |
| endDateTime | string (date-time) | ✔️ | Koniec udalosti |
Dátum je potrebné zadávať vo formáte ISO 8601: "YYYY-MM-DDTHH:MM:SS±[hh:mm]", napr:
- 2025-09-25 06:00:00Z (UTC)
- 2025-09-25T08:00:00+02:00 (CEST)