Обновить метаданные WhatsApp Flow
Обновляет метаданные Flow. Нужно хотя бы одно из: name, categories, endpointUri.
endpointUri — HTTPS-адрес вашего сервера data channel. WhatsApp вызывает его зашифрованным POST; это не webhook канала. В описании поля — поля запроса, расшифровка и путь завершения nfm_reply.
JWT tokentoken<token>flowId*stringИдентификатор Flow
application/json- body
Нужно указать name, categories или endpointUri
name?stringNew Flow name
categories?array<>Replacement Flow categories
endpointUri?stringHTTPS-адрес вашего сервера для data channel этого Flow. Это не маршрут 1msg, и эти вызовы не приходят на webhookUrl канала.
WhatsApp отправляет POST JSON с полями encrypted_flow_data, encrypted_aes_key и initial_vector. Расшифруйте encrypted_aes_key приватным RSA-ключом от загруженного business_public_key (RSA-OAEP, SHA-256), затем encrypted_flow_data через AES-128-GCM (initial_vector — IV, последние 16 байт ciphertext — auth tag). Ответ — эта ciphertext-строка в base64 и заголовок Content-Type: text/plain. Шифруйте ответ тем же AES-ключом и IV, у которого инвертирован каждый байт. Если расшифровать запрос не удалось, ответьте HTTP 421: приложение WhatsApp заново запросит публичный ключ.
Тот же URL получает служебный ping. Ответьте в том же зашифрованном виде; расшифрованное тело — {"data":{"status":"active"}}. ping и обмены экранами не приходят в webhook канала. Когда пользователь отправляет форму, итог приходит на webhookUrl канала: messages[].interactive.type = nfm_reply.
Сначала загрузите публичный ключ через POST /whatsapp_business_encryption и вызывайте GET /whatsapp_business_encryption, пока business_public_key_signature_status не станет VALID.
uriОбновлено
application/json- response
success?booleancurl -X PATCH 'https://api.1msg.io/123/flows/string/metadata' \ -H 'Content-Type: application/json' \ -d '{ "name": "lead_form_v2", "endpointUri": "https://example.com/flow"}'{ "success": true}