XML-RPC žádost musí být vydána ve formátu uvedeném níže.
UPOZORNĚNÍ: Formát zasílaných dat musí být v Base 64.
Ukázka API volání:
JSON
{ "function": "mailkit.sendsms", "id": "client_id", "md5": "client_md5", "parameters": { "campaign": { "ID_message": 12346, "ID_user_list": 123456, "use_utf": false, "allow_split": false, "source": "SenderName" }, "recipient": { "email":"", "mobile":"+420777744440", "first_name":"John", "last_name": "Doe", "gender": "m", "custom1": "custom field", "custom2": "custom field" }, "content": { "sms_data": "base64 encoded content", "content": { "var1": "base64 encoded data", "var2": "base64 encoded data" } } } }
XML
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>mailkit.sendsms</methodName>
<params>
<param>
<value>
<int>client_id</int>
</value>
</param>
<param>
<value>
<string>client_md5</string>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>ID_message</name>
<value>
<i4>123456</i4>
</value>
</member>
<member>
<name>ID_user_list</name>
<value>
<i4>12345</i4>
</value>
</member>
<member>
<name>use_utf</name>
<value>
<string>FALSE</string>
</value>
</member>
<member>
<name>allow_split</name>
<value>
<string>FALSE</string>
</value>
</member>
<member>
<name>source</name>
<value>
<string>Odesílatel</string>
</value>
</member>
</struct>
</value>
</param>
------ komu ------
<param>
<value>
<struct>
<member>
<name>mobile</name>
<value>
<i4>+420778535877</i4>
</value>
</member>
<member>
<name>email</name>
<value>
<string>mail@example.com</string>
</value>
</member>
<member>
<name>vocative</name>
<value>
<string>oslovení</string>
</value>
</member>
<member>
<name>prefix</name>
<value>
<string>titul</string>
</value>
</member>
<member>
<name>last_name</name>
<value>
<string>příjmení</string>
</value>
</member>
<member>
<name>first_name</name>
<value>
<string>jméno</string>
</value>
</member>
<member>
<name>reply_to</name>
<value>
<string>example@example.com</string>
</value>
</member>
<member>
<name>company</name>
<value>
<string>firma</string>
</value>
</member>
<member>
<name>custom1</name>
<value>
<string></string>
</value>
</member>
<member>
<name>custom2</name>
<value>
<string></string>
</value>
</member>
</struct>
</value>
</param>
------ co ------
<param>
<value>
<struct>
<member>
<name>sms_data</name>
<value>
<string>obsah sms v base64</string>
</value>
</member>
<member>
<name>content</name>
<value>
<struct>
<member>
<name>VAR1</name>
<value>
<string>data v base64</string>
</value>
</member>
<member>
<name>VAR2</name>
<value>
<string>data v base64</string>
</value>
</member>
<member>
<name>PRODEJNA</name>
<value>
<struct>
<member>
<name>MESTO</name>
<value>
<string>data v base64</string>
</value>
</member>
<member>
<name>ULICE</name>
<value>
<string>data v base64</string>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</param>
----------------
</params>
</methodCall>
Strukturované
my $result = $server->call(
'mailkit.sendsms',
$cid,
$md5,
{
'ID_user_list' => $ID_user_list,
'ID_message' => $ID_message,
'use_utf' => 'TRUE',
'allow_split' => 'FALSE'
'source' => 'Odesilatel',
},
{
'email' => $email,
'mobile' => $mobile,
'custom1' => 1,
'custom2' => 2,
'custom3' => 3,
},
{
'sms_data' => encode_base64("vlastni obsah sms"),
'content',
{
'company_rpc',encode_base64('Mailkit'),
'name_rpc',encode_base64('nejaky nazev'),
'test_url',encode_base64('http://www.example.cz'),
},
},
);
Hodnoty
client_id * = API ID – naleznete ve svém Mailkit účtu v menu Profil/Integrace.
client_md5 * = MD5 kód – naleznete ve svém Mailkit účtu v menu Profil/Integrace.
ID_message * = ID SMS kampaně
ID_user_list * = ID seznamu příjemců
use_utf = diakritika v SMS. Může nabývat hodnot:
- FALSE (defaultní stav) = převést diakritiku na ASCII (v SMS se nebude vyskytovat diakritika)
- TRUE = SMS může obsahovat diakritiku (u zpráv s diakritikou se do jedné SMS vejde pouze cca 70 znaků)
allow_split = umožnit rozdělení SMS do více částí (max. 6). Může nabývat hodnot:
- FALSE (defaultní stav) = SMS nebude rozdělena do více částí
- TRUE = SMS delší než 160 znaků smí být rozdělena do více částí
source = název odesílatele. V defaultním nastavení SMS zprávy odchází s odesílatelem “Info” (zobrazí se jako odesílatel v seznamu přijatých zpráv ve vašem mobilním telefonu). Pro rozesílání vašich SMS kampaní můžete používat vlastního odesílatele. Pokud si jej chcete zaregistrovat, neváhejte nás kontaktovat. Odesílatel (Sender ID) může mít maximálně 11 znaků (povolené jsou znaky: a-z, A-Z, 1-9, tečka, pomlčka a mezera).
mobile * = mobilní telefonní číslo příjemce v mezinárodním tvaru (+420XXXYYYXXX)
email = e-mailová adresa příjemce. Údaj není povinný – ale v případě jeho nevyplnění bude systémem doplněn příjemci e-mail ve tvaru +420XXXYYYXXX@mailkit.mobile.
Mějte na paměti, že výchozím údajem každého příjemce je vždy pouze jeho e-mailová adresa. Proto, pokud bude poprvé do systému vloženo pouze mobilní číslo příjemce a podruhé bude s mobilním číslem vložen i jeho e-mail, nedojde ke spárování, ale vzniknou 2 odlišní příjemci.
first_name = jméno příjemce
last_name = příjmení
vocative = oslovení
prefix = titul
gender = pohlaví příjemce (M/F)
company = firma
custom1, ... = vlastní pole příjemce (1-25)
sms_data (v base64) = obsah SMS zprávy v base64
content (v base64) = proměnný obsah v base64, který bude vložen na definovaná místa obsahu SMS prostřednictvím tagů, např. [% shared.VAR1 -%] či např. [% data.PRODEJNA.MESTO -%] pro komplexní struktury.
* povinný parametr
Po úspěšném volání se vrací:
JSON
{ "status": "0", "data": "123456789", "data2": "123456", "error_status": 0, "data3": "123456789" }
XML
<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>data2</name>
<value>
<i4>12345</i4>
</value>
</member>
<member>
<name>data</name>
<value>
<i4>12345678</i4>
</value>
</member>
<member>
<name>error_status</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>status</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>data3</name>
<value>
<i8>12345678</i8>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
Hodnoty
data = ID nově vloženého nebo nalezeného příjemce
data2 = ID rozesílky
data3 = ID zprávy
status
- 0 = update (příjemce byl aktualizován)
- 1 = insert (příjemce byl úspěšně vložen)
- 2 = insert (příjemce byl odhlášen a má status odhlášený)
- 3 = update (příjemce byl odhlášen a má status odhlášený)
- 4 = fault (mobilní číslo mělo špatný formát, příjemce nebyl vložen)
error_status
- 0 = volání proběhlo úspěšně
- 1+ = neúspěšné volání
Po neúspěšném volání se vrací:
JSON
{ "error_status": 1, "error": "Invalid source" }
XML
<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
<params>
<param>
<value>
<string>Invalid source</string>
</value>
</param>
</params>
</methodResponse>
Hodnoty
Invalid ID_mailing_list = neplatné ID seznamu příjemců
Missing ID_mailing_list = chybějící ID seznamu příjemců
Invalid ID_message = neplatné ID kampaně
Missing ID_message = chybějíci ID kampaně
Invalid source = neplatné Sender ID (buď není pro daný účet registrované, nebo bylo uvedeno jiné Sender ID než je pro daný účet registrované)
Missing mobile = chybějící telefonní číslo