0

Azure でホストされる WCF サービスを作成しました。このサービスは、SalesForce ワークフローからデータを注入するために使用されます。サービスは、Twilio からのアウトバウンド コールを介して通知する必要があるチームに応じて、特定のファイル (cshtml が推奨されました) を呼び出します。TwiML を作成/返すファイルに Web サービスからデータを渡す必要があります。これを行う方法がわかりません.cshtmlは行くべき道ではないと思いますか?現在、Twilio NuGet パッケージを使用してアウトバウンド コールを発信しています。テスト用にデモ URL を使用しています ( http://demo.twilio.com/docs/voice.xml)。これはうまくいっています。ここで、TwiML の作成時に使用する SalesForce データを渡す必要があります。渡す必要のあるフィールドがたくさんあるので、可能であれば URL に追加しないようにしたいと思います。私がこれまでに持っているコードは以下のとおりです。ヘルプ/提案をいただければ幸いです。ありがとう!

        var client = new TwilioRestClient(accountSid, authToken);

        client.SendSmsMessage("", "", "Test Twilio SMS from Windows Azure Webservice", r =>
        {
            if (r.RestException != null)
            {
                //an exception occurred making the REST call
                string message = r.RestException.Message;
            }
        });

        CallOptions options = new CallOptions();
        options.To = "";
        options.From = "";
        options.Url = "http://demo.twilio.com/docs/voice.xml";
        options.Timeout = 5;
        options.IfMachine = "Hangup";

        client.InitiateOutboundCall(options);
4

1 に答える 1

2

Twilio Evangelist です。すべてのデータを URL に含めたくない場合は、元の SalesForce データを見つけることができる状態データの一部として ID を追加するだけでよいでしょう。したがって、基本的に、次のいずれかの行に沿った ID が必要です。

https://example.com/calls/1234567890
https://example.com/calls?some_id=1234567890

次に、アプリケーションがこのリクエストを受け取ると、この ID を使用して、TwiML の生成を可能にするデータを見つけることができます。

これで、さまざまなことができるようになりました。

  • Sales Force に関連付けられている ID を使用する
  • Sales Force データをメモリ (キャッシュ) に格納するキーと値のペアを作成します。ただし、複数のサーバーや多数の要求を処理することを忘れないでください。
  • データをデータベースに保存し、レコードの ID を使用します。
  • または、Sales Force データから TwiML を事前に計算し、呼び出しを行い、上記のいずれかのオプションに対して TwiML を保存します。

2 番目のオプションは、逆を行うことです。API を使用して Twilio 呼び出しを作成すると、呼び出しの識別子 (Call SID) が取得されます。Twilio が TwiML を取得するリクエストを行うと、この SID が提供されるため、API リクエストを TwiML リクエストと簡単に結合できます。その SID を保存して、元のデータを見つけられるようにするか、ここでも、事前に生成された TwiML を見つけられるようにする必要があります。

お役に立てれば!

于 2013-08-13T09:16:40.210 に答える