Twilio - Как определить, когда пользователь отвечает с ключевым словом отказа и отписаться от них? - Django Python - PullRequest
0 голосов
/ 28 марта 2020

Я хотел бы отписать пользователя от SMS-уведомлений, когда он отвечает одним из ключевых слов по умолчанию для отключения twilio: STOP, UNSTOP, UNSUBSCRIBE или CANCEL https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-

И повторная подписка клиент для моей базы данных и смс-уведомления, если они набирают START, YES и UNSTOP

Есть ли специальный способ сделать это? - Я не видел ничего хорошего c от Twilio о том, как справиться с этим. Или я просто должен следить за тем, чтобы пользователи отвечали через мой существующий смс-трюк и реализовывать что-то вроде следующего:

def text_message(request):
    if request.method == "POST":
        message_body = request.POST['Body']
        if message_body == "STOP" or message_body == "UNSTOP" or message_body == "UNSUBSCRIBE" or message_body == "CANCEL":
            #unsubscribe phone number from my database

1 Ответ

1 голос
/ 28 марта 2020

Вы правы, ваше приложение должно включать логику c для обновления предпочтения канала пользователя в вашей CRM (поэтому вы не пытаетесь отправить еще одно SMS, если этот пользователь отказался от этого канала). Twilio обрабатывает черный список для длинных кодов, поэтому, если вы попытаетесь отправить SMS-сообщение стороне отказа, Twilio ответит с ошибкой.

Поддержка Twilio для ключевых слов отказа (фильтрация SMS STOP) https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-

Любой из этих ответов на ключевые слова STOP не позволит клиенту получать новые сообщения с номера телефона Twilio, на который они отвечают. Когда Twilio получит один из этих ответов, мы создадим «черный список» с нашей стороны, а затем передадим сообщение вашему веб-крюку. Как только у нас будет запись в черном списке для определенного номера телефона получателя, любые будущие попытки сообщить о них будут встречаться с ответом 400 от нашего API вместе с кодом ошибки 21610 - сообщение не может быть отправлено на номер «Кому», так как клиент имеет ответил СТОП. Получатели могут отключить остановку этого сообщения и возобновить прием сообщений с помощью команд START, YES или UNSTOP, как описано ниже.

...