Документация по HTTP API для разработчика
Функционал протокола позволяет отправлять SMS сообщения, получать статусы доставки, проверять статусы сообщений по msg_id, проверять баланс.
Отправка сообщений
- Пополните ваш баланс, если он на нуле;
- Создайте новый API-ключ. Вы можете иметь до 5 ключей, создавая и удаляя их по вашему усмотрению в любое время;
- Укажите IP (один, несколько, или диапазон), с которого будут приходить сообщения.
Адрес HTTP API:
http://api.sms.intel-tele.com/message/send/
Параметры:
username |
обязательный, ваш логин |
api_key |
обязательный |
from |
Имя отправителя. Mожет состоять из максимум 11 английских букв и цифр (допускаются также символы «._- «), или из максимум 15 цифр. Если параметр не указан, имя отправителя по умолчанию будет «message» |
to |
обязательный, номер телефона получателя, в международном формате, без «+». Mожно указать несколько номеров, разделенных запятой («,»), им придут одинаковые сообщения |
message |
обязательный, текст сообщения, utf-8 url-encoded. Длинный текст будет разбит на несколько смс (максимум 4 части), цена сообщения возрастёт пропорционально количеству частей |
priority |
доп. параметр, задаёт приоритет сообщения при постановке в очередь и передаче внешним смс-центрам. integer от 0 (обычный приоритет) до 3 (наивысший), по умолчанию 0 |
system_type |
доп. параметр, строка из английских букв или цифр, до 8 символов длиной, позволяет логически группировать сообщения в статистике |
Пример запроса:
curl «http://api.sms.intel-tele.com/message/send/?username=foo&api_key=bar&from=test&to=7123456789&message=Test+123»
Пример ответа:
{«reply»: [{«status»: «OK», «cost»: «0.123456», «country»: «ru», «mccmnc»: «250XX», «number»: «7123456789», «parts»: 1, «message_id»: «3c32257b-e0b8-4be9-b0e6-e871116b4bdf»}]}
Ответ сервера (JSON) (Ошибки) :
Значения полей по всему запросу:
Ответ | Описание |
{'reply':[{'status': 'error: wrong username/api_key'}]} |
ошибка авторизации (введен неправильный логин или API Key) |
{'reply':[{'status': 'error: wrong api key'}]} |
API-ключ не подходит |
{'reply':[{'status': 'error: bruteforcing detected'}]} |
было обнаружено слишком много неавторизованных запросов, данный IP будет заблокирован на 5 минут |
{'reply':[{'status': 'error: ip not allowed'}]} |
попытка отправки с незарегистрированного IP |
{'reply':[{'status': "error: can't send message"}]} |
отсутствуют параметры «message» или «to», отправка невозможна |
{'reply': [{'status': 'error: message is too long'}]} |
длина сообщения превышает разрешенное кол-во частей смс (4) |
{'reply':[{'status': "error: sender addr is banned"}]} |
имя отправителя заблокировано как спам. За разъяснениями обратитесь в техническую поддержку |
{'reply':[{'status': 'error: wrong sender addr'}]} |
параметр «from» превышает 15 цифр или 11 букво-цифр |
Значения полей по каждому номеру в запросе:
Ответ | Описание |
{"reply": [{"number": "7123456789", "status": "error: number is blacklisted"}]} |
номер телефона получателя был внесён в чёрный список. За разъяснениями обратитесь в техническую поддержку |
{"reply": [{'number': '7123456789', 'status': "error: repeat detected"}]} |
обнаружено и заблокировано повторное сообщение на один и тот же номер в течении 1 минуты |
{'reply':[{'number':'7123456789', 'status':"error: can't determine country"}]} |
невозможно определить страну |
{'reply':[{'number':'7123456789', 'status':"error: no route to country"}]} |
данная страна не прописана в таблице роутинга на вашем аккаунте, следует обратиться к менеджеру |
{'reply':[{'number':'7123456789', 'status':"error: route can't handle the message"}]} |
причина может быть в отсутствии поддержки некоторых цифровых подписей (шорткодов) в параметре «from» некоторыми смс-провайдерами, или в отсутствии поддержки определенного оператора по некоторым странам |
{'reply':[{'number':'7123456789', 'status':"error: low balance", 'parts':1, 'cost':'0.04'}]} |
недостаточно средств для отправки сообщения |
Ответ сервера при успешной постановке сообщения в очередь:
Ответ | Описание |
{"reply": [{"status": "OK", "cost": "0.186440", "country": "ru", "mccmnc": "250XX", "number": "7123456789", "parts": 1, "message_id": "3c32257b-e0b8-4be9-b0e6-e871116b4bdf"}]} |
смс была успешно отправлена! |
Значения полей:
status |
статус отправки, «OK» означает, что сообщение было корректно обработано и поставлено в очередь на отправку внешнему смс-провайдеру |
parts |
количество смс, на которые было разбито сообщение |
cost |
стоимость смс в на данный номер (учитывая parts) |
number |
номер, для которого передается статус. если номеров несколько, то для каждого будет свой хэш «{}» внутри списка «reply» |
message_id |
id сообщения, присвоенный системой. будет передаваться в асинхронных вызовах обработчика статусов |
country |
двухбуквенный код страны, см Список кодов по ISO 3166 |
mccmnc |
код оператора, см. Mobile Country Code |
Асинхронная передача статуса сообщений
При необходимости, система может совершать GET или POST запросы на некий URL, записанный в вашем профиле. В запросах будут передаваться статусы сообщений, по мере их доставки абонентам.
Наш запрос передает следующие параметры:
msgid |
ID, которое наша система присвоила сообщению при отправке. Например, f3e76f4e-d4e3-424b-b26b-c0ebc72892cd |
status |
статус доставки. Может иметь значения:
|
dlr_timestamp |
время прибытия статуса в систему от внешнего смс-центра, в часовом поясе UTC |
Синхронная проверка статуса сообщения
URL (GET или POST запрос):
http://api.sms.intel-tele.com/message/status/
Параметры:
username |
обязательный |
api_key |
обязательный |
requests |
обязательный, один или несколько msg_ids, разделенных запятыми |
timeformat |
опциональный, urlencoded. Задаёт форматирование для даты. Используются символы из таблицы форматирования даты языка Python. Если параметр не задан, дата не передаётся в ответе сервера.
Например, timeformat=%d/%m/%Y %H:%M:%S выдаст дату в виде 17/02/2013 19:08:29 |
timezone |
опциональный, urlencoded. Задаёт часовой пояс даты, см список часовых поясов. Если параметр не задан, то будет использован часовой пояс из вашего профиля |
Пример запроса:
curl «http://api.sms.intel-tele.com/message/status/?username=foo&api_key=bar&requests=3c32257b-e0b8-4be9-b0e6-e871116b4bdf&timezone=UTC&timeformat=%25d-%25m-%25Y%20%25H:%25M:%25ST%25z»
Пример ответа:
{«3c32257b-e0b8-4be9-b0e6-e871116b4bdf»: {«date»: «17-02-2013 12:08:29T+0000», «status»: «rejectd»}}
Проверка баланса
URL (GET или POST запрос):
http://api.sms.intel-tele.com/balance/
Параметры:
Параметр | Описание | Обязательный |
username |
Да | |
api_key |
Да |
Пример запроса:
curl «http://api.sms.intel-tele.com/balance/?username=foo&api_key=bar»
Пример ответа:
{«balance»: «-0.42»}
Проверка кредита
URL (GET или POST запрос):
http://api.sms.intel-tele.com/credit/
Параметры:
Параметр | Описание | Обязательный |
username |
— | Да |
api_key |
— | Да |
Пример запроса:
curl «http://api.sms.intel-tele.com/credit/?username=foo&api_key=bar»
Пример ответа:
Запрос Тарифов
URL (GET или POST запрос):
http://api.sms.intel-tele.com/rates/
Параметры:
Параметр | Описание | Обязательный |
username |
— | Да |
api_key |
— | Да |
Пример запроса:
curl «http://api.sms.intel-tele.com/rates/?username=foo&api_key=bar»
Ответ сервера (JSON):
Значения полей по всему запросу:
{'message': 'Invalid auth', 'error': true} |
ошибка авторизации (введен неправильный логин или API Key) |
{'status': 'bruteforcing detected', 'error': true} |
было обнаружено слишком много неавторизованных запросов, данный IP будет заблокирован на 5 минут |
{'status': 'ip not allowed', 'error': true} |
попытка отправки с незарегистрированного IP |
Ответ сервера при успешном запросе:
{«user»: {«ru»: {«01»: [0.123456, 0], «»: [0.234567, 0]}}}
Значения полей:
Поле | Описание |
user |
|
ru |
двухбуквенный ISO код страны |
"01": [ 0.123456, 0 ], |
MNC оператора: 1-й параметр: стоимость за 1 смс 2-й параметр: 0 — плата снимается за все смс, 1 — плата снимается только за доставленные * если ключ пустой — все операторы |
Протокол SMPP v.3.4 для SMS
Вы можете использовать отправку сообщений с помощью протокола SMPP v.3.4.
Максимально функциональный и продуктивный протокол. Данный протокол используется операторами связи, крупными Sms хаббами (агрегаторами).