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': {'status': True, 'status_code': 100, 'sms_id': 0000-0000, 'status_text': 'Статус'}
# }
Отправка на множество номеров, разных сообщений:
from smsru.service import SmsRuApi
api = SmsRuApi()
result = api.send_multi_sms({
'+79888888888': 'test',
'+79888888889': 'test 2',
})
# result: {
# '79888888888': {'status': True, 'status_code': 100, 'sms_id': 0000-0000, 'status_text': 'Статус'},
# '79888888889': {'status': True, 'status_code': 100, 'sms_id': 0000-0000, 'status_text': 'Статус'}
# }
Получить баланс и лимиты:
from smsru.service import SmsRuApi
api = SmsRuApi()
balance = api.get_balance()
limits = api.get_limit()
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-1.0.4.tar.gz
(11.4 kB
view details)
Built Distribution
File details
Details for the file django-smsru-1.0.4.tar.gz
.
File metadata
- Download URL: django-smsru-1.0.4.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c46bdd252745aea85256463a0688b05b3f2e9e294a4c97027d7879fe8bcb9fb5 |
|
MD5 | 75e5de38d9c9a20ff5b3b82b52fce5ec |
|
BLAKE2b-256 | bfad35bee19b2b228c6179a278436df3aa1fca1bcf1cd024051508c6e0144466 |
File details
Details for the file django_smsru-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: django_smsru-1.0.4-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab99220297c2d5d38f4b3b749f7115544e0797356ce7ce58382a65a9606e1061 |
|
MD5 | c3b2352cc6e4bc055e7ce8654fd7c93a |
|
BLAKE2b-256 | 1d1713a8f62d6aa9e35c02db412f8d0338d589cb15e87052e77c49f97618e12c |