Проверка статуса
https://cp.smsteam.ru/sys/status.php?login=<login>&psw=<password>&phone=<phone>&id=<sms_id>
Серверу передаются следующие параметры:
Параметр | Значение |
---|---|
login | Логин Клиента. |
psw | Пароль Клиента или MD5-хеш пароля в нижнем регистре. |
phone | Номер телефона. |
id | Идентификатор сообщения. |
fmt | Формат ответа сервера: 0 – (по умолчанию) в виде строки (Status = 1, check_time = 10.10.2010 10:10:10). 1 – в виде номера статуса и штампа времени через запятую (1,1286524541). 2 – в xml формате. 3 – в json формате. |
all | 0 – (по умолчанию) получить статус сообщения в обычном формате. 1 – получить полную информацию об отправленном сообщении. |
В случае ошибки Сервер возвращает следующую строку:
- При 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 | Неверный логин или пароль. |
3 | Сообщение не найдено. |
В случае успешного запроса Сервер возвращает ответ в виде строки:
Ответы для 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>
<err>err</err>
</sms> - при fmt = 3 и all = 0:
{
«status»: <status>,
«last_date»: «<last_date>»,
«last_timestamp»: <last_timestamp>,
«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> - при fmt = 1 и all = 1: <status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<cost>,<sender>,
<status_name>,<message> - при fmt = 2 и all = 1:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<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>
</sms> - при fmt = 3 и all = 1:
{
«status»: <status>,
«last_date»: «<last_date>»,
«last_timestamp»: <last_timestamp>,
«err»: <err>,
«send_date»: «<send_date>»,
«send_timestamp»: <send_timestamp>,
«phone»: «<phone>»,
«cost»: «<cost>»,
«sender_id»: «<sender>»,
«status_name»: «<status_name>»,
«message»: «<message>»
}
Где:
<status> – код статуса (список)
<last_date> – дата последнего изменения статуса. Формат DD.MM.YYYY hh:mm:ss.
<last_timestamp> – штамп времени последнего изменения статуса.
<err> – код ошибки, если сообщение не было доставлено.
<send_date> – дата отправки сообщения (формат DD.MM.YYYY hh:mm:ss).
<send_timestamp> – штамп времени отправки сообщения.
<phone> – номер телефона абонента.
<cost> – стоимость сообщения.
<sender> – имя отправителя.
<status_name> – название статуса.
<message> – текст сообщения.
Ответы для HLR-запросов:
- при fmt = 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: <status>,<last_timestamp>,<err>,<imsi>,<msc>,<mcc>,<mnc>,<cn>,<net>,<rcn>,<rnet>
- при fmt = 2:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<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:
{
«status»: <status>,
«last_date»: «<last_date>»,
«last_timestamp»: <last_timestamp>,
«err»: <err>,
«imsi»: «<imsi>»,
«msc»: «<msc>»,
«mcc»: «<mcc>»,
«mnc»: «<mnc>»,
«cn»: «<cn>»,
«net»: «<net>»,
«rcn»: «<rcn>»,
«rnet»: «<rnet>»
}
Где:
<status> – код статуса (список)
<last_date> – дата последнего изменения статуса. Формат DD.MM.YYYY hh:mm:ss.
<last_timestamp> – штамп времени последнего изменения статуса.
<err> – код HLR-ошибки или статуса абонента (список).
<imsi> – уникальный код IMSI SIM-карты абонента.
<msc> – номер сервис-центра оператора, в сети которого находится абонент.
<mcc> – числовой код страны абонента.
<mnc> – числовой код оператора абонента.
<cn> – название страны регистрации абонента.
<net> – название оператора регистрации абонента.
<rcn> – название роуминговой страны абонента при нахождении в чужой сети.
<rnet> – название роумингового оператора абонента при нахождении в чужой сети.
Коды статусов
Возможные варианты кодов статусов SMS-сообщений или HLR-запросов (значения <status>):
Значение | Описание |
---|---|
-1 | Ожидает в очереди (если при отправке сообщения было задано время получения абонентом, то до этого времени сообщение будет находиться в данном статусе, в других случаях сообщение в этом статусе находится непродолжительное время перед отправкой на SMS-центр). |
0 | Передано оператору (сообщение было передано на SMS-центр для доставки). |
1 | Доставлено (сообщение было успешно доставлено абоненту). |
2 | Статус не получен (в течение суток статус доставки не был получен от оператора, в этом случае нельзя точно сказать, было сообщение доставлено или нет). |
3 | Просрочено (возникает, если время «жизни» сообщения истекло, а оно так и не было доставлено получателю, например, если абонент не был доступен в течение определенного времени или в его телефоне был переполнен буфер сообщений). |
20 | Невозможно доставить (попытка отправить сообщение закончилась неудачно, это может быть вызвано разными причинами, например, абонент заблокирован, не существует или на его номер не поддерживается отправка сообщений). |
21 | Неизвестный статус (может возникнуть в случае внутренней ошибки или появления нового статуса на SMS-центре). |
22 | Неверный номер (неверный формат номера телефона). |
23 | Запрещено (возникает при срабатывании спам фильтра, также запрещается рассылка нецензурных и оскорбительных сообщений и сообщений с запрещенным именем отправителя (Sender ID)). |
24 | Недостаточно средств (на счету Клиента недостаточная сумма для отправки сообщения). |
Запрос статусов SMS-сообщений необходимо осуществлять в течение суток с момента отправки. По истечении данного времени сообщения помещаются в архивную базу. В 03:00 по московскому времени переносятся сообщения с конечным статусом, отправленные до 18:00 прошедшего дня. Для возможности получения статусов таких сообщений необходимо обратиться в службу поддержки.
Также сервер не принимает более пяти одинаковых запросов на получение статуса одного и того же SMS-сообщения в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.