Как отправить 2 пользовательских условных ответа с Twilio на Python и Flask? - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь по существу пройтись по приложению Flask с Twilio, чтобы, когда пользователь набирает номер Twilio, Twilio приветствовал пользователя, но ожидал второго ответа от пользователя. В основном:

текстовые сообщения пользователя номер twilio -> приложение twilio приветствует и запрашивает у пользователя другой ответ -> пользователь вводит второй ответ, отправляя текстовый номер twilio снова -> подтверждение twilio и транзакция помечается как выполненная

Я получаю первую половину нужной мне функциональности:

from flask import Flask, request, redirect
from twilio.twiml.messaging_response import MessagingResponse

app = Flask(__name__)

@app.route("/sms", methods=['GET','POST'])
def sms_logic():

    # get the message the user sent our Twilio number
    body = request.values.get('Body', None)

    # start our TwiML response
    resp1 = MessagingResponse()

    resp1.message('Hi! Please enter your name')

    return(str(resp1))

... но как мне заставить его выполнить 2-ю часть рабочего процесса?

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 03 июля 2018

Разработчик Twilio здесь!

Мы рекомендуем создавать подобные разговоры с помощью сессий - вы можете посмотреть учебник для этого с использованием Python и Flask здесь: https://www.twilio.com/docs/sms/tutorials/how-to-create-sms-conversations-python

Так что вы можете сделать что-то вроде:

from flask import Flask, request, session
from twilio.twiml.messaging_response import MessagingResponse

# The session object makes use of a secret key.
SECRET_KEY = 'a secret key'
app = Flask(__name__)
app.config.from_object(__name__)

@app.route("/sms", methods=['GET', 'POST'])
def sms_logic():
    # Increment the counter
    counter = session.get('counter', 0)
    counter += 1

    # Save the new counter value in the session
    session['counter'] = counter

    resp = MessagingResponse()

    if counter == 1:
        resp.message('Hi! Please enter your name')
    else:
        body = request.values.get('Body', 'Friend')
        resp.message('Thanks {}!'.format(body))    

    return str(resp)


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

Для большего примера посмотрите этот учебник по созданию каталога Employee с Python и Flask: https://www.twilio.com/docs/sms/tutorials/employee-directory-python-flask

...