Конфигурация Twilio Whatsapp Sandbox для развертывания приложения через AWS elastic beanstalk

введите описание изображения здесь

В настоящее время я разрабатываю чатбота для своего приложения на django, используя пробную учетную запись twilio. Чатбот правильно функционирует с ngrok.io, т.е. когда сервер работает локально, что означает, что когда я отправляю сообщение whatsapp в песочницу twilio с операцией просто "python manage.py runserver", он автоматически ответит мне в соответствии с моим скриптом.

Однако, когда я начал развертывать приложение, используя AWS elastic beanstalk, я обнаружил, что песочница может отправлять сообщения Whatsapp только POST-запросом на веб-приложении, но не может отвечать на POST-запрос, отправленный из Whatsapp.

Каким образом я могу с этим справиться? Связано ли это с настройками AWS или настройками Twilio? Какие-то проблемы, связанные с CORS?

Заранее большое спасибо.

(Пожалуйста, простите меня, если мои формулировки не точны, так как я не занимаюсь информатикой)

Ниже приведена часть кода, который я применил.


@csrf_exempt
def message(request):

    account_sid = 'xxx' 
    auth_token = 'xxx' 
    client = Client(account_sid, auth_token) 

    client_phone_number = request.POST.get('From').removeprefix("whatsapp:+852")
    client_phone_number.removeprefix("+852")
    incoming_message = request.POST.get('Body')
    conversation_sid = request.POST.get('conversation_sid')


    incoming_message = incoming_message.lower()
    response = MessagingResponse()


#processing the incoming message to produce the text

    resp = "text"


    response.message(resp)

    return HttpResponse(str(response))

Я попробовал вставить https://xxxxx-env.yyyyyyy.us-east-1.elasticbeanstalk.com/whatsapp/ в ячейку конфигурации песочницы, как показано на изображении, и это привело к тому, о чем я говорил выше. url whatsapp устанавливается так же, как обычно делается для других urls для django, затем message(request) для обработки запроса, отправленного из whatsapp. Есть ли другой правильный способ, как я могу это сделать?

Вернуться на верх