• Рассылка смс в Питоне

    Отправлять короткие сообщения можно с помощью любого из многочисленных сервисов смс-рассылок.

    Я остановил свой выбор на LittleSMS. Низкая фиксированная цена, удобные API, подробная документация, готовые решения для многих языков и платформ.

    Работа с сервисом осуществляется по протоколу HTTP GET-запросами. При регистрации вы получите API-ключ. Этим ключом подписываются все запросы. Ключ не является паролем к учетной записи. Если ключ где-то засветился, немедленно смените его в личном кабинете сервиса.

    Для Питона рекомендую использовать мою библиотеку с Гитхаба.

    Пример работы:

    import littlesms
    
    # Инициализация класса
    api = littlesms.Api("user", "API_key")
    
    # Проверка баланса.
    print api.balance()
    >>> {u'status': u'success', u'balance': 0.5}
    
    # Отправка сообщения.
    print api.send(u"Hello, World!", "7xxxxxxxxxx")
    >>> {
            u'count': 1,
            u'status': u'success',
            u'recipients': [u'7xxxxxxxxxx'],
            u'price': 0.5,
            u'parts': 1,
            u'test': 0,
            u'balance': 0.5,
            u'messages_id': [u'xxxxxx']
    }
    
    # Отправка сообщения нескольким адресатам с подменой поля «отправитель».
    recipients = ("7xxxxxxxxx1", "7xxxxxxxxx2", "7xxxxxxxxx3")
    print api.send(u"Hello, World!", recipients, sender="Anonym")
    >>> {
            u'count': 1,
            u'status': u'success',
            u'recipients': [u'7xxxxxxxxx1', u'7xxxxxxxxx2', u'7xxxxxxxxx3'],
            u'price': 0.5,
            u'parts': 1,
            u'test': 0,
            u'balance': 0.5, u'messages_id': [u'xxxxxx1', u'xxxxxx2', u'xxxxxx3']
    }
    
    # Если компьютер расположен за прокси со сложной схемой авторизации.
    PROXY = {
        "proxy": "172.27.86.8",
        "port": 3128,
        "user": "ivan",
        "passw": "secret"
    }
    opener = littlesms.curl_opener(**PROXY)
    api = littlesms.Api("user", "API_key", opener=opener)
    
    # Пример работы в облачной платформе App Engine.
    opener = littlesms.gae_opener()
    api = littlesms.Api("user", "API_key", opener=opener)
    
    # Пример обработки исключения.
    try:
        print api.send(u"Hello, World!", "7xxxxxxxxxx", sender="TooLongSender!!!111")
    except littlesms.ApiError, e:
        print e
        >>> Error 7: incorrect sender
    

    Библиотека активно используется больше года в проекте личного кабинета Читинской энергосбытовой компании. На текущий момент отправлено около 15000 сообщений.

Страница 95 из 95