6

twilio を使用する Web アプリを作成していますが、問題があるようです。

システムは 3 つのアクターで構成されます。

  • 物理的な顧客
  • 物理サーバー
  • 私たちのウェブアプリケーション

クライアントがフォームを介して新しい「ジョブ」を作成するたびに、すべてのジョブの詳細がテキストで多くの異なるサーバーに送信されます。サーバーのいずれかがそのテキスト メッセージに返信するとき、その返信を特定の「ジョブ」に関連付けることができる必要があります。問題は、各ジョブの番号を購入し、各番号をジョブに関連付けずにこれを行う方法を理解できないことです。何千もの番号を購入することは完全に無駄であり不可能であるため、可能であれば1つの番号のみを使用したいと思います.

4

3 に答える 3

8

Cookie は会話を処理する最良の方法ですが、サーバーがどのテキスト メッセージに返信するかがわからないため、扱いにくい場合があります。サーバー 2 のジョブを送信し、サーバーが最初のジョブに応答することを選択した場合、これを知る方法はありません。

これを行うには、次の2つの賢明な方法があると思います。

  • サーバーが応答できるように、各ジョブに参照コード (簡単にするために 2 桁または 3 桁) を付けます。これが最も信頼できる方法です。
  • 複数の電話番号を使用しますが、多くはありません。そのため、1 日または数時間の間、1 つの番号につき 1 つのジョブのみをサーバーに送信します。次に、番号のプールをリサイクルし、ジョブが「タイムアウト」した後に再利用できます。これはむしろ、予想されるボリュームに依存します。
于 2013-04-25T09:43:06.250 に答える
5

Twilio によると、答えは Cookie を使用することです。

http://www.twilio.com/docs/quickstart/php/sms/tracking-conversations

Web アプリケーションと同様に、Cookie はアプリケーションがユーザー名やアカウントなどの情報を追跡するために Twilio のサーバーに保存できる小さなファイルです。Twilio SMS の場合、Cookie の範囲は 2 者間の「会話」に限定されます。To/From 電話番号のペアごとに一意の Cookie を持つことができます。たとえば、415-555-2222 と 415-555-1111 の間で送信されるすべてのメッセージに対して一意の Cookie を保存できます。これは、415-555-3333 と 415-555-1111 の間で使用される Cookie とは異なります。

于 2013-04-25T00:10:46.920 に答える
1

私は最近これに遭遇し、@xmjwが言及したプールのアイデアを使用してかなりよく説明する記事を見つけました

ユーザーが Twilio を介してテキスト メッセージを相互に送信する方法

アプリケーションは異なりますが、ここでのコンセプトはほぼ同じです。この質問に出くわし、他の解決策が必要な人のために。

私のソリューションで最終的に行ったことは、一意の応答コードを生成することでした。次に、返信で、応答コードと送信者番号を照会して、元のテキストに関連付けることができます。私の場合は、どちらも人間でした。一方がサーバーのように自動化されている場合、コードが何であるかをテキストで解析し、そのコードで返すことができます。次に、あなたはただSELECT * FROM messages WHERE code = ?.

于 2015-01-22T16:29:36.980 に答える