
シェア:
ベンはセカンドキャリアの開発者で、以前は成人教育、コミュニティ組織化、非営利団体運営の分野で10年を過ごした。彼はVonageの開発者支援者として働いていた。コミュニティ開発とテクノロジーの交差点について定期的に執筆している。南カリフォルニア出身で、長年ニューヨークに住んでいたが、現在はイスラエルのテルアビブ近郊に在住。
Vonage Ruby SDK バージョン7.4.0の発表
Vonage Ruby SDKは最近新しいリリース、v7.4.0を発表しました。この新しいバージョンでは、プログラム可能な音声通話用のアクション("NCCO")を作成する機能が初めてSDKに追加されました!
その理由と仕組みを探ってみよう。
NCCOとは何か?
Vonage Voice APIは、あなたのコードを介したAPIとのConversationと見なすことができます。Voice APIに送信するJSONで作成されたアクションで、通話中の動作をAPIに指示します。これらのアクションはNCCOと呼ばれます。
音声合成の送信、通話録音の開始、電話会議など、NCCOを使ったアクティビティは無数にある。Voice APIは、各NCCOに対して、順次、ほとんどの場合、同期的に動作します。例えば、音声合成による挨拶で通話を開始し、その後に音声入力を収集したいとします。NCCOは次のようになります:
[
{
:action => "talk",
:text => "Hello, please say something!"
},
{
:action => "input",
:type => ["speech"],
:context => ["continue", "hangup", "main menu"]
}
]
上の例では、最初のNCCOアクションが「こんにちは、何か言ってください!」という挨拶を読み上げ、次のNCCOアクションが音声入力を収集する。次のNCCOアクションは音声入力を収集する。 contextを追加しています。 inputこれは、音声認識エンジンに、相手からどのような言葉が聞こえてくるかを示唆するものです。
SDKのNCCOビルディング
アプリケーションやサービスのニーズが高まるにつれて、NCCOを構築するプロセスは非常に複雑になる可能性があります。各NCCOアクションにはそれぞれ固有のデータ構造要件があり、その1つ1つを覚えようとしたり、継続的に NCCOリファレンスガイドを参照し続ける必要があります。
VonageのSDKチームは、SDKがAPIへのHTTPリクエストを実行するだけでは、その目的を十分に果たしていないと考えています。SDKは、開発者がより合理的で楽しい方法でVonage APIを使って構築できるようにする必要があります。
今、Vonage Ruby SDKのバージョン7.4.0で、RubyでリアルタイムのフィードバックとサポートでNCCOアクションをプログラムで構築することが可能になりました!どのように動作するか見てみましょう。
どのように機能するのか?
新しいNCCOビルダーは、SDKのクライアント・インスタンス化の一部ではないという点で、JWTジェネレーター機能に似ている。NCCOの構築を開始するために認証情報を渡す必要はありません。
各NCCOアクションは、その名前をクラスのメソッドとして呼び出すことで構築できる。 Vonage::Voice::Nccoクラスのメソッドとして呼び出すことで構築できる。例えば talkアクションは #talkメソッドとなり Vonage::Voice::Ncco.talk.メソッドで列挙されたパラメータを受け入れます。 NCCOリファレンスガイドに列挙されているパラメータを受け入れます。
さらに、NCCOビルダーは不正なパラメータに対して例外という形でリアルタイムのフィードバックを提供します。これは、非常に特殊なデータ型やデータ構造の要件を持つアクションを構築する際に非常に役立ちます。例として、電話番号は E.164形式でなければなりません。NCCOビルダーは、提供された電話番号がその仕様に一致しない場合、エラーを発生させて通知します。
NCCOの2つのアクション、つまり talkとスピーチ inputは新しいNCCOビルダーで次のように構築できる:
talk = Vonage::Voice::Ncco.talk(text: 'Hello, please say something!')
input = Vonage::Voice::Ncco.input(type: ['speech'], context: ["continue", "hangup", "main menu"])NCCOを構築する最後のステップは #buildメソッドを呼び出すことである。この #buildメソッドはNCCOアクション・オブジェクトを受け取り、NCCOを渡された順番に並べた完全に準備のできたNCCO JSON構造を構築する。このように talkと inputアクションの例を完成させるには #buildメソッドを次のように呼び出す:
ncco = Vonage::Voice::Ncco.build(talk, input)
# => [{:action=>"talk", :text=>"Hello, please say something!!"}, {:action=>"input", :type=>["speech"], :speech=>{:context=>["continue", "hangup", "main menu"]}}]
次はどうする?
Ruby SDKについては、さらにエキサイティングな計画が進行中です!私たちはSDKの機能を強化し続け、HTTPリクエストを行うだけでなく、主にあなたのタスクをより簡単かつ合理的にするリソースであるという私たちの目標との整合性を高めていきます。
私たちは常に地域社会の参加を歓迎しています。お気軽に GitHubおよび Vonage コミュニティ Slack.