インポート
概要
- xlsxまたはcsv形式のデータをアップロードし、ReCOREのデータを一括で作成更新することが可能です。
手順
- 設定値取得APIより、使用可能な種別、フォーマット、カラムを取得します。
- ファイルアップロード(機密ファイル)でファイルをアップロードし、ファイルキーを取得します。
- インポート作成APIでインポートを開始します。
- 速く処理するため、可能であればcsv形式を利用してください。
- インポートIDを保持し、インポート取得APIを定期的にコールし、ステータスが完了になるまで待機します。
- インポートが完了したら一時URLを使い、ファイルのダウンロードを行なってください。
- インポート履歴は7日分のみ保持されます。期限を超過したものはファイルのダウンロード等ができなくなります。
各種API
インポート検索
概要
基本情報
- リクエストパス:
GET /imports
- JWTスコープ:
import:index
- 必須個別JWTパラメータ:
なし
- レートリミット:
5 rps
query
key |
説明 |
制約など |
ids |
インポートID |
整数のみ、カンマ区切りで複数指定可能 |
type |
種別 |
- |
status |
ステータス |
- |
page |
ページ |
整数のみ、デフォルト:1 |
limit |
1ページあたりの件数 |
整数のみ、デフォルト:50、最大: 250 |
例
GET /imports?ids=32
[
{
"id": 32,
"store": {
"id": 1,
"name": "本店"
},
"staff": null,
"status": "FAILED",
"type": "PRODUCT",
"format": "csv",
"attachment": {
"id": 54,
"file_key": "data.csv",
"tag": "GENERAL",
"file_name": "カタログ_20250523_183452.csv",
"url": "https://...",
"mime_type": "text/csv"
},
"messages": [
"ファイルを開けません"
],
"created_at": 1747992889,
"updated_at": 1747992893
}
]
key |
type |
説明 |
* |
array<object> |
インポート |
*.store |
object | null |
店舗 |
*.store.id |
int |
店舗ID |
*.store.name |
string |
店舗名 |
*.store |
object | null |
スタッフ |
*.staff.id |
int |
スタッフID |
*.staff.name |
string |
スタッフ名 |
*.status |
string |
ステータス |
*.type |
string |
種別 |
*.format |
string |
フォーマット |
*.attachment |
object | null |
ファイル |
*.attachment.id |
int |
ファイルID |
*.attachment.file_key |
string |
ファイルキー |
*.attachment.tag |
string |
タグ |
*.attachment.file_name |
string | null |
ファイル名 |
*.attachment.url |
string |
一時URL (*1) |
*.attachment.mime_type |
string |
MIMEタイプ |
*.messages |
array<string> |
処理メッセージ |
*.created_at |
int | null |
作成日時 |
*.updated_at |
int | null |
更新日時 |
- *1) 一時的なURLなので保存等はしない
- ステータス
IN_PROGRESS
処理中
FAILED
失敗
DONE
成功
インポート取得
概要
基本情報
- リクエストパス:
GET /imports/{import_id}
- JWTスコープ:
import:show
- 必須個別JWTパラメータ:
なし
- レートリミット:
5 rps
例
GET /imports/32
インポート検索のresponse[0]と同様
インポート作成
概要
基本情報
- リクエストパス:
POST /imports
- JWTスコープ:
import:store
- 必須個別JWTパラメータ:
なし
- レートリミット:
2 rps
body
key |
type |
説明 |
制約など |
type |
string |
種別 |
(*1) |
format |
string |
フォーマット |
(*1) |
file_key |
string |
ファイルキー |
(*2) |
file_name |
?string | null |
ファイル名 |
100文字まで |
例
POST /imports
{
"type": "PRODUCT",
"format": "csv",
"file_key": "PdoJcUm1wtopvpX5goCSB36GR45FGuRJCrQAsvky.csv",
"file_name": "商品一覧.csv"
}
インポート設定値取得
概要
基本情報
- リクエストパス:
GET /imports/config
- JWTスコープ:
import:config:index
- 必須個別JWTパラメータ:
なし
- レートリミット:
5 rps
query
例 (全体設定値を取得)
GET /imports/config
{
"schema": "all",
"type": {
"PRODUCT": {
"title": "カタログ"
}
}
}
key |
type |
説明 |
schema |
string |
all 固定 |
type |
object |
種別リスト |
type.* |
object |
(キーが種別を表す) |
type.*.title |
string |
種別名 |
例 (種別設定値を取得)
GET /imports/config?type=PRODUCT
{
"schema": "type",
"title": "カタログ",
"description": null,
"formats": [
"xlsx",
"csv"
],
"column": {
"id": {
"label": "商品ID",
"required": 0
},
"code": {
"label": "商品コード"
}
}
}
key |
type |
説明 |
schema |
string |
type 固定 |
title |
string |
種別名 |
description |
string | null |
説明 |
formats |
array<string> |
フォーマット |
column |
object |
カラムリスト |
column.* |
object |
(キーがカラムを表す) |
column.*.label |
string |
カラム名 |
column.*.require |
?int | bool |
trueなら指定必須、数値ならその位置で必須 |