取引先設定
社員設定
役職設定
部門設定
プロジェクト設定
勘定科目設定
補助科目設定
税区分設定
汎用マスタ設定
APIトークンの発行
「楽楽請求」のAPIの利用時に認証用キーとして使用する文字列です。
APIトークンは、「楽楽請求」の管理者権限のみ発行できます。
「設定」タブ>「システム設定」>「API連携設定」画面にて「生成」をクリックすることで「APIトークン」が発行されます。
※「システム設定」の操作には管理者権限が必要です。
APIトークンは生成直後のみ表示されます。
もし紛失した場合は再生成を実施ください。
「再生成」ボタンをクリック後に表示される「APIトークンの再生成」画面で「再生成」をクリックすることで、APIトークンが再生成されます。
※上記記載の通り再生成した場合、APIトークンは上書きされ過去生成されていたAPIトークンは利用できなくなります。
「削除」ボタンをクリック後に表示される「APIトークンの削除」画面で「削除」をクリックすることで、APIトークンが削除され、APIが使用できない状態になります。
API専用の接続を許可するIPアドレスを制限することが可能です。
「設定」タブ>「システム設定」>「セキュリティ設定」をクリック
「APIのアクセス制限」項目を「制限する」を選択
許可するIPアドレスを入力
「保存」をクリック
リクエスト、レスポンスに関する基本シーケンスは以下の通りです。
※貴社のシステムと「楽楽請求」の間に中間サーバーが存在する場合を想定しています。
中間サーバーとは「楽楽請求」のAPIを実行するためのプログラムが配置されているサーバーを想定しています。
※中間サーバーが存在しない場合は、貴社のシステムと「楽楽請求」が直接連携することになります。
APIへのリクエストを行う際の基本的な情報は以下の通りです。
CSV取込予約を行うためのAPIです。
通信方式:HTTPS
■URL例
https://app.rakurakuseikyu.jp/xxxxxx/api/v1/masters/import
◆rakurakuseikyu.jp →利用するドメイン
◆xxxxxxx →利用するテナント
◆api/v1 →APIバージョンの指定
◆masters/import →API名
ヘッダ
|
ヘッダ |
値 |
必須 |
|
X-SK-apitoken |
{ APIトークン } |
〇 |
|
Content-Type |
multipart/form-data |
〇 |
|
パラメータ名 |
項目名 |
型 |
必須 |
内容 |
備考 |
|
data |
リクエスト情報 |
オブジェクト |
〇 |
ー |
Content-Type: |
|
type |
マスタ種別 |
整数 |
◯ |
1:取引先 2:社員 3:部門 4:プロジェクト 5:勘定科目 6:補助科目 7:税区分 8:汎用マスタ 9:役職 |
|
|
isSkippedFirstLine |
1行目をスキップするかどうかのフラグ |
真偽値 |
◯ |
true: CSVの1行目をスキップして2行目から取り込む false:CSVの1行目から取り込む |
|
|
isSendPasswordMail |
登録時のメール送信フラグ |
真偽値 |
true: 社員登録成功時にパスワードメールを送信する false:社員登録成功時にパスワードメールを送信しない |
type = 2の場合は必須 |
|
|
customMasterSettingName |
汎用マスタ名 |
文字列 |
汎用マスタ管理で登録されている"汎用マスタ名"を指定 |
type = 8の場合は必須 |
|
|
file |
アップロードするファイル |
文字列 |
◯ |
- |
Content-Type: |
(例)curl -i -X 'POST' \
'https://【ドメイン】/【テナント】api/v1/masters/import'\
-H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryAdkAiG0rxRpZeTrW' \
-H 'X-SK-apitoken: {APIトークン}' \
--data-raw $'
------WebKitFormBoundaryAdkAiG0rxRpZeTrW
Content-Disposition: form-data; name="data"; filename="blob"
Content-Type: application/json
{
"type": 8,
"isSkippedFirstLine": true,
"customMasterName": "店舗No"
}
------WebKitFormBoundaryAdkAiG0rxRpZeTrW
Content-Disposition: form-data; name="file"; filename="custom_master_2025082.csv"
Content-Type: text/csv
....
------WebKitFormBoundaryAdkAiG0rxRpZeTrW--'
ボディ
|
パラメータ名 |
項目名 |
型 |
必須 |
内容 |
|
masterImportJobId |
インポート状況ID |
整数 |
〇 |
インポート状況の確認に使用するID |
CSV取込の状況確認を行うためのAPIです。
通信方式:HTTPS
メソッド:GET
文字コード:UTF-8
URL:https://【ドメイン】/【テナント】/api/v1/masters/import/【masterImportJobId】
ヘッダ
|
ヘッダ |
値 |
必須 |
|
X-SK-apitoken |
{ APIトークン } |
〇 |
パスパラメータ
|
パラメータ名 |
項目名 |
型 |
必須 |
内容 |
|
masterImportJobId |
インポート状況ID |
整数 |
〇 |
マスタインポートAPIで取得したID |
(例)
curl -i -X 'GET' \
https://ドメイン】/【テナント】api/v1/masters/import/1 \
-H 'X-SK-apitoken: {APIトークン}'\
ボディ
|
パラメータ名 |
項目名 |
型 |
必須 |
内容 |
備考 |
|
type |
マスタ種別 |
整数 |
◯ |
1:取引先 2:社員 3:部門 4:プロジェクト 5:勘定科目 6:補助科目 7:税区分 8:汎用マスタ 9:役職 |
|
|
customMasterSetting |
汎用マスタ情報 |
オブジェクト |
- |
type = 8の場合は必須 |
|
|
name |
汎用マスタ名 |
文字列 |
汎用マスタ管理で登録されている"汎用マスタ名"を指定 |
type = 8 and |
|
|
isDeleted |
削除フラグ |
真偽値 |
◯ |
true:削除済みの汎用マスタ false:未削除の汎用マスタ |
type = 8の場合は必須 |
|
methodType |
インポート方法 |
整数 |
◯ |
1:画面からCSVアップロードした場合 2:APIからCSVアップロードした場合 |
|
|
status |
ステータス |
整数 |
◯ |
1:取込準備中 2:取込中 3:成功 4:失敗 |
|
|
startedAt |
マスタインポートの処理を開始した日時 |
文字列 |
YYYY-MM-DDTHH:MM:SS |
status = 2 or |
|
|
finishedAt |
マスタインポートの処理を終了した日時 |
文字列 |
YYYY-MM-DDTHH:MM:SS |
status = 3 or |
|
|
employee |
社員 |
オブジェクト |
インポートを実行した社員情報 |
methodType |
|
|
code |
社員コード |
文字列 |
◯ |
- |
methodType |
|
name |
社員名 |
文字列 |
◯ |
- |
methodType |
|
isDeleted |
削除フラグ |
真偽値 |
◯ |
true:削除済みの社員 false:未削除の社員 |
methodType |
|
successCount |
インポートに成功した件数 |
整数 |
インポートに成功した件数 |
status = 3 or |
|
|
errorCount |
インポートに失敗した件数 |
整数 |
インポートに失敗した件数 |
status = 3 or |
通信方式:HTTPS
メソッド:POST
文字コード:UTF-8
ヘッダ
|
ヘッダ |
値 |
必須 |
|
X-SK-apitoken |
{ APIトークン } |
〇 |
|
Content-Type |
application/json |
〇 |
|
パラメータ名 |
項目名 |
型 |
必須 |
内容 |
備考 |
|
type |
マスタ種別 |
整数 |
◯ |
1:取引先 2:社員 3:部門 4:プロジェクト 5:勘定科目 6:補助科目 7:税区分 8:汎用マスタ 9:役職 |
|
|
code |
マスタコード |
文字列 |
◯ |
各マスタで設定しているコードを指定 |
|
|
customMasterSettingName |
汎用マスタ名 |
文字列 |
汎用マスタ管理で登録されている"汎用マスタ名"を指定 |
type = 8の場合は必須 |
レスポンスのボディ部に書かれたステータスコードから、リクエスト成功・失敗を判別することができます。
HTTPのステータスコードも同様の値を返却します。
| コード | 状態 | 詳細 | ボディ(例) | 備考 |
| 200 | 成功 | - | { "masterImportJobId ": 1 } |
|
| 400 | 通常エラー | 入力エラー等、アプリケーションが検出するエラー | { "errors": [ { "name": "fieldName", "msg": "エラーメッセ ージ" } ] } |
|
| 401 | 認証エラー | 認証失敗、必要な権限がない場合のエラー | ||
| 403 | オプション未契約・IPアドレス制限エラー | API機能が利用できない場合のエラー | {"code":"FORBIDDE N_ACCESS"} |
FORBIDDEN_ ACCESS: オプション未契約 FORBIDDEN_ POLICY: IPアドレス制限エラー |
| 404 | 対象URIなし | URIの指定が間違っている場合のエラー | ||
| 405 | 対応していないメソッド | 対応していないHTTPメソッドでリクエストされた場合のエラー | ||
| 406 | 対応していないヘッダ | Acceptヘッダの値がレスポンス形式と一致しない場合のエラー | ||
| 415 | 対応していないファイルタイプ | 対応していないファイルタイプでリクエストされた場合のエラー | ||
| 409 | リソースの競合 | 複数のユーザーが同時に操作した場合のエラー | ||
| 429 | リクエスト回数超過 | 最大アクセス数を超える回数のリクエストが送信された場合のエラー | ||
| 500 | 内部エラー | 予期しないエラー ※問い合わせ |
||
| 503 | メンテナンス中 | 「楽楽請求」のメンテナンス中に返すエラー |
|
ヘッダ |
値 |
|
Content-Type |
application/json JSON以外の場合は、ファイル形式に準じた値 |
|
X-Content-Type-Options |
nosniff |
|
Cache-Control |
private, no-store, no-cache, must-revalidate |
|
Pragma |
no-cache |
|
X-XSS-Protection |
1; mode=block |
|
X-Frame-Options |
deny |
|
Strict-Transport-Security |
max-age=31536000; includeSubDomains |
|
Content-Security-Policy |
default-src 'none' |
|
X-Content-Security-Policy |
default-src 'none' |
|
X-WebKit-CSP |
default-src 'none' |
|
content-disposition |
ファイルに準じた値 inline; filename*=UTF-8''〇〇.csv |
|
connection |
keep-alive |
|
content-length |
ex) 100 |
|
Date |
ex) Thu, 22 Jan 2026 06:32:53 GMT |
|
content-encoding |
gzip |
|
vary |
accept-encoding |
|
transfer-encoding |
chunked
|
サンプルプログラムに関しては、サンプルソースを別途用意しております。
ご希望のお客様は以下フォームよりお問い合わせください。
(記事ID:6011)