| Статуси повідомлень. Відповідь сервера та коди помилокУ разі помилки Сервер повертає наступний рядок:
- При fmt = 0:
ERROR = N (опис)
- При fmt = 1:
0,-N
- При fmt = 2:
<result>
<error>опис</error>
<error_code>N</error_code>
</result> |
- При fmt = 3:
{
"error": "опис",
"error_code": N
} |
N – номер помилки, може приймати наступні значення:
Значення | Опис
|
---|
1 | Помилка в параметрах.
|
---|
2 | Невірний логін або пароль. Також виникає при спробі відправки повідомлення з IP-адреси, що не входить в список дозволених Клієнтом (якщо такий список був налаштований Клієнтом раніше).
|
---|
4 | IP-адреса тимчасово заблокована.
|
---|
5 | Помилка видалення повідомлення.
|
---|
9 | Спроба відправки більше п'яти запитів на отримання статусу одного і того ж повідомлення або більше одного масового запиту протягом хвилини.
Дана помилка виникає також при спробі відправки п'яти і більше запитів одночасно з різних підключень під одним логіном (too many concurrent requests).
|
---|
У разі успішного запиту Сервер повертає відповідь у вигляді рядка:
Відповіді для SMS-повідомлень:
- при fmt = 0 та all = 0: Status = <status>, check_time = <last_date>, err = <err>
- при fmt = 1 та all = 0: <status>,<last_timestamp>,<err>
- при fmt = 2 та all = 0:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
</sms> |
- при fmt = 3 та all = 0:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>
} |
- при fmt = 0 та all = 1:
Status = <status>, check_time = <last_date>, err = <err>, send_date = <send_date>, phone = <phone>, cost = <cost>, sender_id = <sender>, status_name = <status_name>, message = <message>, comment = <comment>, type = <type>
|
- при fmt = 1 та all = 1:
<status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<cost>,<sender>,<status_name>,<message>, <comment>, <type>
- при fmt = 2 та all = 1:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<send_date>send_date</send_date>
<send_timestamp>send_timestamp</send_timestamp>
<phone>phone</phone>
<cost>cost</cost>
<sender_id>sender</sender_id>
<status_name>status_name</status_name>
<message>message</message>
<comment>comment</comment>
<type>type</type>
<sms_cnt>sms_cnt</sms_cnt>
</sms>
|
- при fmt = 3 та all = 1:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"comment": "<comment>",
"type": <type>,
"sms_cnt": <sms_cnt>
} |
- при fmt = 0 та all = 2:
Status = <status>, check_time = <last_date>, err = <err>, send_date = <send_date>, phone = <phone>, mccmnc = <mccmnc>, country = <country>, operator = <operator>, operator_orig= <operator_orig>, region = <region>, cost = <cost>, sender_id = <sender>, status_name = <status_name>, message = <message>, comment = <comment>, type = <type>
|
- при fmt = 1 та all = 2:
<status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<country>,<operator>,<region>,<cost>,<sender>,<status_name>,<message>, <comment>, <type>
|
- при fmt = 2 та all = 2:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<send_date>send_date</send_date>
<send_timestamp>send_timestamp</send_timestamp>
<phone>phone</phone>
<cost>cost</cost>
<sender_id>sender</sender_id>
<status_name>status_name</status_name>
<message>message</message>
<comment>comment</comment>
<mccmnc>mccmnc</mccmnc>
<country>country</country>
<operator>operator</operator>
<operator_orig>operator_orig</operator_orig>
<region>region</region>
<type>type</type>
<sms_cnt>sms_cnt</sms_cnt>
</sms>
|
- при fmt = 3 та all = 2:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"comment": "<comment>",
"mccmnc": "<mccmnc>",
"country": "<country>",
"operator": "<operator>",
"operator_orig": "<operator_orig>",
"region": "<region>",
"type": <type>,
"sms_cnt": <sms_cnt>
} |
Де:
<status> – код статусу (список)
<last_date> – дата останньої зміни статусу. Формат DD.MM.YYYY HH:mm: ss.
<last_timestamp> – штамп часу останньої зміни статусу.
<flag> - прапор у вигляді 2-х байтового числа, що містить різну інформацію про повідомленні. Можливі комбінації значень бітів різних характеристик.
Біти 0-3( тип повідомлення): 0-SMS, 1-Flash-SMS, 2-бінарне SMS, 3-Wap-push, 4-HLR-запит, 5-ping-SMS, 6-MMS, 7-дзвінок, 8-E-mail,
10-Viber, 12-Соцмережі.
Біт 5-оплата повідомлення з другого балансу.
Біт 8-ознака шаблонного повідомлення.
Біти 10,9 - тип шаблонного повідомлення (00-сервісне, 01-транзакційне, 10-авторизаційне, 11-рекламне).
<err> – код помилки, якщо повідомлення не було доставлене.
<send_date> – дата відправки повідомлення (формат DD.MM.YYYY hh:mm:ss).
<send_timestamp> – штамп часу відправки повідомлення.
<phone> – номер телефону абонента або e-mail адреса.
<country> – назва країни реєстрації номера абонента.
<operator> – поточний стільниковий оператор абонента.
<operator_orig> – оператор абонента за мобільним кодом до портування номера.
<region> – регіон реєстрації номера абонента.
<cost> – вартість повідомлення.
<sender> – ім'я відправника.
<status_name> – назва статусу.
<message> – текст повідомлення.
<comment> – коментар повідомлення.
<mccmnc> – числовий код країни абонента плюс числовий код оператора абонента.
<type> - тип повідомлення (0-SMS, 1-Flash – SMS, 2 – бінарне SMS, 3-Wap – push, 4-HLR – запит, 5-ping – SMS, 6-MMS, 7 –
Дзвінок, 8-E-mail, 10-Viber, 12-соцмережі).
<sms_cnt> – кількість частин в SMS-повідомленні (або секунд в голосовому повідомленні).
Відповіді для HLR-запитів:
- при fmt = 0 та all = 0:
Status = <status>, check_time = <check_time>, err = <err>, imsi = <imsi>, msc = <msc>, mcc = <mcc>, mnc = <mnc>, cn = <cn>, net = <net>, rcn = <rcn>, rnet = <rnet> |
- при fmt = 1 та all = 0: <status>,<last_timestamp>,<err>,<imsi>,<msc>,<mcc>,<mnc>,<cn>,<net>,<rcn>,<rnet>
- при fmt = 2 та all = 0:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<imsi>imsi</imsi>
<msc>msc</msc>
<mcc>mcc</mcc>
<mnc>mnc</mnc>
<cn>cn</cn>
<net>net</net>
<rcn>rcn</rcn>
<rnet>rnet</rnet>
</sms> |
- при fmt = 3 та all = 0:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"imsi": "<imsi>",
"msc": "<msc>",
"mcc": "<mcc>",
"mnc": "<mnc>",
"cn": "<cn>",
"net": "<net>",
"rcn": "<rcn>",
"rnet": "<rnet>"
} |
- при fmt = 0 та all = 1:
Status = <status>, check_time = <check_time>, err = <err>, imsi = <imsi>, msc = <msc>, mcc = <mcc>, mnc = <mnc>, cn = <cn>, net = <net>, rcn = <rcn>, rnet = <rnet>, send_date = <send_date>, phone = <phone>, cost = <cost>, sender_id = <sender_id>, status_name = <status_name>, message = <message>, type = <type> |
- при fmt = 1 та all = 1:
<status>,<last_timestamp>,<err>,<imsi>,<msc>,<mcc>,<mnc>,<cn>,<net>,<rcn>,<rnet>,
<send_timestamp>,<phone>,<cost>,<sender_id>,<status_name>,<message>,<type> |
- при fmt = 2 та all = 1:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<imsi>imsi</imsi>
<msc>msc</msc>
<mcc>mcc</mcc>
<mnc>mnc</mnc>
<cn>cn</cn>
<net>net</net>
<rcn>rcn</rcn>
<rnet>rnet</rnet>
<send_date>send_date</send_date>
<send_timestamp>send_timestamp</send_timestamp>
<phone>phone</phone>
<cost>cost</cost>
<sender_id>sender_id</sender_id>
<status_name>status_name</status_name>
<message>message</message>
<type>type</type>
</sms> |
- при fmt = 3 та all = 1:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"imsi": "<imsi>",
"msc": "<msc>",
"mcc": "<mcc>",
"mnc": "<mnc>",
"cn": "<cn>",
"net": "<net>",
"rcn": "<rcn>",
"rnet": "<rnet>",
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"type": <type>
} |
- при fmt = 0 та all = 2:
Status = <status>, check_time = <check_time>, err = <err>, imsi = <imsi>,
msc = <msc>, mcc = <mcc>, mnc = <mnc>, cn = <cn>, net = <net>, rcn = <rcn>, rnet = <rnet>,
send_date = <send_date>, phone = <phone>, country = <country>, operator = <operator>, region = <region>, cost = <cost>,
sender_id = <sender_id>, status_name = <status_name>, message = <message>, type = <type> |
- при fmt = 1 та all = 2:
<status>,<last_timestamp>,<err>,<imsi>,<msc>,<mcc>,<mnc>,<cn>,<net>,<rcn>,<rnet>,
<send_timestamp>,<phone>,<country>,<operator>,<region>,<cost>,<sender_id>,<status_name>,<message>,<type> |
- при fmt = 2 та all = 2:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<imsi>imsi</imsi>
<msc>msc</msc>
<mcc>mcc</mcc>
<mnc>mnc</mnc>
<cn>cn</cn>
<net>net</net>
<rcn>rcn</rcn>
<rnet>rnet</rnet>
<send_date>send_date</send_date>
<send_timestamp>send_timestamp</send_timestamp>
<phone>phone</phone>
<cost>cost</cost>
<sender_id>sender_id</sender_id>
<status_name>status_name</status_name>
<message>message</message>
<country>country</country>
<operator>operator</operator>
<region>region</region>
<type>type</type>
</sms> |
- при fmt = 3 та all = 2:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"imsi": "<imsi>",
"msc": "<msc>",
"mcc": "<mcc>",
"mnc": "<mnc>",
"cn": "<cn>",
"net": "<net>",
"rcn": "<rcn>",
"rnet": "<rnet>",
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"country": "<country>",
"operator": "<operator>",
"region": "<region>",
"type": <type>
} |
Де:
<status> – код статусу (список)
<last_date> – дата останньої зміни статусу. Формат DD.MM.YYYY HH:mm: ss.
<last_timestamp> – штамп часу останньої зміни статусу.
<flag> - прапор у вигляді 2-х байтового числа, що містить різну інформацію про повідомленні. Можливі комбінації значень бітів різних характеристик.
Біти 0-3( тип повідомлення): 0-SMS, 1-Flash-SMS, 2-бінарне SMS, 3-Wap-push, 4-HLR-запит, 5-ping-SMS, 6-MMS, 7-дзвінок, 8-E-mail,
10-Viber, 12-Соцмережі.
Біт 5-оплата повідомлення з другого балансу.
Біт 8-ознака шаблонного повідомлення.
<err> – код HLR-помилки або Статусу абонента (список).
<imsi> – унікальний код IMSI SIM-карти абонента.
<msc> – номер сервіс-центру оператора, в мережі якого знаходиться абонент.
<mcc> – числовий код країни абонента.
<mnc> – числовий код оператора абонента.
<cn> – назва країни реєстрації абонента.
<net> – назва оператора реєстрації абонента.
<rcn> – назва роумінгової країни абонента при знаходженні в чужій мережі.
<rnet> – назва роумінгового оператора абонента при знаходженні в чужій мережі.
<send_date> – дата відправки повідомлення (формат DD.MM.YYYY hh:mm:ss).
<send_timestamp> – штамп часу відправки повідомлення.
<phone> – номер телефону абонента.
<country> – назва країни реєстрації номера абонента.
<operator> – назва оператора абонента.
<region> – регіон реєстрації номера абонента.
<cost> – вартість повідомлення.
<sender> – ім'я відправника.
<status_name> – назва статусу.
<message> – текст повідомлення.
<type> - тип повідомлення (для HLR дорівнює 4).
Якщо повідомлення не знайдене або знаходиться в архівній базі (Значення статусу дорівнює -3), то для fmt = 0,2,3 повертається код статусу у
відповідному форматі. Для fmt = 1 повертається відповідь в форматі статусу звичайного повідомлення.
При множині запиті статусів:
- для fmt = 0 і fmt = 1 в результаті повертається список рядків, кожна з яких містить інформацію про статус відповідного повідомлення.
- для fmt = 2 формат статусів, що повертаються, аналогічний формату для одиночних повідомлень, при цьому весь список статусів заключається в тег "<list>".
- для FMT = 3 формат також аналогічний формату для одиночних повідомлень, статуси перераховуються через кому, і весь список обрамляється
квадратна дужка.
У разі множинного запиту статусів при значенні параметра all = 1 або all = 2 для кожного статусу додатково повертається ідентифікатор
повідомлення. При all = 0 додатково повертається ідентифікатор повідомлення і номер телефону. |