| 通信方式 | HTTPS |
| メソッド | POST |
| 文字コード | UTF-8 |
| URL |
https://【ドメイン】/【アカウント】/api/v1/【API名】
|
| ヘッダ |
X-RS-apitoken:{APIトークン}
※上記のリクエストヘッダを必ず指定してください。 ※APIトークンについてはAPIトークンの発行をご確認ください。 |
「楽楽精算」のAPIの利用時に認証用キーとして使用する文字列です。
APIトークンは、「楽楽精算」の管理者(admin)ユーザーだけが発行できます。
このAPI連携を使用して、「楽楽精算」にCSV取込が可能なマスタは以下の通りです。
| ヘッダ | 備考 |
| X-RS-apitoken: {APIトークン} |
必ず指定します。
APIトークンについては前述の【APIトークン】を参照 |
| Content-Type: multipart/form-data; | 固定 |
| ヘッダ | 備考 |
| Content-Disposition: form-data; name="uploadFile";filename="<ファイル名>" |
<ファイル名>にCSVファイルのファイル名を指定します。
|
| Content-Type: application/octet-stream | 固定 |
| パラメータ名 | 項目名 | 属性 | 内容 |
| processId | CSV取込処理ID | 文字列 |
CSV取込処理予約ID
|
| HTTP/1.1 200 OK Content-Type: application /json { “status”: “success”, “code”: “200”, “url”: ” https://your.domain/your_account/api/v1/csvimport/ “, “query”: { “masterId”: “0”, “duplicateKey”: “1”, “sendPasswordEmail”: “0” }, “processId”: “10”, “version”: “v1”, “accessTime”: “2017-06-22 11:12:18 +0900” } |
| HTTP/1.1 400 Bad Request Content-Type: application/json { “status”: “error”, “code”: “400”, “url”: “https://your.domain/your_account/api/v1/csvimport/ “, “query”: { “duplicateKey”: “1”, “sendPasswordEmail”: “0” }, “errors”: { “code”: “100”, “msg”: “パラメータが不正です。”, “description”: [ { “name”: “masterId”, “value”: “”, “code”: “1”, “msg”: “必須項目です” } ] }, “version”: “v1”, “accessTime”: “2016-07-01 14:01:14 +0900” } |
GET https://【ドメイン】/【アカウント】/api/v1/csvimportprocess/【processId】
| ヘッダ | 備考 |
| X-RS-apitoken: {APIトークン} |
必ず指定します。
APIトークンについては前述の【APIトークン】を 参照 |
| パラメータ名 | 項目名 | 属性 | 必須 | 内容 |
| processId | CSV取込処理ID | 文字列 | 〇 |
CSV取込APIで取得した処理ID
|
| パラメータ名 | 項目名 | 属性 | 内容 |
| processStatus | 処理状況 | 文字列 | wait:未処理 active:実行中 complete:完了 abort:強制終了 error:異常終了 |
| successCount | 成功したレコード数 | 数値 |
取込に成功したレコード数
|
| failureCount | 失敗したレコード数 | 数値 |
取込に失敗したレコード数
|
| HTTP/1.1 200 OK Content-Type: application/json { “status”: “success”, “code”: “200”, “url”: ” https://your.domain/your_account/api/v1/csvimportprocess/10/”, “query”: {}, “processStatus”: “complete”, “items”: { “successCount”: “10”, “failureCount”: “1” }, “version”: “v1”, “accessTime”: “2017-06-22 11:12:18 +0900” |
| HTTP/1.1 400 Bad Request Content-Type: application/json { “status”: “error”, “code”: “400”, “url”: ” https://your.domain/your_account/api/v1/csvimportprocess/10/”, “query”: {}, “errors”: { “code”: “200”, “msg”: “対象データが存在しません。”, “description”: [] }, “version”: “v1”, “accessTime”: “2016-07-01 14:01:14 +0900” } |
| パラメータ | 名称 | 説明 |
| status | ステータス |
リクエストが成功したかどうか (success:成功 error:異常)
|
| code | レスポンスコード |
「後述する 【レスポンスコード】を参照してください。
|
| url | リクエストURL | |
| query | リクエストパラメータ |
リクエストパラメータのキーと値のペアをオブジェクトで格納します。
"query": { masterId: "1", duplicateKey: "0" }, |
| version |
APIのバージョン
|
|
| accessTime | アクセス日時 | |
| errors | エラー情報 |
エラー情報を格納します。
|
| ├code | エラーコード |
後述する 【エラーコード】 を参照してください。
|
| ├msg | エラー状態 | |
| └description | 詳細情報 |
入力エラーの場合、各入力項目の詳細なエラー情報を格納します。
|
| ├name | パラメータ名 | |
| ├value | パラメータ値 | |
| ├code | 詳細コード | |
| └msg |
エラーメッセージ
|
| レスポンスコード | 状態 | 備考 |
| 200 | 成功 | |
| 400 | 通常エラー | |
| 401 | 認証エラー |
認証失敗、必要な権限がない場合のエラー
|
| 402 | API未契約 ライセンス無効 |
API機能が利用できない場合のエラー
|
| 403 | 操作権限なし アクセス権なし |
対象となるデータを取得できない場合のエラー
|
| 404 | 対象URIなし |
URIの指定が間違っている場合のエラー
|
| 405 | 対応していない メソッド |
対応していないHTTPメソッドでリクエストされた場合のエラー
|
| 413 | リクエスト容量超過 |
最大リクエスト容量を超える容量のリクエストが送信された場合の工ラー
|
| 415 | 対応していない |
対応していないファイルタイプでリクエストされた場合のエラー
|
| 429 | リクエスト回数超過 |
最大アクセス数を超える回数のリクエストが送信された場合のエラー
|
| 500 | 内部エラー |
予期しないエラー
本エラーが発生した時はサポートセンターまでご連絡ください。 |
| レスポンスコード | エラーコード | 状態 | メッセージ | 発生するケース (CSV取込API) |
発生するケース
(CSV取込状況確認API) |
| 200 | - | 成功 | - | - | - |
| 400 | 100 | 入力エラー | パラメータが不正です。 | 不正なリクエストパラメータを送信した場合 |
不正なリクエストパラメータを送信した場合
|
| 400 | 200 | 対象データなし | 対象データが存在しません。 | 出力なし |
存在しないprocessIdを指定した場合
|
| 400 | 201 | 重複エラー | データが重複しています。 | 出力なし | 出力なし |
| 400 | 202 | フォーマットエラー | 正しい%format%の形式ではありません。 メッセージ例: 正しいJSONの形式ではありません。 |
パラメータ (JSON部) の形式が正しくない場合 | 出力なし |
| 400 | 299 | その他のエラー | (その他のエラーのメッセージが表示されます。表示されるメッセージに従って対処してください。) | 取込ファイルの項目名に不備がある場合 【例】必須項目の項目名が存在しない場合 |
出力なし |
| 401 | 1 | 認証エラー | 認証エラーです。 | APIトークンに不備(未指定、未生成、不正)がある場合 |
APIトークンに不備(未指定、未生成、不正)がある場合
|
| 402 | 2 | API未契約 | API連携オプションが未契約です。 | API連携オプションを契約していない場合 |
API連携オプションを契約していない場合
|
| 402 | 9 | ライセンス無効 | ライセンスが無効です。 | 「楽楽精算」の契約期間外の場合 |
「楽楽精算」の契約期間外の場合
|
| 403 | 7 | アクセス権なし | アクセスが拒否されました。 | IPアドレス制限OPによって許可されていないIPアドレスから接続した場合 |
IPアドレス制限OPによって許可されていないIPアドレスから接続した場合
|
| 403 | 4 | 操作権限なし | アクセスが拒否されました。 | 出力なし | 出力なし |
| 404 | 3 | 対象URLなし | URLが存在しません。 指定されたバージョンのAPIは存在しません。 |
存在しないAPIのURLに接続した場合 【例】https://ドメイン/アカウント/api/v1/unknown |
存在しないAPIのURLに接続した場合
【例】https://ドメイン/アカウント/api/v1/unknown |
| 405 | 8 | 対応していないメソッド | 対応していないHTTPメソッドです。 | 対応していないHTTPメソッド(GET)のリクエストを送信した場合 ※本APIが対応しているメソッドはPOST |
対応していないHTTPメソッド(GET)のリクエストを送信した場合
※本APIが対応しているメソッドはPOST |
| 413 | 5 | リクエスト容量超過 | 1回の実行で送信できる容量を超えました。 | 取込ファイルが上限(ファイルサイズ5MB、ファイル行数50,000行)を超過している場合 | 出力なし |
| 415 | 10 | 対応していないファイルタイプ | 対応していないファイルタイプです。 | 対応していないファイルタイプのリクエストを送信した場合 ※本APIが対応しているファイルタイプ (Content-Type) はmultipart/form-data |
出力なし |
| 429 | 6 | リクエスト回数超過 | APIの実行回数が制限を超えました。 | 1分間のリクエスト回数制限 (20リクエスト))を超過した場合 |
1分間のリクエスト回数制限 (20リクエスト)を超過した場合
|
| 500 | 999 | 内部エラー | 内部エラーが発生しました。 | 通常時は連携できている場合:上記以外のエラーが発生した場合 設定中に発生した場合: ①boundaryの設定に誤りがある②マルチパートフォームデータの形式が崩れている |
通常時は連携できている場合:上記以外のエラーが発生した場合
設定中に発生した場合: ①boundaryの設定に誤りがある②マルチパートフォームデータの形式が崩れている |
入力エラー(エラーコード:100)については各項目の詳細なエラー情報も確認することができます。
| エラーコード | 詳細コード | 状態 | メッセージ |
| 100 | 1 | 必須エラー | 必須項目です。 |
| 100 | 2 | 型エラー |
型が正しくありません。
|
| 100 | 3 | 範囲外(下限)エラー |
下限値(%num%) を超えています。
|
| 100 | 4 | 範囲外(上限)エラー |
上限値(%num%) を超えています。
|
| 100 | 5 | 桁数不足 |
桁数(%num%) が不足しています。
|
| 100 | 6 | 桁数超過 |
桁数(%num%) が超過しています。
|
| 100 | 7 | 書式エラー |
値の書式が不正です。
|
| 100 | 8 | 存在しない値(選択肢など) |
指定されたデータは存在しません。
|
| 100 | 99 | 指定できない値 |
指定された値を設定することはできません。
|
サンプルプログラムに関しては、サンプルソースを別途用意しております。
ご希望のお客様は画面右上のお問い合わせ > 機能・操作の質問よりお問い合わせください。
(記事ID:1246)