https://d226lax1qjow5r.cloudfront.net/blog/blogposts/announcing-vonage-ruby-sdk-version-7-4-0/blog_ruby-sdk-update_1200x600.png

Vonage Ruby SDK バージョン7.4.0の発表

最終更新日 March 19, 2021

所要時間:1 分

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構造を構築する。このように talkinputアクションの例を完成させるには #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.

シェア:

https://a.storyblok.com/f/270183/384x384/e5480d2945/ben-greenberg.png
Ben Greenbergヴォネージの卒業生

ベンはセカンドキャリアの開発者で、以前は成人教育、コミュニティ組織化、非営利団体運営の分野で10年を過ごした。彼はVonageの開発者支援者として働いていた。コミュニティ開発とテクノロジーの交差点について定期的に執筆している。南カリフォルニア出身で、長年ニューヨークに住んでいたが、現在はイスラエルのテルアビブ近郊に在住。