リスクアセスメントのクイックインテグレーションを開始する
リスクアセスメントのクイックインテグレーションインポート、認証方法、コンテンツタイプ、例外処理とエラーコードについて説明します。
概要
クイックインテグレーションインポートにより、CRAユーザーはHTTPSプロトコルを介してスプレッドシートを直接アップロードできます。これにより、お客様はインターフェースを必要とせずに、インバウンドインポートを自動化できます。以下には、さまざまな一般的なプログラミング言語を使用してこれを実行する方法の使用例を示すさまざまなコードスニペットがあります。
認証
成功するには、発行されたリスクアセスメントクイックインテグレーション申請ごとに有効な資格情報を指定する必要があります。
指定されたリスクアセスメントユーザーは、「クイックインテグレーション」グループまたは「クイックインテグレーション – エンゲージメント」グループのメンバーである必要があります。クイックインテグレーショングループでは、アカウントがすべてのクイックインテグレーションリソースにアクセスできます。QuickIntegration-Engagementsグループは、クイックインテグレーションエンゲージメントリソースへのアクセスのみを制限します。これらのグループが現在リスクアセスメントインスタンスに存在しない場合は、地域のリスクアセスメント管理者またはCoupaカスタマーサービスの担当者に連絡して作成を依頼してください。
HTTPヘッダー | 説明 |
---|---|
ユーザー名 | 有効なリスクアセスメントのユーザー名 |
パスワード | 有効なリスクアセスメントパスワード |
内容タイプ
コンテンツタイプヘッダーには、以下に示すタイプのいずれかが含まれている必要があります。これは、アップロードされているファイル形式を特定するために使用されます。
データをオクテットストリームとして送信する場合、Content-Dispositionヘッダーにfilenameが必要です。
コンテンツタイプヘッダー | ファイルタイプ |
---|---|
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Excel 2007以降のバージョン(xlsx) |
application/vnd.ms-excel | Excel 2003以前のバージョン(xls) |
テキスト/csv | コンマ区切り値(csv) |
アプリケーション/オクテットストリーム | Content-Dispositionのファイル名の値によって決定されるファイル形式 例: Content-Disposition: form-data; name="file"; filename="user_import.xlsx" |
コードサンプル
ジャワ
package httpPostExample;import java.io.File;import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;public class uploadFile
{
public static void main(String[] args)
{
try
{
String url = "https://rportal.hiperos.com/QuickIntegration/Suppliers";
String filePath = "c:\\hiperos\\outbox\\Suppliers_import.xlsx"; HttpClient httpClient = HttpClientBuilder.create().build();
HttpContext httpContext = new BasicHttpContext(); HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("username", "Your_3PM_Username_Here");
httpPost.setHeader("password", "Your_3PM_Password_Here"); httpPost.setHeader("Connection", "close"); MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); final File file = new File(filePath);
FileBody fb = new FileBody(file, "text/csv"); builder.addPart("file", fb); final HttpEntity entity = builder.build();
httpPost.setEntity(entity); HttpResponse postResponse = httpClient.execute(httpPost, httpContext); HttpEntity responseEntity = postResponse.getEntity();
System.out.println(EntityUtils.toString(responseEntity));
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
C#
using System;
using System.Net;namespace QuickIntegration_Sample
{
class Program
{
static void Main()
{
const string uriString = "https://rportal.hiperos.com/QuickIntegration/Suppliers";
const string fileName = @"c:\\hiperos\\outbox\\Suppliers_import.xlsx"; // Create a new WebClient instance.
WebClient client = new WebClient(); // Add authentication headers to request.
client.Headers.Add("username", "Your_3PM_Username_Here");
client.Headers.Add("password", "Your_3PM_Password_Here"); // Upload the file to the URI.
// The 'UploadFile(uriString,fileName)' method implicitly uses HTTP POST method.
byte[] responseArray = client.UploadFile(uriString, fileName); string response = System.Text.Encoding.ASCII.GetString(responseArray); // Decode and display the response.
Console.WriteLine("\nResponse Received. The contents of the file uploaded are:\n{0}", response);
}
}
}
例外処理とエラーコード
次のHTTP応答ステータスコードは、インポートステータスを呼び出し元に通知するために、クイックインテグレーションによって利用されます。
ステータスコード | 結果 | 説明 |
---|---|---|
201 | 作成済み | 新しいオブジェクトが正しく作成されました。 |
202 | CSPの一部を承認済み | データはインポートのためにキューに入れられました(システムによって生成された電子メール確認に従います)。 |
204 | コンテンツなし | インポートする新規または更新データが見つからないか、ファイルの形式が正しくありません。 |
400 | 不適切な申請 | 問題のある行や列が見つかりました。応答で返された検証メッセージを確認します。 |
401 | 権限なし | ユーザー名とパスワードのhttpヘッダーがリクエストに見つかりませんでした。 |
403 | 禁止 | ログインに失敗したか、見つからなかったか、権限がありません。 |
500 | サーバーエラー | インポートデータをデータベースに保存できませんでした |
このページに表示されている一部、または全ての内容は、機械翻訳によるものです。ご了承ください。