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_IDTEST- отправлять ли сообщения в тестовом режиме, по умолчанию отправляем в нормальном режиме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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|