CCCIF メディアリソース API
カスタムチャットチャットボット相互運用性フレームワーク (CCCIF) メディアリソース API は、プライマリボットが関連する ServiceNow インスタンスに添付ファイルをアップロードできるようにするエンドポイントを提供します。
プライマリボットでこの API を呼び出して、 仮想エージェント (VA) を介して会話しているユーザーからプライベート添付ファイルをアップロードします。次に、この API によって返される mediaUrl パラメーターを VA API に送信する必要があります。
添付ファイルが公開されている場合は、 仮想エージェントボット統合 コールの要求本文で添付ファイルの URL を送信するだけです。
この API にアクセスするには、会話型カスタムチャット統合 (com.glide.cs.custom.adapter) プラグインを有効にする必要があります。さらに、添付ファイルのシステムプロパティを設定する必要があります。
仮想エージェント API の機能の詳細については、「Virtual Agent API」を参照してください。
CCCIF - POST /cccif/media/upload
呼び出し側の ServiceNow インスタンスにプライベート添付ファイルをアップロードします。このインスタンスは添付ファイル [sys_attachment] テーブルに添付ファイルを保存します。
プライマリボットでこのメソッドを呼び出して、 仮想エージェント (VA) を介して会話しているユーザーからプライベート添付ファイルをアップロードします。次に、このメソッドによって返された mediaUrl パラメーターを、 仮想エージェントボット統合 API を使用して VA API に送信する必要があります。
URL 形式
バージョニングされた URL: /api/now/{api_version}/cccif/media/upload
デフォルト URL: /api/now/cccif/media/upload
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプション。アクセスするエンドポイントのバージョン。たとえば、 v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| ファイル | 必須です。アップロードするファイルのパス。 データタイプ:@Fileパス<file_path>などの文字列 |
| provider_application_id | VA ボットとやり取りするsys_cs_provider_applicationのSys_id。 デフォルト:VA ボット間ボットプロバイダーアプリケーションのSys_id |
| user_id | 必須です。VA ボットとやり取りするユーザーの一意のユーザー識別子。これは、ユーザーごとに一意の任意の文字列にすることができます。 データタイプ:文字列 |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされているタイプ: multipart/form-data。 |
| ヘッダー | 説明 |
|---|---|
| Content-Type | 応答本文のデータフォーマット。application/json のみをサポートします。 |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 201 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 404 | 見つかりません。要求されたアイテムが見つかりませんでした。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON)
| 名前 | 説明 |
|---|---|
| attachmentId | 保存されていた添付ファイルのSys_id。 データタイプ:文字列 |
| エラー | 要求の処理中に検出されたエラーの説明。 データタイプ: オブジェクト |
| error.detail | 発生したエラーの詳細。 データタイプ:文字列 |
| error.message | スローされたエラーを説明するメッセージ。 データタイプ:文字列 |
| mediaUrl | 添付ファイルにアクセスするためにプライマリボットに送信する添付ファイルの URL。プライマリボットは、POST /sn_va_as_service/bot/integration エンドポイントの要求本文の message.attachment.url パラメーターでこの URL を送信する必要があります。 データタイプ:文字列 |
| name | 添付ファイルのファイル名。 データタイプ:文字列 |
| 状況 | 添付ファイルテーブル内の添付ファイルのステータス。 可能な値:
データタイプ:文字列 |
cURL 要求
この例では、.pngファイルの添付ファイルをアップロードする方法を示します。
curl --location --request POST 'https://instance.servicenow.com/api/now/v1/cccif/media/upload' \
--header 'Authorization: Basic xxxxxxxxxxxxx' \
--header 'Content-Type:multipart/form-data' \
--form 'user_id="lincoln"' \
--form 'file=@"/Users/Desktop/Screenshot 2021-10-25 at 5.08.14 PM.png"'
応答:
Response :{
"result": {
"mediaUrl": "https://instance.servicenow.com/api/now/v1/cs/media/vGfewkfAv0VBo2RxmlTM448L789Pp6rqLFLUNYQxZsUUFrsgMA8aW9W0zWx1a5fG",
"name": "Screenshot 2021-10-25 at 5.08.14 PM.png",
"state": "pending",
"attachmentId": "299c648887b73c1022b6a6cd0ebb3534"
}