Django app for sms.ru.
Project description
Django SMS.RU
Приложение Django для быстрой интеграции API сервиса sms.ru
Быстрый старт
pip install django-smsru
- Добавьте
smsru
в INSTALLED_APPS:
INSTALLED_APPS = [
...
'smsru',
]
- В настройках так же следует добавить параметр
SMS_RU
:
SMS_RU = {
"API_ID": '<API KEY>', # если указан API ключ, логин и пароль пропускаем
"LOGIN": '<login>', # если нет API, то авторизуемся чезер логин и пароль
"PASSWORD": '<password>',
"TEST": True, # отправка смс в тестовом режиме, по умолчанию False
"SENDER": 'sms', # отправитель - необязательно поле
"PARTNER_ID": 1111 # ID партнера - необязательно поле
}
Обязательно должен быть указан API_ID
или пара LOGIN
и PASSWORD
, остальные параметры по желанию.
API_ID
- API ключ, если он указан, авторизация осуществляется только через него, Логин и Пароль при этом игнорируютсяLOGIN
иPASSWORD
- Логин и Пароль для авторизации запросов, используются только в случае если не указанAPI_ID
TEST
- отправлять ли сообщения в тестовом режиме, по умолчанию отправляем в нормальном режимеSENDER
- имя отправителяPARTNER_ID
- ID партнера
- Добавьте в свой
urls.py
импорт URL (для работы callback, по желанию):
path('smsru/', include('smsru.urls'))
-
Запустите
python manage.py migrate
для создания необходимых таблиц. -
В админ панели вы сможете увидеть лог сообщений и запросить статус любого из них.
-
Так же добавилась консольная команда для отправки смс
python manage.py send-sms-ru --phone +79888888888 --msg Тест
Сигналы
smsru_call_back_sms(sender, instance, new_status)
- при обработке callback запроса, после изменения статуса сообщения
from django.dispatch import receiver
from smsru.signals import smsru_call_back_sms
@receiver(smsru_call_back_sms)
def call_back_sms(sender, instance, new_status, *args, **kwargs):
instance.msg = 'signal'
instance.save()
Использование библиотеки в коде
Отправка на один номер одного смс:
from smsru.service import SmsRuApi
api = SmsRuApi()
result = api.send_one_sms("+79888888888", "Test") # телефон и сообщение
# result: {'79888888888': True}
Отправка на множество номеров, разных сообщений:
from smsru.service import SmsRuApi
api = SmsRuApi()
result = api.send_multi_sms({
'+79888888888': 'test',
'+79888888889': 'test 2',
})
# result: {'79888888888': True, '79888888889': True}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-smsru-0.4.0.tar.gz
(9.1 kB
view hashes)
Built Distribution
Close
Hashes for django_smsru-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3bb8fc536ce4a1521b5c90a2a9eee5697260447b81fe79dcec1e8e8a15ed1e2 |
|
MD5 | 1df25a15c9a68def0e3838517714da65 |
|
BLAKE2b-256 | 64a7b596c5ec26e2ad8d1b8fdf5a1887f4b8a9cf381758d0839d212972a62ab7 |