Omichannel コールバック API
Omnichannel Callback API は、コールバック要求を作成または更新し、CCaaS (Contact Center as a Service) プロバイダーから関連するメタデータを取得するためのメソッドを提供します。
- 新しい緊急コールバック要求を作成するか、新しい要求をスケジュールします。
- 最初のインタラクションとその後の再試行インタラクションを作成します。
- 既存のコールバックを更新します。
この API は sn_omni_callback 名前空間に属しており、コールバック API [sn_omni_callback.callback_api] ロールを持つアドミニストレーターが必要です。
ServiceNow AI Platform 機能としてのオムニチャネルコールバックアプリケーションの詳細については、「Omnichannel Callback」を参照してください。
Omnichannel Callback - POST /api/sn_omni_callback/callback/attempt
再試行を含む、既存のコールバックのインタラクションを開始します。
URL 形式
デフォルト URL: /api/sn_omni_callback/callback/attempt
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| コールバック ID | 必須。コールバックのSys_idまたはexternal_id。 テーブル:コールバック [sys_cs_callback] データタイプ:文字列 |
| interactionDetails | オプション。インタラクションの詳細。インタラクションの詳細が待機せずにエージェントに直接ルーティングされるように、即時コールバックタイプに使用されます。 すべてのインタラクションの詳細は、 音声インタラクションリソース - POST /cs/voice-interactionsのペイロードで渡されます。 データタイプ: オブジェクト |
| interactionDetails.callerPhoneNumber | 発信者のコールバック電話番号。これは、コールが切断された場合に、エージェントが発信者に連絡するために使用する番号です。 データタイプ:文字列 形式:E.164標準準拠 デフォルト:なし |
| interactionDetails.clientSessionId | システム間でこの電話を追跡するために使用される外部システム内のレコードの一意の識別子。これにより、ServiceNow とサードパーティプラットフォーム (CCaaS プロバイダーなど) 間の統合が可能になります。 データタイプ:文字列 形式:通常、外部システムによって生成された UUID または一意のセッショントークン デフォルト:なし |
| interactionDetails.userId | コールバックするユーザーのSys_id。 テーブル:ユーザー [user] データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| エラー | 必要な要求 ID の欠落など、コールバック作成の失敗に関する詳細を含むメッセージ。 データタイプ:文字列のアレイ |
| メッセージ | コールバックの作成の成功に関する詳細を含むメッセージ。 データタイプ:文字列のアレイ |
| 結果 | 要求の結果です。 データタイプ: オブジェクト |
| result.response | コールバック要求のコールバック ID とインタラクション ID を含むオブジェクト。 データタイプ: オブジェクト |
| result.response.interaction_id | 新しく作成されたインタラクションのSys_id。 テーブル:インタラクション [interaction] データタイプ:文字列 |
| result.status | 要求の成功または失敗のステータス。 有効な値:
データタイプ:文字列 |
cURL 要求
次の例は、最初のインタラクションとその後の再試行インタラクションの詳細を含む POST 試行要求を示しています。
curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/callback/attempt' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-u 'username':'password' \
-d ' {
"callbackId": "<ID#>",
"interactionDetails": {
"clientSessionId": "<ID#>",
"userId": "<ID#>",
"callerPhoneNumber": "+112345678901"
}
}
有効なcallback_Idが提供され、コールバックの新しいインタラクションが正常に作成されたときの応答本文。
{
"result": {
"status": "success",
"response": {
"interaction_id": "<Interaction ID#>"
}
}
}
要求に無効なcallback_Idが指定された場合の応答本文。
{
"result": {
"status": "failure",
"response": {
"interactionId": null
},
"errors": [
"Callback not found for callback ID: <ID#>"
]
}
}
指定されたコールバックのインタラクションが既に存在する場合の応答本文 (メッセージは既存のインタラクションの詳細を返します):
{
"result": {
"status": "success",
"response": {
"interaction_id": "<Interaction ID#>"
},
"messages": [
"Active Interaction <Interaction ID#> already exists for callback <ID#>"
]
}
}
Omichannel コールバック - POST /api/sn_omni_callback/callback/create
要求本文に入力された詳細に基づいて、新しい即時コールバック要求またはスケジュールされたコールバック要求を開始します。即時コールバックの場合、この API はコールバックとインタラクションの両方を作成します。スケジュールされたコールバックの場合は、コールバックと予約を作成します。
URL 形式
デフォルト URL: /api/sn_omni_callback/callback/create
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| コールバックコンテキスト | コールバック要求に関するコンテキストの詳細を含むオブジェクト。 テーブル:コールバックコンテキスト [sys_cs_callback_context] データタイプ: オブジェクト |
| callbackContext.ivr_path | 顧客が人間のエージェントに転送される前にたどる IVR (音声自動応答) パス。 通常、顧客が IVR システムで移動したキューまたはメニューオプションのリストが含まれています。この文字列は、Contact Center as a Service (CCaaS) によって渡されます。例: データタイプ:文字列 |
| callbackContext.queue | キュー内の番号割り当て。 データタイプ:文字列 |
| コールバック詳細 | コールバック要求に関する詳細を含むオブジェクト。 テーブル:コールバック [sys_cs_callback] データタイプ: オブジェクト |
| callbackDetails.appointment | 予約のSys_id。スケジュールされたコールバックタイプにのみ適用されます。テーブル:予約 [sn_apptmnt_booking_appointment_booking] データタイプ:文字列 |
| callbackDetails.channel_to_callback | コールバックをルーティングするターゲットメッセージングチャネル。 テーブル:メッセージングチャネル [sys_cs_channel]、フィールド:sys_id データタイプ:文字列 |
| callbackDetails.description | コールバックの理由を説明する詳細な説明 (必要な場合)。 データタイプ:文字列 |
| callbackDetails.end_time | コールバックの試行を停止する日時の値。スケジュールされたコールバックタイプにのみ適用されます。形式: データタイプ:文字列 |
| callbackDetails.expire_time | コールバック要求をクローズする日時。 形式: データタイプ:文字列 |
| callbackDetails.messaging_channel | コールバックのソース。Web クライアント、モバイルアプリ、埋め込みメッセンジャーなど、コールバック要求を開始したクライアントインターフェイスを識別します。 テーブル:メッセージングチャネル [sys_cs_channel]、フィールド:sys_id データタイプ:文字列 |
| callbackDetails.reason_type | コールバック要求の理由。コールバックに標準化された理由でタグを付けることで、ルーティング、分析、およびレポートに役立ちます。 有効な値:
テーブル:コールバック [sys_cs_callback]、フィールド:reason_type データタイプ:文字列 |
| callbackDetails.scheduled_date_time | コールバックを開始する日付と時刻の値。スケジュールされたコールバックタイプにのみ適用されます。形式: データタイプ:文字列 |
| callbackDetails.short_description | コールバック要求の詳細な説明を提供します。顧客の具体的な懸念事項、コンテキスト、またはエージェントからのメモを含めることができます。 データタイプ:文字列 |
| callbackDetails.user_document | コールバックを要求したユーザーのSys_id。コールバックを要求しているユーザーを識別するために callbackDetails.user_table で使用されます。 テーブル:ユーザー [sys_user]、フィールド:sys_id データタイプ:文字列 |
| callbackDetails.user_table | ユーザーレコードが存在するテーブル。コールバックを要求しているユーザーを識別するために callbackDetails.user_document で使用されます。値は常に sys_userです。データタイプ:文字列 |
| externalCallbackId | サードパーティベンダーで作成されたコールバックの外部識別子。 データタイプ:文字列 |
| inboundId | コールバックに関連付けられた着信コールのSys_id。サードパーティプロバイダーまたは CCaaS プラットフォームから発信された特定の着信コールレコードにコールバック要求をリンクするトレーサビリティを提供します。 テーブル:コールバック [sys_cs_callback]、フィールド:provider_application_id データタイプ:文字列 |
| interactionDetails | オプション。インタラクションの詳細。インタラクションの詳細が待機せずにエージェントに直接ルーティングされるように、即時コールバックタイプに使用されます。 すべてのインタラクションの詳細は、 音声インタラクションリソース - POST /cs/voice-interactionsのペイロードで渡されます。 データタイプ: オブジェクト |
| interactionDetails.callerPhoneNumber | 発信者のコールバック電話番号。これは、コールが切断された場合に、エージェントが発信者に連絡するために使用する番号です。 データタイプ:文字列 形式:E.164標準準拠 デフォルト:なし |
| interactionDetails.clientSessionId | システム間でこの電話を追跡するために使用される外部システム内のレコードの一意の識別子。これにより、ServiceNow とサードパーティプラットフォーム (CCaaS プロバイダーなど) 間の統合が可能になります。 データタイプ:文字列 形式:通常、外部システムによって生成された UUID または一意のセッショントークン デフォルト:なし |
| interactionDetails.userId | コールバックするユーザーのSys_id。 テーブル:ユーザー [user] データタイプ:文字列 |
| isExternal | コールバックが外部であり、別のサードパーティベンダーで要求されたかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| type | 必須。コールバックのタイプ。 有効な値:
データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| 結果 | 要求の結果です。 データタイプ: オブジェクト |
| result.errors | 必要な要求 ID の欠落など、コールバック作成の失敗に関する詳細を含むメッセージ。 データタイプ:文字列のアレイ |
| result.messages | コールバックの作成の成功に関する詳細を含むメッセージ。 データタイプ:文字列のアレイ |
| result.response | コールバック要求のコールバック ID とインタラクション ID を含むオブジェクト。 データタイプ: オブジェクト |
| result.response.callback_created |
新しいコールバック要求が作成されたかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| result.response.callback_id | 新しいコールバックのSys_id (該当する場合)。 テーブル:コールバック [sys_cs_callback] データタイプ:文字列 |
| result.response.interaction_id | 新しく作成されたインタラクションのSys_id。 テーブル:インタラクション [interaction] データタイプ:文字列 |
| result.status | 要求の成功または失敗のステータス。 有効な値:
データタイプ:文字列 |
cURL 要求
次の例では、エージェントが要求本文に入力した詳細に従って、簡単なコールバック要求を作成します。
curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/callback/create' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-u 'username':'password' \
-d ' {
"type": "immediate",
"callbackDetails": {
"appointment": "68cc0a5a9314521060320dd548373cbd",
"description": "Customer reported issue with order #12345",
"short_description": "Order issue",
"reason_type": "product_issue",
"expire_time": "2025-09-01 17:00",
"messaging_channel": "web_channel_sys_id",
"channel_to_callback": "genesys_channel_sys_id",
"scheduled_start_time: "2025-09-01 1:00",
"end_time": "2025-09-01 17:00",
"user_document": "abel.tuter",
"user_table": "sys_user"
},
},
"callbackContext": {
"queue": "21 value changed via api",
"ivr_path": "21 some-ivr-path changed via api"
},
"inboundId": "ServiceNowVoice",
"isExternal": true,
"externalCallbackId": "new-external-id",
"interactionDetails": {
"clientSessionId": "f8453abb-a33d-45b7-bf01-52b7a821e99z",
"userId": "32423424",
"callerPhoneNumber": "+14089178877"
}
}
応答本文は、新しく作成されたコールバック要求のコールバックとインタラクション ID を含む成功応答を返します。
{
"status": "success",
"response": {
"callback_id": "a16ead53fff0621088c6ffffffffffce",
"interaction_id": "696e6d57fff0621088c6ffffffffff7d"
}
}
インタラクションの詳細が指定されていない場合の応答本文:
{
"status": "success",
"response": {
"callback_created": true,
"callback_id": "7df2059ffffc221088c6ffffffffff0c"
}
}
コールバック ID が既に存在するが、新しいインタラクションの詳細が提供されている場合の応答本文:
{
"result": {
"status": "success",
"response": {
"interaction_id": "84054fff53786210011eddeeff7b12d6",
"callback_id": "8b43c3fb53786210011eddeeff7b12a6",
“callback_created”: false
},
"messages": [
"Successfully updated the callback 8b43c3fb53786210011eddeeff7b12a6",
"Successfully created the interaction 84054fff53786210011eddeeff7b12d6"
]
}
}
コールバック ID が既に存在するが、新しいインタラクションの詳細が指定されていない場合の応答本文:
{
"result": {
"status": "success",
"response": {
"callback_id": "8b43c3fb53786210011eddeeff7b12a6"
},
"messages": [
"Successfully updated the callback 8b43c3fb53786210011eddeeff7b12a6"
]
}
}
要求に必須フィールドがない場合の応答本文:
{
"result": {
"status": "failure",
"response": {
"callbackId": null
},
"errors": [
"Parameter 'type' is required in request"
]
}
}
Omnichannel Callback - PATCH /api/sn_omni_callback/callback/update
要求で指定された詳細に従って、既存のコールバックを更新します。
要求本文には、更新する要求パラメーターのみを指定します。
URL 形式
デフォルト URL: /api/sn_omni_callback/callback/update
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| コールバックコンテキスト | コールバック要求に関するコンテキストの詳細を含むオブジェクト。 テーブル:コールバックコンテキスト [sys_cs_callback_context] データタイプ: オブジェクト |
| callbackContext.ivr_path | 顧客が人間のエージェントに転送される前にたどる IVR (音声自動応答) パス。 通常、顧客が IVR システムで移動したキューまたはメニューオプションのリストが含まれています。この文字列は、Contact Center as a Service (CCaaS) によって渡されます。例: データタイプ:文字列 |
| callbackContext.queue | キュー内の番号割り当て。 データタイプ:文字列 |
| コールバック詳細 | コールバック要求に関する詳細を含むオブジェクト。 テーブル:コールバック [sys_cs_callback] データタイプ: オブジェクト |
| callbackDetails.appointment | 予約のSys_id。スケジュールされたコールバックタイプにのみ適用されます。テーブル:予約 [sn_apptmnt_booking_appointment_booking] データタイプ:文字列 |
| callbackDetails.channel_to_callback | コールバックをルーティングするターゲットメッセージングチャネル。 テーブル:メッセージングチャネル [sys_cs_channel]、フィールド:sys_id データタイプ:文字列 |
| callbackDetails.description | コールバックの理由を説明する詳細な説明 (必要な場合)。 データタイプ:文字列 |
| callbackDetails.end_time | コールバックの試行を停止する日時の値。スケジュールされたコールバックタイプにのみ適用されます。形式: データタイプ:文字列 |
| callbackDetails.expire_time | コールバック要求をクローズする日時。 形式: データタイプ:文字列 |
| callbackDetails.messaging_channel | コールバックのソース。Web クライアント、モバイルアプリ、埋め込みメッセンジャーなど、コールバック要求を開始したクライアントインターフェイスを識別します。 テーブル:メッセージングチャネル [sys_cs_channel]、フィールド:sys_id データタイプ:文字列 |
| callbackDetails.reason_type | コールバック要求の理由。コールバックに標準化された理由でタグを付けることで、ルーティング、分析、およびレポートに役立ちます。 有効な値:
テーブル:コールバック [sys_cs_callback]、フィールド:reason_type データタイプ:文字列 |
| callbackDetails.scheduled_date_time | コールバックを開始する日付と時刻の値。スケジュールされたコールバックタイプにのみ適用されます。形式: データタイプ:文字列 |
| callbackDetails.short_description | コールバック要求の詳細な説明を提供します。顧客の具体的な懸念事項、コンテキスト、またはエージェントからのメモを含めることができます。 データタイプ:文字列 |
| callbackDetails.user_document | コールバックを要求したユーザーのSys_id。コールバックを要求しているユーザーを識別するために callbackDetails.user_table で使用されます。 テーブル:ユーザー [sys_user]、フィールド:sys_id データタイプ:文字列 |
| callbackDetails.user_table | ユーザーレコードが存在するテーブル。コールバックを要求しているユーザーを識別するために callbackDetails.user_document で使用されます。値は常に sys_userです。データタイプ:文字列 |
| コールバック ID | 必須。コールバックのSys_idまたはexternal_id。 テーブル:コールバック [sys_cs_callback] データタイプ:文字列 |
| inboundId | コールバックに関連付けられた着信コールのSys_id。サードパーティプロバイダーまたは CCaaS プラットフォームから発信された特定の着信コールレコードにコールバック要求をリンクするトレーサビリティを提供します。 テーブル:コールバック [sys_cs_callback]、フィールド:provider_application_id データタイプ:文字列 |
| phoneNumber | 発信者の電話番号。 データタイプ:数値の文字列 形式:E.164標準準拠 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| エラー | 必要な要求 ID の欠落など、コールバック作成の失敗に関する詳細を含むメッセージ。 データタイプ:文字列のアレイ |
| メッセージ | コールバックの作成の成功に関する詳細を含むメッセージ。 データタイプ:文字列のアレイ |
| 結果 | 要求の結果です。 データタイプ: オブジェクト |
| result.response | コールバック要求のコールバック ID とインタラクション ID を含むオブジェクト。 データタイプ: オブジェクト |
| result.response.callback_created |
新しいコールバック要求が作成されたかどうかを示すフラグ。 可能な値:
データタイプ:ブーリアン |
| result.response.callback_id | 新しいコールバックのSys_id (該当する場合)。 テーブル:コールバック [sys_cs_callback] データタイプ:文字列 |
| result.response.interaction_id | 新しく作成されたインタラクションのSys_id。 テーブル:インタラクション [interaction] データタイプ:文字列 |
| result.status | 要求の成功または失敗のステータス。 有効な値:
データタイプ:文字列 |
cURL 要求
次の例では、関連するコールバック要求のコールバックの詳細を更新します。
curl -X POST 'https://instance.servicenow.com/api/sn_omni_callback/callback/update' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-u 'username':'password' \
-d ' {
"callbackDetails": {
"appointment": "68cc0a5a9314521060320dd548373cbd",
"description": "Customer reported issue with order #12345",
"short_description": "Order issue",
"reason_type": "product_issue",
"expire_time": "2025-09-01 17:00",
"messaging_channel": "web_channel_sys_id",
"channel_to_callback": "genesys_channel_sys_id",
"scheduled_start_time: "2025-09-01 1:00",
"end_time": "2025-09-01 17:00",
"user_document": "abel.tuter",
"user_table": "sys_user"
},
"callbackContext": {
"queue": "5 value changed via api",
"ivr_path": "5 some-ivr-path changed via api"
},
"inboundId": "AmazonConnect",
"phoneNumber": "+14089178877",
"callbackId": "a16ead53fff0621088c6ffffffffffce"
}
有効な既存のコールバック ID が正常に更新されたときの応答。
{
"result": {
"status": "success",
"response": {
"callback_id": "952f763b53786210011eddeeff7b1297"
},
"messages": [
"Successfully updated the callback 952f763b53786210011eddeeff7b1297"
]
}
}
"result": {
"status": "failure",
"response": {
"callbackId": null
},
"errors": [
"Callback not found for callback ID: 952f763b53786210011eddeef7b1297"
]
}
}
"result": {
"status": "failure",
"response": {
"callbackId": null
},
"errors": [
"Parameter 'callbackId' is required in request"
]
}
}