本文にスキップする

Audio Caller

LINE Planetは、アプリサーバーがPlanet Cloudに直接音声通話をリクエストできるようにするAudio Caller機能を提供します。この機能を使用することで、サーバー側で自動的に通話を作成し、顧客に対して事前に録音されたメッセージを含むオーディオファイルを再生するなどの用途で活用できます。

Note

Audio Caller機能では、事前にLINE Planet Consoleを通じてアップロードされたオーディオファイルのみ使用できます。詳細については、LINE Planet Consoleガイドを参照してください。

Audio Caller機能のために、既存のAPIと共に次のサーバーAPIが追加で使用されます。

以下のダイアグラムは、Audio Caller機能の動作手順を示しています。

Audio Caller APIの呼び出し手順

  1. アプリサーバーがMake Agent 1-to-1 Call APIを使用してPlanet CloudにAudio Callerの開始をリクエストします。
  2. Planet CloudがNotifyコールバックを使用してアプリサーバーに受信通話を通知します。
  3. アプリサーバーがアプリクライアントにプッシュ通知を送信します。
  4. Planet CloudがAgent Call Statusコールバックを呼び出して、Audio Callerの状態をアプリサーバーに通知します。

Make Agent 1-to-1 Call API

アプリサーバーがAudio Callerを開始するようにします。

アクセス情報

環境基準URL
Evaluationhttps://vpnx-stn-api.line-apps-rc.com

メソッドとエンドポイント

  • メソッド:POST
  • エンドポイント
    /tas/v2/agt_call/audio_caller/{to-serviceId}/{to-userId}

ヘッダー

  • AuthorizationBasic {credentials}
  • Accept:application/json
  • Content-Type:application/json

パスパラメーター

パラメーター説明
to-serviceId受信者サービスのサービスID
to-userId受信者のユーザーID

リクエスト本文

パラメータータイプ必須制限デフォルト値説明
requestContextAgentCallRequestContext オブジェクトYAudio Callerリクエストのコンテキスト
mediaSourceTypeStringYUTF-8 48バイト

オーディオソースのタイプ

  • STORED_SOURCE
storedSourceStoredAudioSourceInfo オブジェクトYメディアソース情報
appSvrDataStringNUTF-8 4095バイトNULLアプリサーバーデータ
callStartMessageStringNUTF-8 199バイトNULL通話開始メッセージ
recordOnCloudBooleanNfalse

発信者のクラウド録音の設定を受信者に知らせるために使用し、cc_paramを通じて引き渡されます。

recordOnCloudがnullの場合、cc_paramには含まれません。

useResponderPreparationBooleanNfalse応答者の準備状態を使用するかどうか

AgentCallRequestContext オブジェクト

プロパティタイプ必須説明
userIdStringY発信者のユーザーID
serviceIdStringY発信者のサービスID

StoredAudioSourceInfo オブジェクト

プロパティタイプ必須制限デフォルト値説明
storedAudioSourcesObjectListY

保存されたオーディオソースの情報。

再生する1つ以上のオーディオソースの情報を設定できます。オーディオソースが複数ある場合は、順次再生し、最大5つまで設定できます。

storedAudioSources

> contentId

StringY固定長さ12文字hex文字列LINE Planet Consoleにオーディオファイルをアップロードする際に発行されるオーディオソースID
playCountIntN1~32すべてのオーディオソースの順次再生を繰り返す回数
playWaitTimeIntN1000~40001000通話接続とメディア再生開始の間の時間(ミリ秒)

レスポンス

プロパティタイプNull許容制限説明
sidStringN固定長さ36バイト

通話セッションID

例:a30dc565-0c71-420a-9752-84eb43f8645c

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許容説明例示
sidStringNセッションID。sidを使用して通話を識別できます。Nullのない36バイトの固定長です。6364e8b3-bdac-436e-9631-0bce2498ce0c
agent_typeStringN

エージェントタイプ

  • AUDIO_CALLER
AUDIO_CALLER
media_source_typeStringN

エージェント通話のメディアタイプ

  • STORED_SOURCE
STORED_SOURCE
resultStringN

エージェント通話の結果

  • SUCCESS
  • FAIL
SUCCESS
fail_reasonStringN失敗の理由(成功時NoneInvalid 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