2016-08-18 3 views
0

Twilio API/TWIML ユーザーが自分のテキストに(テキストで)応答し、私のエンドポイントに答える、どのように私は送信者を特定するのですか?twilioのエンドポイントとエンドポイントの人との間の会話に固有の「ID」を取得するには

最初は「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' } } 

、私のエンドポイントを受け取る...

あなたは、元のSMS内のSIDを見ることができるように
{ 
    "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" 
} 

は... MMf9で始まり、自分の携帯電話の応答内のすべてのIDが

私が送信し、中にいくつかの会話-IDを期待していた... SMeでで始まります応答する私のエンドポイントでは、会話のデータベースエントリを作成し、会話からの私のユーザの応答を保存することができます。しかし、今では、送信者&の受信者の間にconversation_idがないので、どこに会話を保存するのかわからず、私のサーバーが誰から応答を送信しているのか分かりません。

答えて

1

私はtwilioメタデータの 'to'電話番号を取得しているので、それはユーザーを識別する方法です。

Twilioは、ユーザは、例えば、「会話」を識別するためのテキスト・メッセージ自体に余分なテキストで応答する必要がありますが、テキストメッセージにカスタム「メタデータ」を追加してみましょうないので:

「ジョンあなたは勝者がA、B、またはCであるべきだと思いますか?あなたのvoter-idをレスポンスに追加してください:43z '

次に、ユーザはテキストを返す必要があります:B 43z。

エンドポイントは回答 'B'を識別し、 '43z'は応答者を 'John'と識別します(あなたのサーバー上でJohnを43zにマッピングすると仮定します)。

次に、勝者が誰であるべきか、また会話に対する各ユーザーの応答を知ることができます。

関連する問題