Twilio API / TWIML ユーザーが私のテキストに (テキスト経由で) 応答し、エンドポイントへの回答を受け取った場合、送信者を特定するにはどうすればよいですか?
最初は「sid」だと思っていましたが、そうではありません..送信者が誰であるかをエンドポイントに警告できる「送信」と「応答」の両方に存在する「conversation_id」が見つかりません。
サーバーからテキストを送信すると、応答は次のようになります。
{ sid: 'MMf9...',
date_created: 'Thu, 18 Aug 2016 03:24:50 +0000',
date_updated: 'Thu, 18 Aug 2016 03:24:50 +0000',
date_sent: null,
account_sid: '...',
to: '...,
from: '...',
messaging_service_sid: '...',
body: 'Hi. this is an anonymous text from my server',
status: 'accepted',
num_segments: '1',
num_media: '1',
direction: 'outbound-api',
api_version: '2010-04-01',
price: null,
price_unit: null,
error_code: null,
error_message: null,
uri: '/2010-04-01/Accounts/...../Messages/......json',
subresource_uris: { media: '/2010-04-01/Accounts/...../Messages/...../Media.json' },
dateCreated: Thu Aug 18 2016 03:24:50 GMT+0000 (UTC),
dateUpdated: Thu Aug 18 2016 03:24:50 GMT+0000 (UTC),
dateSent: null,
accountSid: '....',
messagingServiceSid: '.....',
numSegments: '1',
numMedia: '1',
apiVersion: '2010-04-01',
priceUnit: null,
errorCode: null,
errorMessage: null,
subresourceUris: { media: '/2010-04-01/Accounts/..../Messages/..../Media.json' } }
電話からサーバーにテキストで応答すると、エンドポイントは...
{
"ToCountry": "US",
"ToState": "IL",
"SmsMessageSid": "SMe....",
"NumMedia": "0",
"ToCity": "Chicago",
"FromZip": "60626",
"SmsSid": "SMe....",
"FromState": "IL",
"SmsStatus": "received",
"FromCity": "CHICAGO",
"Body": "Try",
"FromCountry": "US",
"To": "....",
"MessagingServiceSid": "....",
"ToZip": "",
"NumSegments": "1",
"MessageSid": "SMe...",
"AccountSid": "...",
"From": "...",
"ApiVersion": "2010-04-01"
}
ご覧のとおり、元の SMS の sid は MMf9 で始まります...そして私の電話の応答のすべての ID は SMe で始まります...
エンドポイントで会話のデータベースエントリを作成し、会話からのユーザーの応答を保存できるように、送信と応答の会話IDがそこにあることを望んでいました。しかし、送信者と受信者の間にconversation_idがないため、会話を保存する場所がわかりません。また、サーバーが応答を送信している相手もわかりません。