Audio Caller
LINE Planetは、アプリサーバーがPlanet Cloudに直接音声通話をリクエストできるようにするAudio Caller機能を提供します。この機能を使用することで、サーバー側で自動的に通話を作成し、顧客に対して事前に録音されたメッセージを含むオーディオファイルを再生するなどの用途で活用できます。
Audio Caller機能では、事前にLINE Planet Consoleを通じてアップロードされたオーディオファイルのみ使用できます。詳細については、LINE Planet Consoleガイドを参照してください。
Audio Caller機能のために、既存のAPIと共に次のサーバーAPIが追加で使用されます。
以下のダイアグラムは、Audio Caller機能の動作手順を示しています。
- アプリサーバーがMake Agent 1-to-1 Call APIを使用してPlanet CloudにAudio Callerの開始をリクエストします。
- Planet CloudがNotifyコールバックを使用してアプリサーバーに受信通話を通知します。
- アプリサーバーがアプリクライアントにプッシュ通知を送信します。
- Planet CloudがAgent Call Statusコールバックを呼び出して、Audio Callerの状態をアプリサーバーに通知します。
Make Agent 1-to-1 Call API
アプリサーバーがAudio Callerを開始するようにします。
アクセス情報
環境 | 基準URL |
---|---|
Evaluation | https://vpnx-stn-api.line-apps-rc.com |
メソッドとエンドポイント
- メソッド:POST
- エンドポイント
/tas/v2/agt_call/audio_caller/{to-serviceId}/{to-userId}
ヘッダー
- Authorization:
Basic {credentials}
- Accept:application/json
- Content-Type:application/json
パスパラメーター
パラメーター | 説明 |
---|---|
to-serviceId | 受信者サービスのサービスID |
to-userId | 受信者のユーザーID |
リクエスト本文
パラメーター | タイプ | 必須 | 制限 | デフォルト値 | 説明 |
---|---|---|---|---|---|
requestContext | AgentCallRequestContext オブジェクト | Y | Audio Callerリクエストのコンテキスト | ||
mediaSourceType | String | Y | UTF-8 48バイト | オーディオソースのタイプ
| |
storedSource | StoredAudioSourceInfo オブジェクト | Y | メディアソース情報 | ||
appSvrData | String | N | UTF-8 4095バイト | NULL | アプリサーバーデータ |
callStartMessage | String | N | UTF-8 199バイト | NULL | 通話開始メッセージ |
recordOnCloud | Boolean | N | false | 発信者のクラウド録音の設定を受信者に知らせるために使用し、
| |
useResponderPreparation | Boolean | N | false | 応答者の準備状態を使用するかどうか |
AgentCallRequestContext
オブジェクト
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
userId | String | Y | 発信者のユーザーID |
serviceId | String | Y | 発信者のサービスID |
StoredAudioSourceInfo
オブジェクト
プロパティ | タイプ | 必須 | 制限 | デフォルト値 | 説明 |
---|---|---|---|---|---|
storedAudioSources | ObjectList | Y | 保存されたオーディオソースの情報。 再生する1つ以上のオーディオソースの情報を設定できます。オーディオソースが複数ある場合は、順次再生し、最大5つまで設定できます。 | ||
> | String | Y | 固定長さ12文字hex文字列 | LINE Planet Consoleにオーディオファイルをアップロードする際に発行されるオーディオソースID | |
playCount | Int | N | 1~3 | 2 | すべてのオーディオソースの順次再生を繰り返す回数 |
playWaitTime | Int | N | 1000~4000 | 1000 | 通話接続とメディア再生開始の間の時間(ミリ秒) |
レスポンス
プロパティ | タイプ | Null許容 | 制限 | 説明 |
---|---|---|---|---|
sid | String | N | 固定長さ36バイト | 通話セッションID 例: |
例
curl --location --request POST 'https://vpnx-stn-api.line-apps-rc.com/tas/v2/agt_call/audio_caller/${service-id}/${user-id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic ${credentials}' \
--data '{
"requestContext": {
"userId": "${user-id}",
"serviceId": "${service-id}"
},
"mediaSourceType": "STORED_SOURCE",
"storedSource": {
"storedAudioSources": [
{
"contentId": "5498f04048fa"
},
{
"contentId": "c17d343002a9"
}
],
"playWaitTime": 1500,
"playCount": 2
},
"recordOnCloud": false,
"useResponderPreparation": false
}'
{
"status": "success",
"data": {
"sid": "2b53fe1d-5057-4265-ad76-96b2fc6f4961"
},
"timestamp": 1743055021284
}
Agent Call Statusコールバック
Agent Call Statusコールバックは、エージェント通話APIのリクエストから正常なレスポンスを受信すると、常に呼び出されます。このコールバックは、サーバーが受信者への通話を正常に開始したか(WAITANSWER
)どうかを示します。
受信者が電話を受けたり拒否したりするなど、WAITANSWER
以降の通話イベントについては、sid
値で1対1通話イベントのコールバックを照会してください。
メソッドとエンドポイント
- メソッド:GET
- エンドポイント:
${agent_call_status_cb_url}
クエリパラメーター
パラメーター | タイプ | Null許容 | 説明 | 例示 |
---|---|---|---|---|
sid | String | N | セッションID。sid を使用して通話を識別できます。Nullのない36バイトの固定長です。 | 6364e8b3-bdac-436e-9631-0bce2498ce0c |
agent_type | String | N | エージェントタイプ
| AUDIO_CALLER |
media_source_type | String | N | エージェント通話のメディアタイプ
| STORED_SOURCE |
result | String | N | エージェント通話の結果
| SUCCESS |
fail_reason | String | N | 失敗の理由(成功時None ) | Invalid peerId |
例
# Let's suppose agent_call_status_cb_url is
# http://sample.server.com:20200/audio_caller_event
# LINE Planet server will send a request to agent_call_status_cb_url as follows.
GET http://sample.server.com:20200/audio_caller_event?
sid=6364e8b3-bdac-436e-9631-0bce2498ce0c&
agent_type=AUDIO_CALLER&
media_source_type=STORED_SOURCE&
result=Success&
fail_reason=None