仮想エージェントボット統合 API

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:61分
  • 仮想エージェントボット統合 API は、ユーザーが任意のチャットインターフェイスまたはボットエコシステムをServiceNow 仮想エージェントまたはライブエージェントと統合できるようにするエンドポイントを提供します。

    この API は、 仮想エージェント で提供される会話型カスタムチャット統合フレームワークに基づいてビルドされ、 sn_va_as_service 名前空間で動作します。

    仮想エージェントボット統合 API のインストールと構成の詳細については、「仮想エージェント API」を参照してください。

    VA ボット統合 - POST /sn_va_as_service/bot/integration

    指定されたメッセージ、添付ファイル、または URL を指定されたセカンダリ ServiceNow 仮想エージェント (VA) ボットに送信します。

    顧客のサイトには、1 つ以上のセカンダリ ServiceNow ボットを配置できます。ServiceNow VA セカンダリボットにメッセージを渡すだけでなく、プライマリボットまたはチャットクライアントはライブエージェントチャットを介してこのエンドポイントを使用し、エージェントにメッセージを渡すことができます。要求の本文で渡された action パラメーターを使用して、指定されたコンテンツの処理方法を指定します。

    注:
    このエンドポイントは、構成方法に応じて同期または非同期のいずれかになります。非同期の場合、要求がエンドポイントによって受信されると、要求が検証され、成功または失敗のコールステータスと該当する HTTP ステータスコードが返されます。続いて VA は要求を処理し、構成された応答エンドポイントに 2 つ目の応答を送信します。たとえば、ボット間の統合の場合、2 番目の応答はプライマリボットの URL に対するものになります。これらの応答は両方とも以下で定義されています。この構成された応答エンドポイントの詳細については、「 仮想エージェント API の出力応答 REST エンドポイントと送信認証の構成」を参照してください。
    注:
    このエンドポイントのコード例の応答は、VA から構成された応答エンドポイントに送信される内容を示しています。このエンドポイントに対する実際の応答 (単純な成功または失敗の応答) は表示されません。

    URL 形式

    デフォルトの URL:/api/sn_va_as_service/bot/integration

    サポートされている要求パラメーター

    表 : 1. パスパラメーター
    名前 説明
    なし
    表 : 2. クエリパラメータ
    名前 説明
    なし
    表 : 3. 要求本文パラメーター
    名前 説明
    action VA が実行する必要があるアクション。
    有効な値:
    • AGENT:VA からライブエージェントに会話を切り替えます。
    • END_CONVERSATION:チャット会話を終了します。このアクションを使用する場合は、message.text パラメーターを空にする必要があります。
    • START_CONVERSATION:チャット会話を開始します。
    • SWITCH:intent.id または topic.name パラメーターで指定された内容と一致するトピックに会話を切り替えます。
      注:
      プライマリボットで Intent Discovery が行われた場合は、トピックの切り替えに対してのみ SWITCH アクションを使用します。ServiceNow® VA で Intent Discovery が行われる場合は、message.text パラメーターを使用します。
    • SET_USER_TIMEZONE:ユーザーのタイムゾーンを timezone パラメーターで指定されたタイムゾーンに設定します。同じパラメーターを使用してリセットするまで、このタイムゾーンは有効です。
    • TYPING/VIEWING:ライブエージェントに入力インジケーターを表示します。最初に TYPING を送信し、ユーザーが入力を終えたら VIEWING を送信します。
    • null またはパラメーターが渡されない:メッセージを ServiceNow VA に送信します。

    データタイプ:文字列

    デフォルト:null

    botToBot

    会話がボット間 (プライマリボットとセカンダリボット間など) であるかどうかを示すフラグ。

    可能な値:
    • true:ボット間の会話。
    • false:スタンドアロンの ServiceNow ボットの会話。

    データタイプ:ブーリアン

    デフォルト:true

    clientSessionId エンドユーザーが ServiceNow ボットとの通信に使用しているアプリケーション/サービスの一意のクライアントセッション識別子。この ID は、特定のユーザーの会話に関する要求/応答のセットを識別するのに役立ちます。このパラメーターの形式は、実装者が決定します。

    データタイプ:文字列

    デフォルト:null

    clientVariables 応答で返されるパススルー JSON 形式の名前と値のペア。これらの値はエンドポイントによって処理されませんが、特定の顧客情報を会話に添付するために使用できます。

    データタイプ: オブジェクト

    デフォルト:null

    contextVariables ユーザーに関する追加情報を提供する JSON 形式の名前と値のペア。この情報を入力して、会話エクスペリエンスをカスタマイズします。コンテキスト変数の詳細については、「 チャットコンテキスト変数の定義と公開」を参照してください。
    例:
    "contextVariables": {
      "requester_session_language": "es", 
      "deviceTimeZone": "America/Los_Angeles"
      "live_agent_only": "true",
      "liveagent_deviceType": "test_device_type"
      "topic": "7c3c819073a3101066c7e9344ef6a7e4" 
    } 

    データタイプ:オブジェクト

    デフォルト:null

    emailId アカウントのリンクを有効にする場合は必須です。それ以外の場合は、すべてのユーザーがゲストユーザーと見なされます。チャットクライアントのエンドユーザー、ボットがやり取りしているユーザーのメールアドレス。アカウントのリンクの詳細については、「 ServiceNow ユーザーアカウントを仮想エージェント対話用のメッセージングアプリケーションにリンクする」を参照してください。

    データタイプ:文字列

    history ユーザーによる最初の要求から開始される、ユーザーとプライマリボットの会話の履歴。

    データタイプ:オブジェクト

    "history": {
      "displayName": "String",
      "isBotMessage": Boolean,
      "type": "String",
      "value": "String"
    }

    例:

    { 
      "isBotMessage": true,
      "value": "message 1",
      "displayName": "Bot",
      "type": "text"
    }, 
    
    { 
      "isBotMessage": false,
      "value": "message 2", 
      "displayName": "User",
      "type": "text"
    } 
    history.displayName メッセージの送信先ユーザーの名前。プライマリボットの場合は、Bot を渡します。

    データタイプ:文字列

    history.isBotMessage メッセージがプライマリボットによって送信されたかどうかを示すフラグ。
    有効な値:
    • true:メッセージはプライマリボットによって送信されました。
    • false:メッセージはユーザーによって送信されました。

    データタイプ:ブーリアン

    history.type 送信されたメッセージのタイプ。

    有効な値:text

    データタイプ:文字列

    history.value 情報のコンテンツ。たとえば、メッセージテキストです。

    データタイプ:文字列

    インテント 会話の意図を説明します。action パラメーターが SWITCH に設定されている場合は、この情報を指定します。

    データタイプ:オブジェクト

    "intent": {
      "id": "String"
    }
    intent.id 会話の切り替え先となるシステムトピックの NLU インテント ID。intent.id は、チャットセッションで渡された言語に基づいて解決されます。会話の開始時に言語が渡されない場合は、ユーザーのセッション/プロファイルから言語が取得されます。

    データタイプ:文字列

    テーブル:CS トピック言語 [sys_cs_topic_language]

    メッセージ 必須。ServiceNow ボットに送信するメッセージの詳細。

    データタイプ:オブジェクト

    "message": {
      "attachment": {Object},
      "clientMessageId": "String",
      "text": "String",
      "typed": Boolean
    }
    message.attachment 添付ファイルを送信する場合は必須です。送信する各添付ファイルの詳細。

    添付ファイルは URL としてのみ渡すことができます。すべての添付ファイルに対してウイルススキャンがトリガーされます。添付ファイルのサイズに制限はありませんが、大きなファイルは転送にかなりの時間がかかる場合があります。

    データタイプ:オブジェクトのアレイ

    "attachment": [
      {
        "clientAttachmentId": "String",
        "contentType": "String",
        "fileName": "String",
        "headers":{Object},
        "url": "String"
      }
    ]
    message.attachment.clientAttachmentId ServiceNow ボットに送信する添付ファイルの一意の識別子。この識別子の形式は、実装者が決定します。

    データタイプ:文字列

    デフォルト:null

    message.attachment.contentType 添付ファイルが指定されている場合は必須です。添付ファイルの標準的な MIME タイプ。
    有効な値 (値の大文字と小文字を区別しない):
    • application/pdf
    • application/msword
    • image/png
    • image/jpeg
    • text/plain
    • video/mpeg

    データタイプ:文字列

    message.attachment.fileName 添付ファイルが指定されている場合は必須です。添付ファイルのファイル名。

    データタイプ:文字列

    message.attachment.headers 添付ファイルが非公開で保護されている場合に必要な追加情報。
    データタイプ:オブジェクト
    "headers":{
      "Authorization":"String"	
    }
    message.attachment.headers.Authorization 添付ファイルにアクセスするための認証を取得するために必要な情報 (ユーザー名やパスワードなど)。

    データタイプ:文字列

    message.attachment.url 添付ファイルが指定されている場合は必須です。添付ファイルが配置されている URL。VA はこの URL から添付ファイルを取得し、ウイルススキャンを実行してからファイルを処理します。添付ファイルが公開ファイルでない場合は、添付ファイルにアクセスできるように、認証情報を含む message.attachment.header オブジェクトを渡す必要があります。sys_cs_provider にファイル登録された信頼できるドメインに URL ドメインが存在することも確認する必要があります。

    データタイプ:文字列

    message.clientMessageId メッセージの一意の英数字識別子。この識別子の形式は、実装者が決定します。

    データタイプ:文字列

    デフォルト:null

    message.text attachmentパラメーターが指定されていない場合は必須です。メッセージのテキストです。メッセージの言語は contextVariables パラメーターで渡す必要があります。

    データタイプ:文字列

    最大長:無制限

    message.typed 必須。メッセージが入力されたか、オプション選択 (選択済み) であったかを示すフラグ。
    有効な値:
    • true:メッセージはユーザーによって入力されました。
    • false:メッセージはオプション選択です。

    データタイプ:ブーリアン

    requestId 必須。この要求に対する一意の英数字の識別子。この識別子の形式は、実装者が決定します。

    データタイプ:文字列

    silentMessage これがサイレントメッセージかどうかを示すフラグ。サイレントメッセージは、応答を必要としないメッセージです。
    有効な値:
    • true:サイレントメッセージ。応答メッセージは必要ありません。
    • false:通常のメッセージ。応答メッセージが必要です。
    注:
    silentMessage = true の要求が送信された場合、サイレント モードをオフにする要求が silentMessage = false を渡して送信されるまで、後続のすべてのボット メッセージは抑制されたままになります。

    データタイプ:ブーリアン

    デフォルト値:false

    タイムスタンプ チャットクライアントのエンドユーザーからメッセージが送信された Unix エポック時間。

    データタイプ:数値

    単位:ミリ秒

    デフォルト:現在の時刻

    タイムゾーン チャットクライアントのエンドユーザーの GMT タイムゾーン。
    例:
    "timezone":"Asia/Kolkata"

    使用可能なタイムゾーン値のリストについては、https://en.wikipedia.org/wiki/List_of_tz_database_time_zones を参照してください。

    データタイプ:文字列

    デフォルト:ServiceNow インスタンスの GMT タイムゾーン。

    topic ユーザーがトピック名を指定して特定のトピックに切り替える場合は必須です。切り替え先となるトピックの名前と値のペア。トピック名またはトピック sys_id のいずれかを指定できます。
    注:
    オブジェクトには単一のトピック名または ID のみを指定できます。

    データタイプ:オブジェクト

    "topic": {
      "name": "String",
      "id": "String"
    }

    例:

    {​ 
      "requestId": "xxxx-xxxx-xxxx-xxxx",​
      "clientSessionId": "xxx-xxx-xxx-xxx",​
      "action":"SWITCH",​
      "topic":{​ 
        "name": "Topic Name"​
      },​ 
      "userId": "beth"​ 
    }​ 
    topic.name 切り替え先となるトピックの名前。

    データタイプ:文字列

    テーブル:仮想エージェントトピック [sys_cs_topic] テーブルの名前フィールド。

    topic.id 切り替え先となるトピックの sys_id。

    データタイプ:文字列

    テーブル:仮想エージェントトピック [sys_cs_topic]

    userId 必須。一意のユーザー識別子。これは、ボットとやり取りしているエンドユーザーの識別子です。

    データタイプ:文字列

    ヘッダー

    次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 4. 要求ヘッダー
    ヘッダー 説明
    承認 応答本文のデータフォーマット。application/json のみをサポートします。
    Content-Type 要求本文のデータ形式。application/json のみをサポートします。
    トークン トークンベースの認証を使用する場合は必須です。ベーシック認証または OAuth 認証ではオプションです。このエンドポイントにトークン認証が設定されている場合に使用する認証トークン。

    データタイプ:文字列

    表 : 5. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 6. ステータスコード
    ステータスコード 説明
    200 成功。要求が正常に処理されました。
    ステータスコード 200 を受信しても応答が返されない場合は、次の点を確認してください。
    • 要求が静的、JWT、またはハッシュベースのトークン検証で失敗しているかどうか (通常は 仮想エージェントのワーカースレッドで発生します)。
    • 要求本文の形式が正しいかどうか。正しくない場合、変換は正しく行われません。
    • 要求本文に必須パラメーターが欠落しているかどうか。ServiceNow インスタンスのシステムログで例外とエラーをトレースできます。
    • 応答を受信するために REST メッセージで定義されたサイトが稼働していて、ログで検出できるかどうか。
    • 応答の投稿先を定義する REST メッセージが正しく設定されていることを確認します。
    400 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。
    401 権限がありません。ユーザー資格情報が間違っているか、渡されていません。
    405 無効なメソッドです。この機能は無効です。
    500 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。

    応答本文のパラメーター

    エンドポイントコールのステータス。これは、最初のコール要求の受信時に送信されます。要求はまだ処理されていません。

    [Name (名前)] 説明
    error 検出されたエラーの説明。エラーが発生した場合にのみ返されます。

    データタイプ:オブジェクト

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail 発生したエラーに関する詳細。

    データタイプ:文字列

    error.message スローされたエラーメッセージ。

    データタイプ:文字列

    status エンドポイントコールのステータス。
    有効な値:
    • failure
    • success

    データタイプ:文字列

    VA 応答本文のパラメーター

    VA から構成された応答エンドポイントに送信される応答本文。

    名前 説明
    agentChat 会話が ServiceNow ライブエージェントに接続されているかどうかを示すフラグ。
    可能な値:
    • true:チャットメッセージはライブエージェントから送信されます。
    • false:チャットメッセージはボットから送信されており、このパラメーターは応答で返されません。

    データタイプ:ブーリアン

    body 応答メッセージ本文の要素を説明するオブジェクトのリスト。

    データタイプ:オブジェクトのアレイ

    "body": [
      {
        "actionType": "String",
        "agentInfo": {Object},
        "data": "String",
        "group": "String",
        "header": "String",
        "height": Number,
        "itemType": "String",
        "label": "String",
        "maskType": "String",
        "maxCount": Number,
        "maxSize": Number,
        "message": "String",
        "multiSelect": Boolean,
        "nluTextEnabled": Boolean,
        "options": {Object},
        "promptMsg": "String",
        "required": Boolean,
        "style": "String",
        "templateName": "String",
        "type": "String",
        "uiType": "String",
        "value": "String/{Object}",
        "width": Number
      }
    ]
    body.actionType セカンダリボットからプライマリボットにディスパッチされるアクションメッセージのタイプ。たとえば、入力インジケーターまたはエージェントの待機時間です。
    可能な値:
    • EndTypeingIndicator
    • StartSpinner
    • StartTypeingIndicator

    例:

    入力インジケーターが有効になっている場合は、StartTypeIndicator をプライマリボットに送信します。

    "body": {​ 
      "uiType":"ActionMsg",​ 
      "actionType":"StartTypingIndicator"​ 
    }  

    ライブエージェントへの転送時に StartSpinner を送信してエンドユーザーに待機時間を表示します。

    "body": { 
      "uiType":"ActionMsg", 
      "actionType":"StartSpinner", 
      "spinnerType":"wait_time",  
      "message":"Routing you to a live agent...", 
      "waitTime":"8 Seconds" 
    } 

    データタイプ:文字列

    body.agentInfo エージェントチャットセットアップで有効になっている場合、関連付けられたエージェントの名前とアバター。
    データタイプ: オブジェクト
    "agentInfo":{   
      "agentAvatar":"String",
      "agentName": "String", 
      "sentFromAgent": Boolean
    }

    例:

    "agentInfo":{ 
      "sentFromAgent": true,
      "agentName":"Beth Anglin", 
      "agentAvatar":"https://instance.servicenow.com/ee4eebf30a0004d963b5c5ac0d734dc4.iix?t=small" 
    } 
    body.agentInfo.agentAvatar エージェントに関連付けられたアバターファイルの URL。

    例:「https://instance.servicenow.com/ee4eebf30a0004d963b5c5ac0d734dc4.iix?t=small」

    データタイプ:文字列

    body.agentInfo.agentName エージェントの表示名。

    データタイプ:文字列

    body.agentInfo.sentFromAgent メッセージがライブエージェントによって送信されたかどうかを示すフラグ。
    可能な値:
    • true:ライブエージェントによって送信されました。
    • false:仮想エージェントによって送信されました。

    データタイプ:ブーリアン

    body.data カード内のデータを定義する JSON 文字列。

    データタイプ:文字列

    body.group 本文要素が属するリッチコントロールグループ。送信変換スクリプトを記述することで、これらのデフォルトのコントロールをさらに変換できます。これらのスクリプトの詳細については、「 仮想エージェントアクションスクリプト」を参照してください。
    可能な値:
    • DefaultOutputCard
    • DefaultDate
    • DefaultGroupedPartsOutputControl
    • DefaultHtml
    • DefaultOutputImage
    • DefaultOutputLink
    • DefaultText
    • DefaultPicker

    データタイプ:文字列

    body.header リンクヘッダー。

    データタイプ:文字列

    body.height HTML 要素の高さ。

    データタイプ:数値

    単位:ピクセル

    body.itemType 本文要素のタイプ。
    可能な値:(大文字と小文字を区別)
    • DefaultText
      • File
      • Image
      • Inputtext
      • outputtext
    • DefaultPicker
      • Picture:アイテムがカルーセルに表示されます。
      • List:アイテムはドロップダウンスタイルのリストに表示されます。

    データタイプ:文字列

    body.label 関連する要素に表示するラベル。

    データタイプ:文字列

    body.maskType 関連データの機密性。
    可能な値:
    • なし:関連データは一般的な性質のものであり、セキュリティで保護する必要はありません。
    • SECURE:関連データは機密性の高いものであり、安全に処理する必要があります。

    データタイプ:文字列

    body.maxCount uiTypeが FileUpload の場合にのみ返されます。一度にアップロードできる添付ファイルの最大数。

    データタイプ:数値 (整数)

    body.maxSize uiTypeが FileUpload の場合にのみ返されます。アップロードできる添付ファイルの最大サイズ。

    データタイプ:数値 (整数)

    単位:メガバイト

    body.message actionTypeStartSpinner の場合にのみ返されます。ユーザーに表示するメッセージ。

    データタイプ:文字列

    body.multiSelect ユーザーが複数のオプションを選択できるかどうかを示すフラグ。
    可能な値:
    • true:複数の選択。
    • false:単一の選択。

    データタイプ:ブーリアン

    body.nluTextEnabled ユーザーのチャットクライアントが Natural Language Understanding (NLU) テキストメッセージを受信できるかどうかを示すフラグ。
    可能な値:
    • true:NLU メッセージを受信できます。
    • false:NLU メッセージを受信できません。

    データタイプ:ブーリアン

    body.options ピッカーコントロールに使用できるオプションを説明するリスト。
    データタイプ:オブジェクトのアレイ
    "options": [
      {
        "attachment": "String",
        "description": "String",
        "enabled": Boolean,
        "label": "String",
        "renderStyle": "String",
        "value": "String"
      }
    ]
    body.options.attachment 取得するカルーセル内の画像の URL。

    データタイプ:文字列

    body.options.description カルーセルアイテムの説明。

    データタイプ:文字列

    body.options.enabled エンドユーザーのチャットクライアントでピッカーコントロールが有効になっているかどうかを示すフラグ。ボット間の実装では、ピッカーコントロールが無効になっていることを確認するのはプライマリボットです。
    可能な値:
    • true:有効
    • false:無効

    データタイプ:ブーリアン

    body.options.label 関連する body.options.value パラメーターに表示するラベル。

    データタイプ:文字列

    body.options.renderStyle 関連する要素をレンダリングするときに使用するスタイル。

    可能な値:data

    データタイプ:文字列

    body.options.value 関連する body.options.label パラメーターに表示する値。

    データタイプ:文字列

    body.promptMsg ピッカーコントロールで表示するプロンプトメッセージ。

    データタイプ:文字列

    body.required エンドユーザーが本文要素のクエリに応答する必要があるかどうかを示すフラグ。
    可能な値:
    • true:必須
    • false:オプション

    データタイプ:ブーリアン

    body.spinnerType actionTypeStartSpinner の場合にのみ返されます。チャットユーザーに表示されるスピナーのタイプ。

    可能な値:

    wait_time:ライブエージェントに転送されるまでの遅延時間を示すメッセージ。

    データタイプ:文字列

    body.style 本文要素のスタイル。
    可能な値:
    • button
    • carousel
    • list
    • null

    データタイプ:文字列

    body.templateName 関連するカードを表示するために使用するテンプレートの名前。

    データタイプ:文字列

    body.type DefaultOutputLink に対してのみ返されます。返されるデータのタイプ。

    可能な値:link

    データタイプ:文字列

    body.uiType 本文要素のタイプ。可能な値は body.group パラメーターの値によって異なります。これらの値は、仮想エージェントデザイナーで定義されたコントロールにマッピングされます。詳細については、「 仮想エージェントデザイナーの概要」を参照してください。
    可能な値:
    • ActionMsg
    • DefaultOutputCard

      OutputCard

    • DefaultDate
      • Date
      • DateTime
      • Time
    • DefaultGroupedPartsOutputControl

      GroupedPartsOutputControl

    • DefaultHtml

      OutputHtml

    • DefaultOutputImage

      OutputImage

    • DefaultOutputLink

      OutputLink

    • DefaultText
      • InputText
      • OutputText
      • FileUpload
    • DefaultPicker
      • Picker
      • TopicPickerControl
      • ブーリアン

    データタイプ:文字列

    body.value 本文要素を処理するために使用するデータ。返される情報のタイプは、本文要素のタイプによって異なります。
    OutputLink:オブジェクト。
    "value": {
      "action": "String"
    }

    OutputImage:文字列。画像 URL。

    OutputHtml:文字列。クライアントが表示する必要がある HTML。

    データタイプ:文字列またはオブジェクト

    body.value.action DefaultOutputLink に対してのみ返されます。返されるリンクの URL。

    データタイプ:文字列

    body.waitTime ユーザーがライブエージェントに接続するまでに待機する必要がある時間。

    データタイプ:文字列

    body.width 関連する HTML 要素の幅。

    データタイプ:数値

    単位:ピクセル

    clientSessionId エンドユーザーが ServiceNow ボットとの通信に使用しているチャットアプリケーション/サービスの一意のクライアントセッション識別子。

    データタイプ:文字列

    clientVariables 要求本文の clientVariables パラメーターで渡されるものからコピーされた、JSON 形式の名前と値のペア。これらの値はエンドポイントによって処理されませんが、特定の顧客情報を会話に添付するために使用できます。

    データタイプ: オブジェクト

    completed ServiceNow 仮想エージェントが会話を正常に完了したかどうかを示すフラグ。
    可能な値:
    • true:会話は正常に完了しています。
    • false:会話が完了しておらず、このパラメーターは応答で返されません。

    データタイプ:ブーリアン

    enterpriseId 現在、使用されていません。
    message ServiceNow VA に送信されたメッセージの詳細。これは、メッセージオブジェクトで渡されたものと同じです。

    データタイプ: オブジェクト

    "message": {
      "attachment": {Object},
      "clientMessageId": "String",
      "text": "String",
      "typed": Boolean
    }
    message.attachment 添付ファイルの詳細。添付ファイルはファイルまたは URL のいずれかです。

    データタイプ:オブジェクト

    "attachment": {
      "clientAttachmentId": "String",
      "contentType": "String",
      "fileName": "String",
      "url": "String"
    message.attachment.clientAttachmentId ServiceNow VA に送信された添付ファイルの一意の識別子。この識別子の形式は、実装者が決定します。

    データタイプ:文字列

    message.attachment.contentType 添付ファイルの標準的な MIME タイプ。
    可能な値 (大文字と小文字を区別しない):
    • application/msword
    • アプリケーション/PDF
    • image/jpeg
    • image/png
    • テキスト/プレーン
    • video/mpeg

    データタイプ:文字列

    message.attachment.fileName 添付ファイルのファイル名。

    データタイプ:文字列

    message.attachment.url 添付ファイルが配置されている URL。

    データタイプ:文字列

    message.clientMessageId メッセージの一意の英数字識別子。

    データタイプ:文字列

    message.text メッセージのテキスト。

    データタイプ:文字列

    最大長:無制限

    message.typed メッセージが入力されたか、オプション選択 (選択済み) であったかを示すフラグ。
    可能な値:
    • true:メッセージはユーザーによって入力されました。
    • false:メッセージはオプション選択です。

    データタイプ:ブーリアン

    nowBotId 現在、使用されていません。
    nowSessionId 現在、使用されていません。
    requestId この要求に対する一意の識別子。

    データタイプ:文字列

    スコア ServiceNow NLU モデルからのインテント信頼スコア。87.3% など、パーセントで指定します。このスコアにより、プライマリボットは、プライマリボットの NLU モデルの信頼性しきい値に基づいて、関連するインテントを表示するかどうかを決定できます。ServiceNow NLU モデルの信頼度しきい値は、プライマリボットの NLU モデルの信頼度しきい値をすべてのセカンダリボットに一貫して適用できるように、ServiceNow インスタンスで無視されます。

    データタイプ:数値

    takeControl ServiceNow 仮想エージェントがコントロールをプライマリボットに戻すことを希望していることを示すフラグ。
    可能な値:
    • true:コントロールをプライマリボットに返します。
    • false:コントロールを保持します。

    データタイプ:ブーリアン

    デフォルト値:false

    userId ボットとやり取りしているエンドユーザーの識別子。

    データタイプ:文字列

    START_CONVERSATION アクションを使用して会話を開始する

    次の例は、 START_CONVERSATION アクションを使用して仮想エージェントとの会話を開始する方法を示しています。このコールにより、ユーザーは挨拶トピックに誘導されます。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{ 
      "requestId": "asd2423-sda23-qwe23-we23", 
      "action": "START_CONVERSATION", 
      "enterpriseId": "ServiceNow", 
      "nowBotId": "A85PWLERF", 
      "clientSessionId": "", 
      "nowSessionId": "",
      "message":{ 
        "text": "", 
        "typed": true, 
        "clientMessageId": "ABC-123" 
      }, 
      "userId": "beth.anglin", 
      "emailId": "beth.anglin@example.com", 
      "timestamp": 1588824102, 
      "timezone": "America/New_York" 
    }"
    --user "username":"password"
    

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    { 
      "requestId":"asd2423-sda23-qwe23-we23", 
      "clientSessionId":"", 
      "nowSessionId":"", 
      "message":{ 
        "text":"", 
        "typed":true, 
        "clientMessageId":"ABC-123" 
      },
      "userId":"beth.anglin", 
      "body":[ 
        { 
          "uiType":"OutputText", 
          "group":"DefaultText", 
          "value":"Hi, I'm your Virtual Agent. Let me know how I can help you today.", 
          "maskType":"NONE" 
        },
        { 
          "uiType":"TopicPickerControl", 
          "group":"DefaultPicker", 
          "nluTextEnabled":false, 
          "promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type help any time when you need help.", 
          "label":"Show me everything", 
          "options":[ 
            { 
              "label":"b2b topic", 
              "value":"2bb7bd7670de6010f877c7f188266fc7", 
              "enabled":true 
            }, 
            { 
               "label":"Live Agent Support.", 
               "value":"ce2ee85053130010cf8cddeeff7b12bf", 
               "enabled":true 
            } 
          ] 
        }
      ],
      "score":1 
    } 

    発言を使用してライブエージェントに会話を転送する

    次の例は、message.text パラメーターに発言として agent を渡すことで、挨拶トピックをバイパスして会話をライブエージェントに転送する方法を示しています。可能な発言の値は sys_cs_contextual_action テーブルで定義されます。コンテキストアクションの詳細については、「 カスタムチャット統合のコンテキストアクション」を参照してください。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: ORANGE" \
    --data " {
      "requestId": "322bas2be70-sadsa-we32-3eq2-1231ra9",
      "botToBot": true,
      "clientSessionId": "",
      "silentMessage": false,
      "message":{
        "text": "agent",
        "typed": true
      },
      "userId": "abel.tuter",
      "emailId": "abel.tuter@servicenow.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"322bas2be70-sadsa-we32-3eq2-1231ra9",
      "clientSessionId":"",
      "message":{
        "text":"agent",
        "typed":true
      },
      "userId":"abel.tuter",
      "body":[
        {
          "uiType":"Picker",
          "group":"DefaultPicker",
          "required":true,
          "nluTextEnabled":false,
          "label":"I want to be sure I got this right. What item best describes what you want to do?",
          "itemType":"List",
          "style":"list",
          "multiSelect":false,
          "options":[
            {
              "label":"Live Agent Support.",
              "value":"Live Agent Support.",
              "renderStyle":"data",
              "enabled":false
            },
            {
              "label":"Virtual Agent Capabilities.",
              "value":"Virtual Agent Capabilities.",
              "renderStyle":"data",
              "enabled":false
            },
            {
              "label":"I want something else",
              "value":"-1",
              "renderStyle":"data",
              "enabled":false
            }
          ],
          "scriptedData":null
        }
      ],
      "score":1
    }

    ユーザーの選択に基づいてライブエージェントサポートに会話を転送する

    次の例は、前のインタラクションからのユーザーの選択に基づいて会話をライブエージェントサポートに転送することを示しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: ORANGE" \
    --data "{
      "requestId": "322bas2be70-sadsa-we32-3eq2-1231ra9",
      "botToBot": true,
      "clientSessionId": "",
      "silentMessage": false,
      "message":{
        "text": "Live Agent Support.",
        "typed": true
      },
      "userId": "abel.tuter",
      "emailId": "abel.tuter@servicenow.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    } "

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"322bas2be70-sadsa-we32-3eq2-1231ra9",
      "clientSessionId":"",
      "message":{
        "text":"Live Agent Support.",
        "typed":true
      },
      "userId":"abel.tuter",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "value":"Please stand by while I connect you to a live agent."
        }
      ],
      "agentChat":true,
      "score":1
    }

    アクションパラメーターを設定して仮想エージェントの会話を終了する

    次の例は、action パラメーターを END_CONVERSATION に設定して仮想エージェントの会話を終了する方法を示しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "s345ew-sjg554-qwe23-we23",
      "action": "END_CONVERSATION",
      "enterpriseId": "ServiceNow",
      "nowBotId": "A85PWLERF",
      "clientSessionId": "",
      "nowSessionId": "",
      "message":{
        "text": "b2b topic",
        "typed": true,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "emailId": beth.anglin@example.com,
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"
    --user "username":"password"
    

    終了した会話を示す、VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"s345ew-sjg554-qwe23-we23",
      "clientSessionId":"",
      "nowSessionId":"",
      "message":{
        "text":"",
        "typed":true,
        "clientMessageId":"ABC-123"
      },
      "userId":"beth.anglin",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "value":"The conversation has ended. If you need help again, type hi.",
          "maskType":"NONE"
        }
      ],
      "score":1
    }

    アクションパラメーターを設定してライブエージェントの会話を終了する

    次の例は、action パラメーターを END_CONVERSATION に設定してライブエージェントの会話を終了する方法を示しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "sad-sjg554-qwe23-we23",
      "action": "END_CONVERSATION",
      "enterpriseId": "ServiceNow",
      "nowBotId": "A85PWLERF",
      "clientSessionId": "",
      "nowSessionId": "",
      "message":{
        "text": "",
        "typed": true,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "emailId": "beth.anglin@example.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"
    --user "username":"password"
    

    終了した会話を示す、VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"sad-sjg554-qwe23-we23",
      "clientSessionId":"",
      "nowSessionId":"",
      "message":{
        "text":"",
        "typed":true,
        "clientMessageId":"ABC-123"
      },
      "userId":"beth.anglin",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "value":"The conversation has ended. If you need help again, type hi.",
          "maskType":"NONE"
        }
      ],
      "completed":true,
      "score":1
    }

    sys_cs_contextual_action テーブルで定義されたコマンドを発言として使用して仮想エージェントとの会話を開始する

    次の例は、前の例のように action パラメーターを START_CONVERSATION に設定する代わりに、sys_cs_contextual_action テーブルで定義された Hi コマンドを発言として使用して仮想エージェントとの会話を開始する方法を示しています。この例では、Hi コマンドの言語バリアントの 1 つである「hola」を使用しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: ORANGE" \
    --data "{
      "requestId": "302bas2be70-sadsa-we32-3eq2-1231ra9",
      "botToBot": true,
      "clientSessionId": "",
      "silentMessage": false,
      "message":{
        "text": "hola",
        "typed": true
      },
      "userId": "fred.ludy",
      "emailId": "abel.tuter@servicenow.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    { 
      "requestId":"302bas2be70-sadsa-we32-3eq2-1231ra9", 
      "clientSessionId":"",
      "message":{ 
        "text":"hola", 
        "typed":true
      }, 
      "userId":"fred.ludy", 
      "body":[
        { 
          "uiType":"OutputText", 
          "group":"DefaultText",
          "value":"Hi, I'm your Virtual Agent. Let me know how I can help you today.",
          "maskType":"NONE"
        },
        { 
          "uiType":"TopicPickerControl", 
          "group":"DefaultPicker",
          "nluTextEnabled":false,
          "promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type hellllp! any time when you need help.", 
          "label":"Show me everything",
          "options":[
            {
              "label":"boolean check",
              "value":"1b5257a1db712010d3d6d9595e9619f3",
              "enabled":true
            },
            { 
              "label":"Test_table_datepicker",
              "value":"6515f0cadb4220108249f7541d961980",
              "enabled":true
            }, 
            { 
              "label":"Test File upload",
              "value":"76c1f4b2db7520108249f7541d9619a7",
              "enabled":true
            },
            { 
              "label":"Test B2B 2",
              "value":"8373e55cdb8120108249f7541d96196d",
              "enabled":true
            },
            {
              "label":"FAQ Conversation Builder_Global",
              "value":"9f3114a3dbc520108249f7541d961981",
              "enabled":true
            },
            {
              "label":"Get to know you",
              "value":"a443dd6adb812010d3d6d9595e961954", 
              "enabled":true
            }, 
            { 
              "label":"Get to know you_Global", 
              "value":"b1a56b87db8120108249f7541d9619b2", 
              "enabled":true 
            },
            {
              "label":"Live Agent Support.",
              "value":"ce2ee85053130010cf8cddeeff7b12bf",
              "enabled":true
            },
            {
              "label":"Apply for PTO_B2B NLU",
              "value":"d948c94cdb052010d3d6d9595e961969",
              "enabled":true 
            }
          ]
        } 
       ], 
       "score":1 
    } 

    sys_cs_contextual_action テーブルで定義されたコマンドを発言として使用して会話を終了する

    次の例は、前の例のように actionEND_CONVERSATION に設定する代わりに、sys_cs_contextual_action テーブルで定義された Bye コマンドを発言として使用して仮想エージェントとの会話を終了する方法を示しています。この例では、Bye コマンドの言語バリアントの 1 つである「choa」を使用しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: ORANGE" \
    --data "{
      "requestId": "302bas2be70-sadsa-we32-3eq2-1231ra9",
      "botToBot": true,
      "clientSessionId": "",
      "silentMessage": false,
      "message":{
        "text": "choa",
        "typed": true
      },
      "userId": "fred.ludy",
      "emailId": "abel.tuter@servicenow.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"302bas2be70-sadsa-we32-3eq2-1231ra9",
      "clientSessionId":"",
      "message":{ 
        "text":"chao",
        "typed":true
      }, 
      "userId":"fred.ludy",
      "body":[ 
        {
          "uiType":"Picker",
          "group":"DefaultPicker",
          "required":true,
          "nluTextEnabled":false,
          "label":"Please make a selection.",
          "itemType":"List",
          "style":"list",
          "multiSelect":false,
          "options":[
            {
              "label":"End conversation",
              "value":"1",
              "renderStyle":"data",
              "enabled":false
            }, 
            {
              "label":"Cancel",
              "value":"0",
              "renderStyle":"data",
              "enabled":false
            } 
          ],
          "scriptedData":null 
        }
      ],
      "score":1 
    }

    SWITCH アクションパラメーターを使用して進行中の会話を変更する

    次の例は、SWITCH action パラメーターを使用して、進行中の会話を intent.id パラメーターの指定内容と一致するトピックに変更する方法を示しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "sdfsfs-hgfhg-34fssd-zxcz-sd43",
      "enterpriseId": "ServiceNow",
      "nowBotId": "A85PWLERF",
      "clientSessionId": "",
      "nowSessionId": "",
      "action": "SWITCH",
      "intent" : {
        "id": "Saloon Vehicle"
      },
      "message":{
        "typed": true,
        "clientMessageId": "ABC-123"
      },
      "userId": "Guest",
      "timestamp": 1588824102,
      "timezone": "America/New_York"
    }"
    --user "username":"password"
    

    VA が新しいトピックに切り替えられたことを示す、VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
       "requestId":"sdfsfs-hgfhg-34fssd-zxcz-sd43",
       "clientSessionId":"",
       "nowSessionId":"",
       "message":{
          "typed":true,
          "clientMessageId":"ABC-123"
       },
       "userId":"Guest",
       "body":[
          {
             "uiType":"InputText",
             "group":"DefaultText",
             "required":true,
             "nluTextEnabled":false,
             "label":"limo input:",
             "maskType":"NONE"
          }
       ],
       "score":1
    }

    発言の 自然言語理解 (NLU) (NLU) 信頼スコアを取得する

    次の例は、VA でNLUが有効になっている場合に発言の信頼スコアNLUを取得する方法を示しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "sdfsfs-hgfhg-34fssd-zxcz-sd43", 
      "enterpriseId": "ServiceNow", 
      "nowBotId": "A85PWLERF", 
      "clientSessionId": "", 
      "nowSessionId": "", 
      "message":{ 
        "text": "most popular choice", 
        "typed": true, 
        "clientMessageId": "ABC-123" 
      }, 
      "userId": "Guest", 
      "timestamp": 1588824102, 
      "timezone": "America/New_York" 
    }"
    --user "username":"password"
    

    NLU 信頼スコアを示す、VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    { 
      "requestId":"sdfsfs-hgfhg-34fssd-zxcz-sd43", 
      "clientSessionId":"", 
      "nowSessionId":"", 
      "message":{ 
        "text":"most popular choice", 
        "typed":true, 
        "clientMessageId":"ABC-123" 
      }, 
      "userId":"Guest", 
      "body":[ 
        { 
          "uiType":"InputText", 
          "group":"DefaultText", 
          "required":true, 
          "nluTextEnabled":false, 
          "label":"model input:", 
          "maskType":"NONE" 
        }
      ], 
      "score":"0.92" 
    }

    特定のキューのライブエージェントに会話を転送する

    次の例は、会話を特定のキューのライブエージェントに転送する方法を示しています。最初に特定の条件でキューを設定する必要があります。次に、これらの条件を要求本文の contextVariables として渡します。作業項目キューの作成の詳細については、「 作業項目キューの作成」を参照してください。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "requestId": "34re-dasd-qwe23-dsds", // Unique value for a message (hash)
      "enterpriseId": "ServiceNow", // ServiceNow (Optional
      "nowBotId": "A85PWLERF", // In case of multiple ServiceNow secondary bots (one for HR, one for ITSM)
      "action":"AGENT", // Actions to close conversation. Other possible value is END_CONVERSATION
      "clientSessionId": "", // Client conversation id
      "nowSessionId": "", // ServiceNow conversation id
      "message":{
        "text": "How are you?", // User passed message
        "typed": true, // typed or clicked
        "clientMessageId": "ABC-123"
      },
      "userId": "abraham.lincoln", // User’s id in their system
      "emailId": "abraham.lincoln@example.com",
      "timestamp": 1588824102,
      "timezone": "America/New_York",
      "contextVariables":{
        "b2b_category":"humanresource"
      } 
    }"
    --user "username":"password"
    

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"34re-dasd-qwe23-dsds",
      "clientSessionId":"",
      "nowSessionId":"",
      "message":{
        "text":"How are you?",
        "typed":true,
        "clientMessageId":"ABC-123"
       },
       "userId":"abraham.lincoln",
       "body":[
         {
           "uiType":"OutputText",
           "group":"DefaultText",
           "value":"I am sorry but I didn't understand your request.",
           "maskType":"NONE"
        },
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "value":"Please try giving me your request in a different way. I'm currently better at understanding short sentences.",
          "maskType":"NONE"
        },
        {
          "uiType":"TopicPickerControl",
          "group":"DefaultPicker",
          "nluTextEnabled":false,
          "promptMsg":"Hi guest, please enter your request or make a selection of what I can help with. You can type help any time when you need help.",
          "label":"Show me everything",
          "options":[
            {
              "label":"Live Agent Support.",
              "value":"ce2ee85053130010cf8cddeeff7b12bf",
              "enabled":true
            }
          ]
        }
      ],
      "score":0
    }

    公開アプリケーション/PDF 添付ファイルを転送する

    この例は、公開アプリケーション/PDF 添付ファイルを転送する方法を示しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: BOT_Token" \
    --data "{
      "requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId": "U94CSJLEN",
      "message": {
        "attachment": {
        "clientAttachmentId": "my-unique-identifier",
        "contentType": "application/pdf",
        "fileName": "MY PDF TEST",
        "url": "http://www.africau.edu/images/default/sample.pdf"
        }
      },
      "userId": "U94CSJLEN",
      "emailId": "admin@example.com"
    }"
    --user "username":"password"
    

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId":"U94CSJLEN",
      "message":{
        "attachment":{
          "clientAttachmentId":"my-unique-identifier",
          "contentType":"application/pdf",
          "fileName":"MY PDF TEST",
          "url":"http://www.africau.edu/images/default/sample.pdf"}
        },
        "userId":"U94CSJLEN",
        "body":[
          {
            "uiType":"OutputText",
            "group":"DefaultText",
            "required":false,
            "nluTextEnabled":false,
            "label":"File got",
            "maskType":"NONE",
            "itemType":"outputtext"
          },
          {
            "uiType":"OutputText",
            "group":"DefaultText",
            "required":false,
            "nluTextEnabled":false,
            "label":"The conversation has ended. If you need help again, type hi.",
            "maskType":"NONE",
            "itemType":"outputtext"
           }
        ],
      "completed":true,
      "score":1
    }

    ビデオ/mpeg 添付ファイルを転送する

    この例は、ビデオ/mpeg 添付ファイルをアップロードするための要求/応答を示しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: BOT_TOKEN" \
    --data "{
      "requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId": "U94CSJLEN",
      "message": {
        "attachment": {
        "clientAttachmentId": "my-unique-identifier10",
        "contentType": "video/mpeg",
        "fileName": "MY TEST10.mp4",
        "url": "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
        }
      },
      "userId": "U94CSJLEN",
      "emailId": "admin@example.com"
    }"
    --user "username":"password"
    

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId":"U94CSJLEN",
      "message":{
        "attachment":{
          "headers":{
            "Authorization":"Basic amFzbWluZS53YWRod2FuaWE6VGVzdGluZ0AxMjM="
          },
          "clientAttachmentId":"my-unique-identifier10",
          "contentType":"video/mpeg",
          "fileName":"MY TEST10.mp4",
          "url":"https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
        }
      },
      "userId":"U94CSJLEN",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "required":false,
          "nluTextEnabled":false,
          "label":"File got",
          "maskType":"NONE",
          "itemType":"outputtext"
        },
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "required":false,
          "nluTextEnabled":false,
          "label":"The conversation has ended. If you need help again, type hi.",
          "maskType":"NONE","itemType":"outputtext"
        }
      ],
      "completed":true,
      "score":1
    }

    画像/jpeg 添付ファイルを転送する

    この例は、画像/jpeg 添付ファイルをアップロードするための要求/応答を示しています。

    curl "https://instance.servicenow.com/api/sn_va_as_service/bot/integration" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --header "token: BOT_TOKEN" \
    --data "{
      "requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId": "U94CSJLEN",
      "message": {
        "attachment": {
          "clientAttachmentId": "my-unique-identifier10",
          "contentType": "image/jpeg",
          "fileName": "MY TEST10.jpg",
          "url": "https://image.imagestock.com/image-photo/pink-butterfly-isolated-on-white-260nw-1218104047.jpg"
        }
      },
      "userId": "U94CSJLEN",
      "emailId": "admin@example.com"
    }"
    --user "username":"password"
    

    VA から構成済み応答エンドポイントに送信される応答本文は次のとおりです。

    {
      "requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c",
      "clientSessionId":"U94CSJLEN",
      "message":{
        "attachment":{
          "headers":{
            "Authorization":"Basic amFzbWluZS53YWRod2FuaWE6VGVzdGluZ0AxMjM="
          },
          "clientAttachmentId":"my-unique-identifier10",
          "contentType":"image/jpeg",
          "fileName":"MY TEST10.jpg",
          "url":"https://image.imagestock.com/image-photo/pink-butterfly-isolated-on-white-260nw-1218104047.jpg"
        }
      },
      "userId":"U94CSJLEN",
      "body":[
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "required":false,
          "nluTextEnabled":false,
          "label":"File got",
          "maskType":"NONE",
          "itemType":"outputtext"
        },
        {
          "uiType":"OutputText",
          "group":"DefaultText",
          "required":false,
          "nluTextEnabled":false,
          "label":"The conversation has ended. If you need help again, type hi.",
          "maskType":"NONE",
          "itemType":"outputtext"
        }
      ],
      "completed":true,
      "score":1
    }