クイックスタート|Tropo Web API

パラメータの付与

   

もう1つの便利な機能は、グローバル変数としてアプリケーションにパラメータを渡す機能です。 GETリクエストを伴うRESTを使ってアプリケーションを起動すると、任意のクエリ文字列変数(?後のすべて)は、アプリケーション内のグローバル変数に変換されます。 URLにnumberToDial=09012345***が含まれている場合 、アプリケーション内の numberToDial変数が09012345***に設定されます 。 POSTを使用するときは、リクエストボディ内の変数を定義でき、同じように扱われるようになります。 英数字ではないものはHTMLエンコードすべきことに注意してください。 例えば、アプリケーションの代わりにRESTリクエストに+信号を含めたい場合は、+の代わりに%2Bとして照合します。 (そうしないと、スペースとして解釈され、下の例の中で意図的に使われているように、スペースが"msg"のワードの間に挿入されます。)

 

次のURL例には3つの変数を含みます。numberToDialcustomerName、そしてmsgです。 このコードは、アプリケーションを完了するために特定の場所でこれらの変数を受け入れるように書かれます。 アプリが起動されると、URLで定義された番号に電話をかけ、OMG John Dyer, the sky is falling!と言います。 その後、この通話を記録して切断します。

 

https://tropo.acrossway.com/sessions?token=「ここにトークン」&numberToDial= 09012345***&customerName=John+Dyer&msg=the+sky+is+falling

 
require 'tropo-webapi-ruby'
require 'sinatra'

post '/index.json' do
  
  v = Tropo::Generator.parse request.env["rack.input"].read
  
  to = v[:session][:parameters][:numbertodial]
  name = v[:session][:parameters][:customername]
  msg = v[:session][:parameters][:msg]
    
  t = Tropo::Generator.new
  
  t.call(:to => "+" + to)
  t.say(:value => "OMG " + name + ", " + msg + "!")
  
  t.response
  
end
var http = require('http');
var tropo_webapi = require('tropo-webapi');

var server = http.createServer(function (request, response) {  
  
    request.addListener('data', function(data){
        json = data.toString();
    });
    
    request.addListener('end', function() {
    
        var session = JSON.parse(json);
        var tropo = new TropoWebAPI();
    
        var to = session.session.parameters.numbertodial;
        var name = session.session.parameters.customername;
        var msg = session.session.parameters.msg;
    
        tropo.call("+" + to);
        tropo.say("OMG " + name + ", " + msg + "!");
    
        response.end(TropoJSON(tropo));
    });

}).listen(8000); 
<?php 

require 'tropo.class'; 

$session = new Session(); 
$to = $session->getParameters("numbertodial"); 
$name = $session->getParameters("customername"); 
$msg = $session->getParameters("msg"); 
    
$tropo = new Tropo(); 
    
$tropo->call("+".$to); 
$tropo->say("OMG ".$name.", ".$msg."!"); 

return $tropo->RenderJson(); 

?>
from itty import *
from tropo import Tropo, Session

@post('/index.json')

def index(request):

    s = Session(request.body)

    t = Tropo()

    t.call("+" + to=s.parameters['numbertodial'])
    t.say("OMG " + s.parameters['customername'] + ", " + s.parameters['msg'] + "!")

    return t.RenderJson()

run_itty(server='wsgiref', host='0.0.0.0', port=8888)

 

次のページでは、Text To Speech (TTS)を使う代わりに、アウトバウンドコールでオーディオを再生します。