
シェア:
Vonageのデベロッパー・アドボケイト、作家、ストーリーテラー。AI/ML、ユニファイド・コミュニケーション、教育技術、クラウド技術、オープンソースに関心を持つ。
Voice APIでできるアクションフロー
所要時間:3 分
クラウド上で高品質なプログラマブル・ボイス・アプリケーションを構築できます。 Vonage Voice APIとPythonを使って、クラウド上で高品質のプログラム可能な音声アプリケーションを構築できます。例えば、Call Control Objectsで発信および着信コールを管理し、コールを録音および保存し、電話会議を作成し、多くの言語で音声合成メッセージを送信することができます。 多くの言語音声やアクセントのバリエーションも豊富です。
NCCO - Call Control Objects (NCCO) で、Voice APIコールのフローを記述します。NCCOはJSON配列で表されます。コントロール・オブジェクトは、通話中に必要な指示を含む、通話に不可欠な部分です。例えば、どのような順序で、どのように通話の会話を進行させるかなどです。
この記事では NCCOビルダーの使い方について、Python のコード・スニペットを例に説明します。
NCCOビルダー、Python SDK
ビルダーを使って有効なNCCOアクションを構築する。 ピダンティックモデルとしてSDKでモデル化され、NCCOに組み込まれます。Pydanticモデル 記述された関連する NCCO アクションの必須パラメータとオプションパラメータを指定します。ビルダーがサポートするNCCOアクションは以下の通りです:
| NCCO action | Sample of NCCO Python object |
|---|---|
| Record | record = Ncco.Record(eventUrl=['https://example.com']) |
| Conversation | conversation = Ncco.Conversation(name='Audio demo') |
| Connect | connect = Ncco.Connect(endpoint={'type':'phone','number':'123456789'}) |
| Talk | talk = Ncco.Talk(text='Press 1 for maybe and 2 for not sure followed by the hash key', language='en-GB') |
| Stream | stream = Ncco.Stream(streamUrl='https://nexmo-community.github.io/ncco-examples/assets/voice_api_audio_streaming.mp3') |
| Input | input = Ncco.Input(type=['dtmf', 'speech'], dtfm={'maxDigits':'1'}) |
| Notify | notify = Ncco.Notify(payload={"foo": "bar"}, eventUrl='https://example.com/webhooks/event') |
あなたのアプリケーションでNCCOビルダーを使いたいですか?まず、Vonage SDKをインストールする必要があります。
Vonageパッケージのインポート
import vonage
from vonage import Ncco NCCOへの組み込み
メソッド Ncco.build_nccoは、アクションからNCCOを作成できます。これは、各アクションを表す辞書のリストとして返され、Voice API を呼び出す際に使用できます。
必須パラメーターとオプションパラメーターのリストは NCCOリファレンスページ
2人のユーザーをつなぐNCCOを作ってみよう。
次のコードは、必要なアクション、トークとコネクトを構築するものである。
talk = Ncco.Talk(text='Please wait while we connect you.')
connect = Ncco.Connect(endpoint={'type':'phone','number':'123456789'}, from_ = '12345678', timeout='20')Connectアクションは、それぞれの有効なエンドポイントタイプ(電話、アプリケーション、WebSocket、SIP、VBC)がPydanticモデルとして指定されているので、これらを検証することができます。 Ncco.Connectオブジェクトに直接渡すことも可能です。
でNCCOを作成しよう。 build_nccoメソッドと2つのアクション
ncco = Ncco.build_ncco(talk, connect)以下のJSONが作成される。
[
{
"action": "talk",
"text": "Please wait while we connect you."
},
{
"action": "connect",
"endpoint" :[
{
"type": "phone",
"number": "123456789"
}
],
"from": "12345678",
"timeout":20
}
]NCCOオブジェクトを使用する場合、それを検証することができます。 ここで.
NCCO ビルダーを使用している場合、ターミナルにエラーメッセージが表示されることがあります。 次の文字列は、必要なアクションオプションのいずれかが有効でない場合にターミナルに表示されるエラーメッセージです。
まとめ
新しいNCCOビルダーはアクションの作成を簡素化し、自動化することができます。公式ドキュメントとこのチュートリアルのアプリケーション例に基づき、あなたのアプリケーションにNCCOビルダーを使用することができます。 サインイン/サインアップ無料サインイン/サインアップして、Call Control Objectsの新しいプログラム作成を使用してVoiceアプリケーションを作成してください。