SMS.RU API
Python API для сервиса отправки сообщений sms.ru

Python Versions

License

Начало работы
Установка
Для установки библиотеки используйте pip:
pip install smsru-api
Использование
Подробную документацию по пакету ищите на GitHub Wiki
Чтобы начать использовать библиотеку, импортируйте класс Client
:
from smsru_api import Client
Создайте экземпляр класса, передав ваш API ключ:
smsru = Client('Your API KEY')
Теперь вы можете использовать методы класса для отправки сообщений и выполнения других операций с API sms.ru
.
from smsru_api import Client
Для асинхронной работы используйте класс AsyncClient()
:
from smsru_api import AsyncClient
Все методы асинхронного класса являются корутинами и идентичны синхронным.
Классам Client()
или AsyncClient()
в параметры нужно передать ваш API ключ из личного кабинета:
from smsru_api import Client
from smsru_api import AsyncClient
smsru = Client('Your API KEY')
async_smsru = AsyncClient('Your API KEY')
Старая реализация так же работает:
from smsru_api import SmsRu, AsyncSmsRu
smsru = SmsRu('api_key')
async_smsru = AsyncSmsRu('api_key')
Отправка сообщений
Метод send()
отправляет ваше сообщение на номер(а) через sms.ru
Отправить один текст на один или несколько номеров, указанных через запятую:
from smsru_api import Client
smsru = Client('Your API KEY')
response = smsru.send('9XXXXXXXX0', '9XXXXXXXX1', message='Message to sms')
Отправить разный текст на разные номера:
from smsru_api import Client
smsru = Client('Your API KEY')
multi_dict = {
'9XXXXXXXX0': 'Message to sms',
'9XXXXXXXX1': 'Another message to sms'
}
response = smsru.send(multi=multi_dict)
Ответ от сервера:
{
"status": "OK",
"status_code": 100,
"sms": {
"79XXXXXXXX0": {
"status": "OK",
"status_code": 100,
"sms_id": "000000-10000000"
},
"79XXXXXXXX1": {
"status": "ERROR",
"status_code": 207,
"status_text": "На этот номер (или один из номеров) нельзя отправлять сообщения, либо указано более 100 номеров в списке получателей"
}
} ,
"balance": 0
}
Метод возвращает JSON
ответ, полученный от sms.ru
.
Также он имеет 10 параметров:
numbers
: Номер телефона получателя (либо несколько номеров до 100 штук за один запрос).
message
: Текст сообщения в кодировке UTF-8.
multi
: Отправка сообщения на несколько номеров с разными текстами. Если указан этот параметр, то параметры numbers
и message
игнорируются.
from_name
: Имя отправителя (должно быть согласовано с администрацией).
ip_address
: IP адрес вашего пользователя.
timestamp
: Время отложенной отправки.
ttl
: Срок жизни сообщения в минутах (от 1 до 1440).
day_time
: Учитывает часовой пояс получателя. Если указан этот параметр, то параметр time
игнорируется.
test
: Имитирует отправку сообщения для тестирования. True
или False
.
translit
: Переводит все русские символы в латинские.
debug
: Включает режим отладки. Все сообщения отправляются с параметром test: True
, если он не указан вручную.
partner_id
: ID партнера. По умолчанию указан код автора. Прошу, если вы будете использовать мой код, не меняйте его. Это то, что мотивирует меня поддерживать данное API, спасибо ツ.
Лицензия
Распространяется по лицензии Apache-2.0. См. LICENSE для получения дополнительной информации.
Авторы
- XpycTee - просто я - XpycTee - smsru_api