Skip to main content

Django app for sms.ru.

Project description

Django SMS.RU

PyPI version fury.io PyPI license

Приложение Django для быстрой интеграции API сервиса sms.ru

Быстрый старт

pip install django-smsru

  1. Добавьте smsru в INSTALLED_APPS:
   INSTALLED_APPS = [
     ...
     'smsru',
   ]
  1. В настройках так же следует добавить параметр 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 партнера
  1. Добавьте в свой urls.py импорт URL (для работы callback, по желанию):
   path('smsru/', include('smsru.urls'))
  1. Запустите python manage.py migrate для создания необходимых таблиц.

  2. В админ панели вы сможете увидеть лог сообщений и запросить статус любого из них.

  3. Так же добавилась консольная команда для отправки смс

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)

Uploaded Source

Built Distribution

django_smsru-1.0.4-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

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

Hashes for django-smsru-1.0.4.tar.gz
Algorithm Hash digest
SHA256 c46bdd252745aea85256463a0688b05b3f2e9e294a4c97027d7879fe8bcb9fb5
MD5 75e5de38d9c9a20ff5b3b82b52fce5ec
BLAKE2b-256 bfad35bee19b2b228c6179a278436df3aa1fca1bcf1cd024051508c6e0144466

See more details on using hashes here.

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

Hashes for django_smsru-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ab99220297c2d5d38f4b3b749f7115544e0797356ce7ce58382a65a9606e1061
MD5 c3b2352cc6e4bc055e7ce8654fd7c93a
BLAKE2b-256 1d1713a8f62d6aa9e35c02db412f8d0338d589cb15e87052e77c49f97618e12c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page