Документація по HTTP API для розробника
Відправка повідомлень
- Поповніть ваш баланс, якщо він на нулі;
- Створіть новий 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. Довгий текст буде розбитий на кілька смс (максимум 7 частин), ціна повідомлення зросте пропорційно кількості частин |
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 Хабба (агрегаторами).