OpenFrame API
openframe API は、Contact Center as a Service (CCaaS) に操作ハンドラーを使用せずにインタラクションレコードを作成および更新する機能を提供するエンドポイントを提供します。
この API を使用して、エージェントの電話を追跡するインタラクションレコードを作成します。インタラクションレコードが作成されると、エージェントが電話を受けたときにインタラクションが CSM 構成可能ワークスペース に自動的に表示されます。
この API にアクセスするには、com.sn_openframe_store プラグインをインスタンスにインストールし、呼び出し元ユーザーが sn_openframe_api_user または sn_openframe_user ロールを持っている必要があります。openframe API は sn_openframe 名前空間で実行されます。
CSM 音声インタラクションレコードの詳細については、「 CSM voice interaction record page」を参照してください。
openframe:PATCH /openframe/voice-interaction/{interactionSysId}
インタラクション [interaction] テーブル内の指定されたインタラクションレコードを更新します。サービスとしてのコンタクトセンター (CCaaS) プロバイダーは、これらのレコードを使用して通話を追跡できます。
URL 形式
バージョニングされた URL: /api/now/openframe/{api_version}/voice-interaction/{interactionSysId}
デフォルト URL: /api/now/openframe/voice-interaction/{interactionSysId}
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| interactionSysId | 更新するインタラクションレコードのSys_id。この値は、 Create Voice Interaction/POST エンドポイントによって返されます。 データタイプ:文字列 テーブル:インタラクション [interaction] |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| インタラクション | 必須。音声インタラクションの詳細。少なくとも 1 つのパラメーターを渡す必要があります。 データタイプ: オブジェクト |
| interaction.additionalParams | 関連付けられたインタラクションレコードフィールドとそれぞれの値の名前と値のペア。 例: データタイプ: オブジェクト デフォルト:なし |
| interaction.callbackPhoneNumber | 発信者のコールバック電話番号。これは、コールが切断された場合に、エージェントが発信者に連絡するために使用する番号です。 データタイプ:文字列 フォーマット:E.164 デフォルト:なし |
| interaction.clientSessionId | この電話を追跡するために使用される外部システム内のレコードの一意の識別子。この情報は、2 つのシステム間でレコードをリンクします。 データタイプ:文字列 デフォルト:なし |
| interaction.inboundId | 音声サービスのアプリケーションプロバイダーの一意の識別子。 テーブル:プロバイダーチャネルアプリケーション [sys_cs_provider_application] テーブルの受信 ID フィールド。 デフォルト:なし |
| interaction.userPhoneNumber | 音声インタラクションに関連付けられたコールを行ったユーザーの電話番号。 データタイプ:文字列 フォーマット:E.164 |
| interactionContext | 設定するインタラクションコンテキスト変数。インタラクションレコードに保存するインタラクションコンテキスト変数の名前と値のペア。これらの値は CCaaS によって決定されます。 例: データタイプ: オブジェクト デフォルト:なし |
| phoneLog | コールを作成して関連付ける電話ログの名前と値のペア。電話ログ [sn_open_frame_phone_log] テーブルの任意のフィールドを指定できます。 例: データタイプ:オブジェクトのアレイ デフォルト:なし |
| 関連レコード | コールに関連するレコード。 データタイプ:オブジェクトのアレイ デフォルト:なし |
| relatedRecords.documentId | 関連レコードのSys_id。 データタイプ:文字列 テーブル: relatedRecords.documentTable パラメーターで指定します。 |
| relatedRecords.documentTable | 関連レコードを含むテーブルの名前。 データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| Content-Type | 要求本文のデータ形式。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| ステータス | レコード更新のステータス。 可能な値:
|
cURL 要求
次のコード例は、sys_id 12961fff7fb2d2102d0cd3cf8c86652b でインタラクションレコードを更新する方法を示しています。
curl "http://instance.service-now.com/api/now/openframe/voice-interaction/12961fff7fb2d2102d0cd3cf8c86652b" \
--request PATCH \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"interaction\":{
\"additionalParams\":{
\"direction\":\"inbound\",
\"short_description\":\"New Poonam outbound call\",
\"assigned_to\":\"a8f98bb0eb32010045e1a5115206fe3a\"
}
},
\"interactionContext\":{
\"devicetype\":\"genesys\",
\"requester_session_language\":\"en-US\"
},
\"phoneLogs\":[
{
\"call_id\":\"2323223\",
\"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
\"start_time\":\"2024-11-04 21:45:00\"
},
{
\"call_id\":\"33535353\",
\"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
\"start_time\":\"2024-11-04 21:45:00\"
},
{
\"call_id\":\"1997654\",
\"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
\"start_time\":\"2024-11-04 21:45:00\"
}
],
\"relatedRecords\":[
{
\"documentTable\":\"csm_consumer\",
\"documentId\":\"59e788fbdb1b1200b6075200cf9619d2\"
},
{
\"documentTable\":\"sys_user\",
\"documentId\":\"62826bf03710200044e0bfc8bcbe5df1\"
}
]
}" \
--user 'username':'pasword'
応答:
{
"result": {
"status": "SUCCESS"
}
}
openframe:POST /openframe/voice-interaction
エージェントがコールを受け入れたときに、インタラクション [interaction] テーブルにインタラクションレコードを作成します。サービスとしてのコンタクトセンター (CCaaS) プロバイダーは、これらのレコードを使用して通話を追跡できます。
このエンドポイントを使用すると、電話を受けるときに、チャットやケースなどの他のネイティブチャネルと同様に、エージェントに一貫したエクスペリエンスを提供できます。
URL 形式
バージョニングされた URL: /api/now/openframe/{api_version}/voice-interaction
デフォルト URL: /api/now/openframe/voice-interaction
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| インタラクション | 必須です。音声インタラクションの詳細。 少なくとも 1 つのパラメーターを渡す必要があります。 データタイプ: オブジェクト |
| interaction.additionalParams | 関連付けられたインタラクションレコードフィールドとそれぞれの値の名前と値のペア。 例: データタイプ: オブジェクト デフォルト:なし |
| interaction.callbackPhoneNumber | 発信者のコールバック電話番号。これは、コールが切断された場合に、エージェントが発信者に連絡するために使用する番号です。 データタイプ:文字列 フォーマット:E.164 デフォルト:なし |
| interaction.clientSessionId | この電話を追跡するために使用される外部システム内のレコードの一意の識別子。この情報は、2 つのシステム間でレコードをリンクします。 データタイプ:文字列 デフォルト:なし |
| interaction.inboundId | 音声サービスのアプリケーションプロバイダーの一意の識別子。 テーブル:プロバイダーチャネルアプリケーション [sys_cs_provider_application] テーブルの受信 ID フィールド。 デフォルト:なし |
| interaction.userPhoneNumber | 必須。音声インタラクションに関連付けられたコールを行ったユーザーの電話番号。 データタイプ:文字列 フォーマット:E.164 |
| interactionContext | 設定するインタラクションコンテキスト変数。インタラクションレコードに保存するインタラクションコンテキスト変数の名前と値のペア。これらの値は CCaaS によって決定されます。 例: データタイプ: オブジェクト デフォルト:なし |
| phoneLog | コールを作成して関連付ける電話ログの名前と値のペア。電話ログ [sn_open_frame_phone_log] テーブルの任意のフィールドを指定できます。 例: データタイプ:オブジェクトのアレイ デフォルト:なし |
| 関連レコード | コールに関連するレコード。 データタイプ:オブジェクトのアレイ デフォルト:なし |
| relatedRecords.documentId | 関連レコードのSys_id。 データタイプ:文字列 テーブル: relatedRecords.documentTable パラメーターで指定します。 |
| relatedRecords.documentTable | 関連レコードを含むテーブルの名前。 データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| Content-Type | 要求本文のデータ形式。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| 番号 | 成功した場合にのみ返されます。新しく作成された音声インタラクションのインタラクション番号。 データタイプ:文字列 |
| ステータス | レコード作成のステータス。 可能な値:
|
| sysId | 成功した場合にのみ返されます。新しく作成された音声インタラクションレコードのSys_id。 テーブル:インタラクション [interaction] |
cURL 要求
次のコード例は、新しいインタラクションレコードを作成する方法を示しています。
curl "http://instance.service-now.com/api/now/openframe/voice-interaction" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"interaction\":{
\"userPhoneNumber\":\"+1303506536\",
\"clientSessionId\":\"a545t65678\",
\"callbackPhoneNumber\":\"+14089965744\",
\"additionalParams\":{
\"direction\":\"inbound\",
\"short_description\":\"New outbound call\",
\"assigned_to\":\"a8f98bb0eb32010045e1a5115206fe3a\"
}
},
\"interactionContext\":{
\"devicetype\":\"genesys\",
\"requester_session_language\":\"en-US\"
},
\"phoneLogs\":[
{
\"call_id\":\"2323223\",
\"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
\"start_time\":\"2024-11-04 21:45:00\"
},
{
\"call_id\":\"33535353\",
\"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
\"start_time\":\"2024-11-04 21:45:00\"
},
{
\"call_id\":\"1997654\",
\"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
\"start_time\":\"2024-11-04 21:45:00\"
}
],
\"relatedRecords\":[
{
\"documentTable\":\"csm_consumer\",
\"documentId\":\"59e788fbdb1b1200b6075200cf9619d2\"
},
{
\"documentTable\":\"sys_user\",
\"documentId\":\"62826bf03710200044e0bfc8bcbe5df1\"
}
]
}" \
--user 'username':'password'
応答:
{
"result": {
"status": "SUCCESS",
"sysId": "12961fff7fb2d2102d0cd3cf8c86652b",
"number": "IMS0000052"
}
}