私の Chatfuel ブロックでは、{{user input}} を収集し、Zapier Webhook で JSON を POST します。ここまでは順調ですね。その後、ローカルの Pyhon はこの JSON を Zapier ストレージから正常に読み取ります
url = 'https://store.zapier.com/api/records?secret=password'
response = urllib.request.urlopen(url).read().decode('utf-8')
data = json.loads(response)
それを分析して、別の JSON を出力として生成します。
json0={
"messages": [
{"text": analysis_output}]
}
次に、Python3 はこの JSON を Zapier の GET Webhook に投稿します。
import requests
r = requests.post('https://hooks.zapier.com/hooks/catch/2843360/8sx1xl/', json=json0)
r.status_code
Zapier Webhook は JSON を正常に取得し、ストレージに送信します。
Key-Value ペアが設定されると、Chatfuel はストレージからの読み取りを試みます。
GET https://store.zapier.com/api/records?secret=password2
しかし、得られた JSON 構造は間違っています。このコードで検証されたものは次のとおりです。
url = 'https://store.zapier.com/api/records?secret=password2'
response = urllib.request.urlopen(url).read().decode('utf-8')
data = json.loads(response)
data
それは次を返します:
{'messages': "text: Didn't know I could order several items"}
Chatfuel が適切に機能するのは次の場合です。
{'messages': [{"text: Didn't know I could order several items"}]}
つまり、次の 2 つの問題があります。
1) JSON に " { [ " がありません
2) JSON は、まったく新しい JSON を生成するのではなく、既存の情報に新しい情報を追加しているため、JSON に 5 つの異なる部分があります。
この問題の可能な解決策を探しています。




