Как отправить SMS на Python с помощью SMS API от Plivo

Ваша компания выбрала Plivo для обработки голосовых сообщений и обмена сообщениями, и теперь ваша задача – начать интеграцию Plivo в приложения вашей компании. Не волнуйтесь – у Plivo есть SDK, который вам поможет. Давайте посмотрим, как отправлять и получать сообщения через Plivo в приложении Python.

Установите Plivo SDK

Мы предполагаем, что у вас уже установлен Python. Установить Plivo SDK так же просто, как запустить

Если вы предпочитаете установку из исходного кода, ознакомьтесь с инструкциями в нашем Руководстве по быстрому запуску .

Найдите свой идентификатор аутентификации и токен аутентификации

Перед использованием API Plivo у вас должны быть надлежащие учетные данные. Мы предоставляем Auth ID и Auth Token в разделе Account в верхней части консоли Plivo .

Найдите свои учетные данные для аутентификации на консоли Plivo

Выберите номер телефона

Чтобы отправлять сообщения в США и Канаду, вам нужен номер телефона Plivo с поддержкой SMS, поскольку в этих странах действуют правила операторов связи. Проверьте экран «Номера» консоли Plivo, чтобы узнать, какие номера у вас есть и какие из них поддерживают возможности SMS. Вы также можете арендовать номера с этого экрана.

Купить новый номер Plivo

Правила использования SMS у оператора связи различаются от страны к стране. Для сообщений в страны, отличные от США и Канады, вы можете зарегистрировать буквенно-цифровой идентификатор отправителя для своих сообщений. Вы можете узнать больше об использовании буквенно-цифрового идентификатора отправителя и зарегистрировать его в консоли Plivo .

Отправьте СМС сообщение

Теперь вы готовы начать. Вы можете отправить SMS-сообщение, используя всего несколько строк кода:

import plivo

client = plivo.RestClient("<auth_id>", "<auth_token>")
message_created = client.messages.create(
    src="+14155554567", dst="+12125554321", text="Hello, world!"
)
print(message_created)

Замените заполнители auth_id и auth_token фактическими значениями из консоли Plivo и используйте собственные номера источника и назначения. Сохраните файл как SendSMS.py. Запустите его с помощью команды

Примечание. Если вы используете пробную учетную запись Plivo, вы можете отправлять сообщения только на номера телефонов, подтвержденные с помощью Plivo. Вы можете подтвердить номер телефона на странице «Номера песочницы» консоли.

Получите SMS-сообщение

Конечно, отправка сообщений – это только половина дела. Plivo поддерживает получение текстовых SMS-сообщений во многих странах (см. Нашу страницу покрытия SMS API и щелкните интересующие вас страны). Когда кто-то отправляет SMS-сообщение на номер телефона Plivo, вы можете получить его на своем сервере с помощью веб-приложения Flask .

Во-первых, необязательно настройте виртуальную среду, чтобы эти пакеты были изолированы от других в вашей системе. Затем создайте файл с именем receive_sms.py (или с любым другим именем) с этим кодом в нем:

from flask import Flask, request

app = Flask(__name__)

@app.route("/receive_sms/", methods=["GET", "POST"])
def inbound_sms():
    from_number = request.values.get("From")
    to_number = request.values.get("To")
    text = request.values.get("Text")
    print(
        "Message received - From: %s, To: %s, Text: %s" % (from_number, to_number, text)
    )
    return "Message Received"

if __name__ == " __main__":
    app.run(host="0.0.0.0", debug=True)

Запустите его командой

После этого вы сможете увидеть свое базовое серверное приложение в действии на http: // localhost: 5000 / receive_sms /.

Это хорошо для тестирования, но не очень хорошо, если вы не можете подключиться к Интернету, чтобы получать входящие сообщения и обрабатывать обратные вызовы. Для этого мы рекомендуем использовать ngrok , который предоставляет доступ к локальным серверам за NAT и межсетевыми экранами в общедоступный Интернет через безопасные туннели. Установите его и запустите ngrok в командной строке, указав порт, на котором размещено приложение, на которое вы хотите получать сообщения:

Ngrok отобразит ссылку пересылки, которую вы можете использовать для доступа к локальному серверу через общедоступную сеть.

Пример интерфейса командной строки ngrok

Теперь вы можете создать приложение для получения SMS-сообщений ( подробности см. В нашем руководстве по быстрому запуску ).

Заключение

И это все, что нужно для отправки и получения SMS-сообщений с помощью Python SDK от Plivo. Не пользуетесь Python? Не волнуйтесь – у нас есть SDK для PHP , Java , Node.js , Ruby , .NET Core , .NET Framework и Go . (Извините, поклонники COBOL.)

Еще не пробовали Plivo? Начать легко и займет всего пять минут. Зарегистрируйтесь сегодня.

Ответить