何かお探しですか? 製品 Coupa製品ドキュメント インテグレーション技術文書 リスクアセスメントのクイックインテグレーションを開始する

リスクアセスメントのクイックインテグレーションを開始する

リスクアセスメントのクイックインテグレーションインポート、認証方法、コンテンツタイプ、例外処理とエラーコードについて説明します。

概要

クイックインテグレーションインポートにより、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 サーバーエラー インポートデータをデータベースに保存できませんでした

 

このページに表示されている一部、または全ての内容は、機械翻訳によるものです。ご了承ください。

関連アイテム


Coupa Core API

CoupaのRESTful APIは、お客様のデータをCoupaプラットフォームで読み取り、編集し、統合するための堅牢なアクセスを提供します。

APIの開始

Coupa APIの使用に関する一般情報、およびCSVの使用を検討するタイミング。

OAuth 2.0およびOIDCへの移行

Coupaは従来のAPIキーを廃止し、OAuth 2.0 / OIDCの使用を必要としています。R34以降、新しいAPIキーは発行されず、R35ではAPIキーはサポートされなくなります。

リソース

参照データ、トランザクションデータ、共有リソースなど、オブジェクトのタイプ別にAPIエンドポイントを整理しました。