Не получаете действие инициирования от потоков WhatsApp после отправки интерактивного потока или шаблона?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Не получаете действие инициирования от потоков WhatsApp после отправки интерактивного потока или шаблона?

Сообщение Anonymous »

Может кто -нибудь, пожалуйста, посоветовать, как получить действие инициирования? Я также попробовал подход, который я обнаружил здесь, где действие «init» включено в полезную нагрузку шаблона сообщения. Кроме того, я попытался использовать интерактивный тип, как предложено Chatgpt. Тем не менее, я не получаю действие «init». Но пользователь_ид может быть извлечен только из действия инициирования, поэтому я не могу продолжить свой поток. user_id (to_number) во время работы с потоком. Расшифрованное тело содержит только те данные, которые я представил во время DATA_EXCHANGE, используя Flow JSON. < /P>
message = {
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": user_id,
"type": "interactive",
"interactive": {
"type": "flow",
"header": {
"type": "text",
"text": "Welcome"
},
"body": {
"text": "Click fill form"
},
"action": {
"name": "flow",
"parameters": {
"flow_message_version": "3",
"flow_cta": "Fill form",
"flow_name": "my_main_form_name"
}
}
}
}
< /code>
message = {
"messaging_product": "whatsapp",
"to": user_id,
"type": "template",
"template": {
"name": "main_flow_en",
"language": {"code": "en"},
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"parameter_name": "profile_name",
"text": profile_name
}
]
},
{
"type": "button",
"sub_type": "flow",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": json.dumps({
"action": "INIT",
"data": {
"to_number": str(user_id)
}
})
}
]
}
]
}
}
< /code>
And tried these parameters:
{
"type": "button",
"sub_type": "flow",
"index": "0",
"parameters": [
{
"type": "action",
"action": {
"flow_action_data": {
"user_id": user_id,
"user_name": profile_name
}
}
}
]
}
< /code>
Flow endpoint code:
def handle_form_submission(event, context):
body = json.loads(event.get('body', '{}'))
decrypted = decrypt_flow_data(body)
logger.info("✅ Decrypted body: %s", decrypted)

user_id = decrypted.get('to_number')
action = decrypted.get('action')
screen = decrypted.get('screen')
data = decrypted.get('data') or {}
flow_token = decrypted.get('flow_token')

if action == 'INIT':
logger.info("🚀 INIT state")
profile = get_user_profile(user_id)
store_user_data(user_id, {
'SK': 'META',
'flow_token': flow_token,
'profile_name': profile,
'started_at': iso_now()
})
response = {'version': '3.0', 'screen': 'MYFIRSTSCREEN',
'data': {'greeting': 'Welcome'}}
elif action == "ping":
response = {"version": "3.0", "data": {"status": "active"}}
elif action == 'data_exchange' and screen == 'MYFIRSTSCREEN':
....


Подробнее здесь: https://stackoverflow.com/questions/795 ... ctive-flow
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»