Тарифы  Услуги  API  Партнерам  О сервисе  Контакты 
8 (800) 080 7672
Бесплатно по Казахстану
 

Интеграция с сервисом (API)

API позволяет рассылать сообщения через ваши проекты и сервисы по протоколам HTTP/HTTPS, SMTP и SMPP. Готовые библиотеки на разных языках программирования подключаются к вашему проекту и помогают отправлять сообщения из любого места с помощью одной команды.


HTTP/HTTPS SMTP SMPP SOAP OMS SMS-команды Библиотеки и примеры кода

ОТПРАВКА СООБЩЕНИЙ

Отправка SMS-сообщения

Комментарии в SMS-сообщениях

Отправка на группу номеров

Отправка HLR-запроса

Отправка MMS-сообщения

Отправка e-mail сообщения

Отправка голосового сообщения (звонок)

Отправка viber-сообщения

Использование префиксов при отправке сообщений

Управление шаблонами сообщений

Виртуальная отправка (режим тестирования)

УПРАВЛЕНИЕ РАССЫЛКАМИ

СТАТУСЫ СООБЩЕНИЙ

ПРОВЕРКА СОСТОЯНИЯ БАЛАНСА

УПРАВЛЕНИЕ КОНТАКТАМИ

УПРАВЛЕНИЕ КЛИЕНТАМИ

УПРАВЛЕНИЕ ИМЕНАМИ ОТПРАВИТЕЛЕЙ (SENDER ID)

ПОЛУЧЕНИЕ ДАННЫХ

РАЗНОЕ

Статусы сообщений

Проверка статуса

Для проверки статуса доставки SMS или e-mail необходимо вызвать методом GET или POST адрес: http://smsc.kz/sys/status.php?login=<login>&psw=<password>&phone=<phone>&id=<sms_id>
Серверу передаются следующие параметры:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента или MD5-хеш пароля в нижнем регистре.
phoneНомер телефона или список номеров через запятую при запросе статусов нескольких SMS. При множественном запросе номера в списке должны быть перечислены в порядке, соответствующем идентификаторам сообщений. Для сохранения формата множественного запроса при запросе статуса одного сообщения укажите запятую после номера телефона. Это описание подходит и для e-mail-сообщений.
idИдентификатор сообщения или список идентификаторов через запятую при запросе статусов нескольких сообщений. Для сохранения формата множественного запроса при запросе статуса одного сообщения укажите запятую после идентификатора сообщения.
fmtФормат ответа сервера:
0 – (по умолчанию) в виде строки (Status = 1, check_time = 10.10.2010 10:10:10).
1 – в виде номера статуса и штампа времени через запятую (1,1286524541).
2 – в xml формате.
3 – в json формате.
all0 – (по умолчанию) получить статус сообщения в обычном формате.
1 – получить полную информацию об отправленном сообщении.
2 – добавить в информацию о сообщении данные о стране, операторе и регионе абонента.
charsetКодировка результата запроса, если используется отличная от кодировки по умолчанию windows-1251. Варианты: utf-8 и koi8-r.
del1 – удалить ранее отправленное сообщение. Используется совместно с параметрами phone и id. Более подробно данный параметр описан здесь.

Ответ сервера и коды ошибок

В случае ошибки Сервер возвращает следующую строку:
  • При 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Неверный логин или пароль.
4IP-адрес временно заблокирован.
5Ошибка удаления сообщения.
9Попытка отправки более пяти запросов на получение статуса одного и того же сообщения в течение минуты.

В случае успешного запроса Сервер возвращает ответ в виде строки:

Ответы для 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>, type = <type>

  • при fmt = 1 и all = 1:
    <status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<cost>,<sender>,<status_name>,<message>,<type>

  • при 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>
    <type>type</type>
    </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>",
    "type": <type>
    }

  • при fmt = 0 и all = 2:
    Status = <status>, check_time = <last_date>, err = <err>, send_date = <send_date>, phone = <phone>, country = <country>, operator = <operator>, region = <region>, cost = <cost>, sender_id = <sender>, status_name = <status_name>, message = <message>, type = <type>

  • при fmt = 1 и all = 2:
    <status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<country>,<operator>,<region>,<cost>,<sender>,<status_name>,<message,<type>

  • при fmt = 2 и all = 2:
    <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>
    <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>,
    "err": <err>,
    "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> – штамп времени последнего изменения статуса.
<err> – код ошибки, если сообщение не было доставлено.
<send_date> – дата отправки сообщения (формат DD.MM.YYYY hh:mm:ss).
<send_timestamp> – штамп времени отправки сообщения.
<phone> – номер телефона абонента или e-mail адрес.
<country> – название страны регистрации номера абонента.
<operator> – название оператора абонента.
<region> – регион регистрации номера абонента.
<cost> – стоимость сообщения.
<sender> – имя отправителя.
<status_name> – название статуса.
<message> – текст сообщения.
<type> – тип сообщения (0 – SMS, 1 – Flash-SMS, 2 – Бинарное SMS, 3 – Wap-push, 4 – HLR-запрос, 5 – Ping-SMS, 6 – MMS, 7 – Звонок, 10 – Viber).

Ответы для 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>
    <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>,
    "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>
    <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>,
    "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>
    <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>,
    "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> – штамп времени последнего изменения статуса.
<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 дополнительно возвращается идентификатор сообщения и номер телефона.

Коды статусов

Возможные варианты кодов статусов сообщений или HLR-запросов (значения <status>):

КодНазваниеОписание
-3Сообщение не найденоВозникает, если для указанного номера телефона и ID сообщение не найдено.
-1Ожидает отправкиЕсли при отправке сообщения было задано время получения абонентом, то до этого времени сообщение будет находиться в данном статусе, в других случаях сообщение в этом статусе находится непродолжительное время перед отправкой на SMS-центр.
0Передано операторуСообщение было передано на SMS-центр оператора для доставки.
1ДоставленоСообщение было успешно доставлено абоненту.
2ПрочитаноСообщение было прочитано (открыто) абонентом. Данный статус возможен для e-mail-сообщений, имеющих формат html-документа.
3ПросроченоВозникает, если время "жизни" сообщения истекло, а оно так и не было доставлено получателю, например, если абонент не был доступен в течение определенного времени или в его телефоне был переполнен буфер сообщений.
20Невозможно доставитьПопытка доставить сообщение закончилась неудачно, это может быть вызвано разными причинами, например, абонент заблокирован, не существует, находится в роуминге без поддержки обмена SMS, или на его телефоне не поддерживается прием SMS-сообщений.
22Неверный номерНеправильный формат номера телефона.
23ЗапрещеноВозникает при срабатывании ограничений на отправку дублей, на частые сообщения на один номер (флуд), на номера из черного списка, на запрещенные спам фильтром тексты или имена отправителей (Sender ID).
24Недостаточно средствНа счете Клиента недостаточная сумма для отправки сообщения.
25Недоступный номерТелефонный номер не принимает SMS-сообщения, или на этого оператора нет рабочего маршрута.

Запрос статусов сообщений необходимо осуществлять в течение суток с момента отправки. По истечении данного времени сообщения помещаются в архивную базу. В 03:00 по московскому времени переносятся сообщения с конечным статусом, отправленные до 18:00 прошедшего дня. Для возможности получения реальных статусов таких сообщений необходимо обратиться в службу поддержки.

Также сервер не принимает более пяти одинаковых запросов на получение статуса одного и того же сообщения в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Коды ошибок в статусе

Возможные коды ошибок в статусе сообщений или HLR-запросов (значения <err>):

КодНазваниеОписание
0Нет ошибкиАбонент существует и доступен.
1Абонент не существуетУказанный номер телефона не существует.
6Абонент не в сетиТелефон абонента отключен или находится вне зоны действия сети.
11Нет услуги SMSОзначает, что абонент не может принять SMS-сообщение. Например, услуга не подключена, или абонент находится в роуминге, где не активирован прием сообщений, или у оператора абонента не налажен обмен SMS с текущим роуминговым оператором. Также это может быть городской номер без приема сообщений.
12Ошибка в телефоне абонентаНе удается доставить сообщение абоненту из-за ошибки в телефонном аппарате или SIM-карте.
13Абонент заблокированВозникает, например, если на счету абонента нулевой или отрицательный баланс, и он находится в роуминге, или заблокирован оператором за продолжительную неуплату либо добровольно самим абонентом. Также данная ошибка может возвращаться при повреждении SIM-карты либо неправильном вводе PIN и PUK-кодов SIM-карты.
21Нет поддержки SMSАппарат абонента не поддерживает прием SMS-сообщений.
200Виртуальная отправкаДанное уведомление появляется под статусом сообщения в случае отправки сообщения в режиме тестирования (при установленной в настройках галочке "Режим тестирования (виртуальная отправка без оплаты)").
220Переполнена очередь у оператораУказанная ошибка может возникать в случае, когда абонент недоступен для приема SMS, но сообщения продолжают приходить оператору и происходит переполнение внутренней очереди сообщений для данного абонента. В редких случаях возможно появление ошибки в результате сбоя в сети самого оператора или переполнении общей очереди сообщений. Во всех подобных ситуациях система с определенными интервалами несколько раз пытается отправить указанные сообщения повторно.
240Абонент занятВозникает при передаче голосового сообщения абоненту, если линия занята или абонент отменил вызов.
241Ошибка конвертации звукаПри преобразовании текста или звукового файла в конечный формат для передачи абоненту голосового сообщения произошла ошибка конвертации звука.
242Зафиксирован автоответчикОзначает, что во время отправки голосового сообщения на стороне абонента был зафиксирован автоответчик.
243Не заключен договорВозникает при попытке отправки рассылок рекламного или массового характера без заключенного договора.
244Рассылки запрещеныОзначает, что для данного Клиента запрещена отправка массовых и рекламных рассылок.
245Статус не полученВ течение суток статус доставки не был получен от оператора, в этом случае нельзя точно сказать, было сообщение доставлено или нет.
246Ограничение по времениЕсли в личном кабинете в пункте "Настройки" во вкладке "Лимиты и ограничения" установлено "Время отправки" и галочка "запретить отправку в другое время", то при попытке отправки SMS-сообщений в период времени, отличный от указанного в поле "Время отправки", отправка сообщений будет запрещаться с указанием данной ошибки.
247Превышен лимит сообщенийПревышен общий суточный лимит сообщений, указанный Клиентом в личном кабинете в пункте "Настройки".
248Нет маршрутаОзначает, что на данный номер отправка сообщений недоступна в нашем сервисе. Например, ввели несуществующий мобильный код, либо для указанного номера и текста нет рабочего SMS-шлюза.
249Неверный формат номераВозникает, когда мобильный код указанного номера и соответствующая этому коду длина номера неверны.
250Номер запрещен настройкамиНомер попал под ограничения, установленные Клиентом для мобильных номеров в личном кабинете в пункте "Настройки".
251Превышен лимит на один номерПревышен суточный лимит сообщений на один номер. Лимит устанавливается Клиентом в личном кабинете в пункте "Настройки". Также такая ошибка возможна при отправке более 50 сообщений одному абоненту, которые были отправлены с перерывом между сообщениями менее 30 секунд.
252Номер запрещенВозникает, например, при попытке указания Клиентом одного из наших федеральных номеров в качестве получателя SMS-сообщения.
253Запрещено спам-фильтромЕсли текст сообщения содержит нецензурные выражения и оскорбления, призывы отправить sms и некоторые другие запрещенные тексты, то отправка сообщения заблокируется. Также запрещено указывать в качестве отправителя короткие платные номера, номер получателя сообщений, названия операторов, чужих интернет-ресурсов, компаний и государственных организаций.
254Незарегистрированный sender idДанная ошибка возникает при попытке отправки сообщения от незарегистрированного имени отправителя.
255Отклонено операторомОператор отклонил сообщение без указания точного кода ошибки.
Такое бывает, например, когда номер не принадлежит ни одному мобильному оператору, т.е. с несуществующим кодом, либо по какой-то другой причине оператор не может доставить сообщение.

Удаление сообщения

Для удаления сообщения необходимо вызвать методом GET или POST скрипт запроса статуса, указав команду del: http://smsc.kz/sys/status.php?del=1&login=<login>&psw=<password>&phone=<phone>&id=<sms_id>
Описание параметров, передаваемых Серверу, и возвращаемых им ошибок аналогичное приведенному для функции запроса статуса.

В случае успешного запроса Сервер возвращает ответ в виде строки:
  • при fmt = 0,1: OK

  • при fmt = 2:
    <result>OK</result>

  • при fmt = 3:
    {
    "result": "OK"
    }





© 2003–2017 ТОО «СМС-центр»
Рег.номер 2207-1910-01-ТОО
support@smsc.kz
Контакты
Дизайн — Студия Артемия Лебедева
Информация о сайте