STORES APIドキュメント (202211)

Download OpenAPI specification:Download

STORES APIの利用方法を記載したドキュメントです。

注意事項

同じ Bearer トークンで短時間に大量のアクセスがあった場合、一定時間そのトークンのアクセスを制限することがあります。
Bearer トークンはクレデンシャル または OAuth2.0 で取得したアクセストークンを指します。

アクセスが制限がされる場合、API はステータスコード 429 を返します。

オーダー一覧

オーダーの一覧をオーダーされた日時の降順で返します。

実際のオーダー日時からこのAPIに出力されるまでに時間がかかる場合があります。

202109のオーダー一覧からの変更点

  • レジオーダーも取得可能になりました
  • 配送日指定の指定日と予約販売の発送開始日時で検索できるようになりました
  • 配送情報と決済情報がそれぞれdeliveries, transactionsに分かれてResponseに出力されます
  • 以前のstatusの検索と同じ検索を行いたい場合は下記のように検索条件を指定してください
    202109の検索 202211の検索
    shipped delivery_statusshippedを指定
    pending delivery_statuswaitingを指定
    unpaid paid_statusunpaidを指定
    cancel
    repayment
    canceled_at_from, canceled_at_toで検索
    transactionsにマイナスのamountのデータが存在すればrepayment, なければcancelとみなす
query Parameters
ids
string

オーダー ID で検索する場合に指定してください。
複数指定する場合はカンマ(,)区切りで指定してください。

numbers
string

オーダー番号で検索する場合に指定してください。
複数指定する場合はカンマ(,)区切りで指定してください。
オーダー番号は数字のみ指定可能です。

settled_sales_channel
string

オーダーを決済された店舗で検索したい場合に指定してください。

  • ec ... EC で決済されたオーダーを検索したい場合に指定
  • regi ... STORES レジ で決済されたオーダーを検索したい場合に指定
  • 特定の sales_channel_id ... STORES レジ を利用している特定の店舗で検索したい場合に指定
ordered_at_from
string <date-time>

特定の日時以降のオーダーを検索したい場合に指定してください。
フォーマット: YYYY-MM-DD または YYYY-MM-DDThh:mm:ss

ordered_at_to
string <date-time>

特定の日時以前のオーダーを検索したい場合に指定してください。
フォーマット: YYYY-MM-DD または YYYY-MM-DDThh:mm:ss

canceled_at_from
string <date-time>

特定の日時以降にキャンセルまたは返金されたオーダーを検索したい場合に指定してください。
フォーマット: YYYY-MM-DD または YYYY-MM-DDThh:mm:ss

canceled_at_to
string <date-time>

特定の日時以前にキャンセルまたは返金されたオーダーを検索したい場合に指定してください。
フォーマット: YYYY-MM-DD または YYYY-MM-DDThh:mm:ss

readied_at_from
string <date-time>

特定の日時以降の readied_at でオーダーを検索したい場合に指定してください。
フォーマット: YYYY-MM-DD または YYYY-MM-DDThh:mm:ss

readied_at_to
string <date-time>

特定の日時以前の readied_at でオーダーを検索したい場合に指定してください。
フォーマット: YYYY-MM-DD または YYYY-MM-DDThh:mm:ss

delivery_start_date_from
string <date>

特定の日時以降に配送日指定の最短配送希望日予約販売の発送開始予定時期が設定されたオーダーを検索したい場合に指定してください。
フォーマット: YYYY-MM-DD

予約販売の発送開始予定時期の値は検索時には下記の日付に変換されます。

  • 上旬(early) → 1日
  • 中旬(middle) → 11日
  • 下旬(late) → 21日
delivery_start_date_to
string <date>

特定の日時以前に配送日指定の最短配送希望日予約販売の発送開始予定時期が設定されたオーダーを検索したい場合に指定してください。
フォーマット: YYYY-MM-DD

予約販売の発送開始予定時期の値は検索時には下記の日付に変換されます。

  • 上旬(early) → 1日
  • 中旬(middle) → 11日
  • 下旬(late) → 21日
paid_status
string
Enum: "paid" "unpaid"

決済のステータスを指定してください。

  • paid ... 決済済み
  • unpaid ... 未決済

※決済方法 が代金引換のオーダーは決済の有無をシステムで管理していないため、paid_statusの検索結果には出力されません。

delivery_status
string
Enum: "shipped" "waiting"

配送のステータスを指定してください。

  • shipped ... 発送済み
  • waiting ... 発送待ち

発送待ちの絞り込みでは発送可能なオーダーのみ出力され、発送されていないオーダーが全て出力されるわけではありません。未決済のオーダーなどは除外されます。

direction
string
Default: "desc"
Enum: "desc" "asc"

オーダー日時による並べ替えの方向を指定します。

  • desc ... 降順
  • asc ... 昇順
limit
integer [ 1 .. 100 ]
Default: 10

取得するデータの最大件数

offset
integer >= 0
Default: 0

取得をスキップする件数

Responses

Response samples

Content type
application/json
Example
{
  • "orders": [
    ]
}

アイテム一覧

アイテムの一覧をダッシュボードで設定されている並び順で返します。

※店舗の在庫数は取得できません。

query Parameters
ids
string

アイテムidで検索する場合に指定してください。 複数指定する場合はカンマ(,)区切りで指定してください。

status
string
Enum: "shown" "hidden" "unlisted"

アイテムのステータスで検索する場合に指定してください。

  • shown ... 公開
  • hidden ... 非公開
  • unlisted ... 限定公開
in_stock
boolean

在庫の有無を検索したい場合に指定してください。

only_preorder_sales
boolean
Default: false

予約販売のアイテムのみ検索したい場合にtrueを指定してください。

keyword
string <= 100 characters

下記の項目を対象に部分一致の検索を行いたい場合に指定してください。

  • アイテム名
  • アイテム説明
  • バーコード
  • 品番

keywordを指定した場合、keywordの関連度順で結果を返します。

limit
integer [ 1 .. 100 ]
Default: 10

取得するデータの最大件数

offset
integer >= 0
Default: 0

取得をスキップする件数

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

アイテム作成

指定した内容でアイテムを登録します。
物販のアイテムのみ作成可能です。

※店舗の在庫数は設定できません。

Request Body schema: application/json
name
required
string

アイテム名

description
required
string

商品説明

images
Array of strings

アップロードした画像のファイル名
アイテム用画像アップロード情報生成APIから取得したファイル名を指定してください。

category_ids
Array of strings

カテゴリーID
子カテゴリーのIDを設定するとそのカテゴリーの親カテゴリー設定されます。

reduced_tax
boolean
Default: false

軽減税率対象か否か

object

配送方法
※配送方法を設定するには送料詳細設定のアドオンがONになっている必要があります。

status
required
string
Enum: "shown" "hidden"

ステータス

  • shown ... 公開
  • hidden ... 非公開

アイテムを公開するには価格、商品説明、画像が設定されている必要があります。

limited_quantity
integer

個数制限
※個数制限を設定するには購入個数制限のアドオンをONにする必要があります。

type
required
string
Value: "regular"

アイテムの種類

  • regular ... 物販
required
Array of objects

バリエーション

object or null

販売期間情報
※販売期間情報を設定するには販売期間指定のアドオンをONにする必要があります。

object or null (PreorderSales)

予約販売情報
※予約販売を設定するには予約販売のアドオンをONにする必要があります。

Responses

Request samples

Content type
application/json
{
  • "name": "Tシャツ",
  • "description": "オリジナルのTシャツです。",
  • "images": [
    ],
  • "category_ids": [
    ],
  • "reduced_tax": false,
  • "delivery_method_ids": {
    },
  • "status": "shown",
  • "limited_quantity": 0,
  • "type": "regular",
  • "variations": [
    ],
  • "sales_period": {
    },
  • "preorder_sales": {
    }
}

Response samples

Content type
application/json
{
  • "id": "616950cd768f7263b4dab1a1",
  • "name": "Tシャツ",
  • "created_at": "2021-12-09T12:30:00+09:00",
  • "status": "shown",
  • "limited_quantity": 0,
  • "description": "オリジナルのTシャツです。",
  • "reduced_tax": false,
  • "type": "regular",
  • "preorder_sales": {
    },
  • "sales_period": {
    },
  • "variations": [
    ],
  • "price": 1800,
  • "regular_price": 2000,
  • "discount_amount": 200,
  • "discount_rate": 0.1,
  • "category_ids": [
    ],
  • "delivery_method_ids": {
    }
}

アイテム更新

対象アイテムを指定した内容で更新します。
物販のアイテムのみ更新可能です。

※店舗の在庫数は設定できません。

path Parameters
item_id
required
string

アイテムID

Request Body schema: application/json
name
string

アイテム名

description
string

商品説明

images
Array of strings

アップロードした画像のファイル名
アイテム用画像アップロード情報生成APIから取得したファイル名を指定してください。

category_ids
Array of strings

カテゴリID
子カテゴリーのIDを設定するとそのカテゴリーの親カテゴリー設定されます。

reduced_tax
boolean
Default: false

軽減税率対象か否か

object

配送方法
※配送方法を設定するには送料詳細設定のアドオンがONになっている必要があります。

status
string
Enum: "shown" "hidden" "unlisted"

ステータス

  • shown ... 公開
  • hidden ... 非公開
  • unlisted ... 限定公開

アイテムを公開するには価格、商品説明、画像が設定されている必要があります。

limited_quantity
integer

個数制限
※個数制限を設定するには購入個数制限のアドオンをONにする必要があります。

type
string
Value: "regular"

アイテムの種類

  • regular ... 物販
Array of objects

バリエーション

指定された内容でバリエーション情報を設定します。
※ バリエーションを更新する際、idの指定がない登録済みのバリエーションは削除されます。

object or null

販売期間情報
※販売期間情報を設定するには販売期間指定のアドオンをONにする必要があります。

object or null (PreorderSales)

予約販売情報
※予約販売を設定するには予約販売のアドオンをONにする必要があります。

Responses

Request samples

Content type
application/json
{
  • "name": "Tシャツ",
  • "description": "オリジナルのTシャツです。",
  • "images": [
    ],
  • "category_ids": [
    ],
  • "reduced_tax": false,
  • "delivery_method_ids": {
    },
  • "status": "shown",
  • "limited_quantity": 0,
  • "type": "regular",
  • "variations": [
    ],
  • "sales_period": {
    },
  • "preorder_sales": {
    }
}

Response samples

Content type
application/json
{
  • "id": "616950cd768f7263b4dab1a1",
  • "name": "Tシャツ",
  • "created_at": "2021-12-09T12:30:00+09:00",
  • "status": "shown",
  • "limited_quantity": 0,
  • "description": "オリジナルのTシャツです。",
  • "reduced_tax": false,
  • "type": "regular",
  • "preorder_sales": {
    },
  • "sales_period": {
    },
  • "variations": [
    ],
  • "price": 1800,
  • "regular_price": 2000,
  • "discount_amount": 200,
  • "discount_rate": 0.1,
  • "category_ids": [
    ],
  • "delivery_method_ids": {
    }
}

カテゴリー一覧

カテゴリーの一覧を設定されている並び順で返します。

query Parameters
ids
string

カテゴリーIDで検索する場合に指定してください。 複数指定する場合はカンマ(,)区切りで指定してください。

parent_ids
string

親カテゴリーIDで検索する場合に指定してください。 複数指定する場合はカンマ(,)区切りで指定してください。

limit
integer [ 1 .. 100 ]
Default: 10

取得するデータの最大件数

offset
integer >= 0
Default: 0

取得をスキップする件数

Responses

Response samples

Content type
application/json
{
  • "categories": [
    ]
}

送料設定

国内・海外の送料設定を返します。

Responses

Response samples

Content type
application/json
No sample

アイテム用画像アップロード情報生成

アイテム用画像をアップロードするために必要な情報を生成します。
このエンドポイントから取得できるレスポンスを使って、画像をアップロードできます。
画像アップロードに成功すれば、アイテム作成・更新APIを通じて、アイテムに画像を設定することができます。

画像アップロード手順

  1. このエンドポイント /retail/202211/items/image_upload にPOSTリクエストを送信してください。
  2. レスポンスから signature の値をフォームデータに格納します。
  3. アップロード対象のファイルをフォームデータの最後尾に file として追加します。
  4. レスポンスの post_endpoint にフォームデータをPOSTしてください。
  5. post_endpoint へのPOSTが正常に完了すると、signature.key をアイテム作成・更新APIの image の値として指定し、アイテムに画像を設定できます。

※アップロードされた画像は一時的に保存されますが、一定期間アイテム作成・更新で指定されず、どのアイテムにも紐づかない状態が続いた場合、削除されます。

画像アップロードのサンプルコードは、このエンドポイントの「Request samples」をご覧ください。 画像アップロードが成功すると、ステータスコード 201 で以下のようなレスポンスが返却されます。

<?xml version="1.0" encoding="UTF-8"?>
<PostResponse>
  <Location>https://xxxxxxxxxx/08cf3dc613365347f68b.jpeg</Location>
  <Bucket>xxxxxx</Bucket>
  <Key>08cf3dc613365347f68b.jpeg</Key>
  <ETag>"1f402d516612df43e3668bba5e34ac58"</ETag>
</PostResponse>
Request Body schema: application/json
name
required
string

ファイル名

content_type
required
string
Enum: "image/png" "image/jpg" "image/jpeg" "image/pjpeg" "image/gif"

ファイル種別

size
required
integer <= 5242880

ファイルサイズ(バイト)
5MB以下に設定してください。

Responses

Request samples

Content type
application/json
{
  • "name": "item.png",
  • "content_type": "image/png",
  • "size": 5000
}

Response samples

Content type
application/json
{
  • "signature": {
    },
}

在庫調整(ネットショップのみ)

ネットショップのアイテムの在庫数を更新します。

path Parameters
variation_id
required
string

バリエーション ID

Request Body schema: application/json
update_type
required
string
Enum: "absolute" "relative" "unlimited"

更新形式

  • absolute ... quantity の値を絶対値として在庫数を更新する
  • relative ... quantity の値を相対値として在庫数を更新する
  • unlimited ... 在庫数を無制限に更新する
quantity
integer or null

在庫数

update_type の値に応じて扱いが変化します。 update_typeunlimited の場合には指定不要です。

Responses

Request samples

Content type
application/json
Example
{
  • "update_type": "absolute",
  • "quantity": 10
}

Response samples

Content type
application/json
{
  • "variation_id": "616950cd768f7263b4dab1a1",
  • "quantity": 10
}

入金一覧

入金情報の一覧を振込日の降順で返します。 入金済みのデータのみ返します。
入金情報が作成されるタイミングは大きく分けて二つになります。

  1. 通常振込(月末)
  2. スピードキャッシュによる振込


振込金額の計算

振込金額 = 振込対象のオーダーの合計金額 - オーダーの決済手数料 - 振込手数料(事務手数料含む) - スピードキャッシュ手数料 - チャージバック調整金 - その他調整金

また、STORES負担クーポンが発生した場合、上記の振込とは別に振込が発生します

関連リンク

商品が売れてから売上入金までの流れを教えてください。
スピードキャッシュとは?

query Parameters
ids
string

idで検索する場合に指定してください。
複数指定する場合はカンマ(,)区切りで指定してください。

transferred_date_from
string

特定の振込日以降のオーダーを検索したい場合に指定してください。フォーマット: YYYY-MM-DD

transferred_date_to
string <date-time>

特定の振込日以前のオーダーを検索したい場合に指定してください。フォーマット: YYYY-MM-DD

limit
integer [ 1 .. 100 ]
Default: 10

取得するデータの最大件数

offset
integer >= 0
Default: 0

取得をスキップする件数

Responses

Response samples

Content type
application/json
{
  • "remittances": [
    ]
}

入金対象オーダー一覧

特定の入金のオーダーIDを一覧で返します。

path Parameters
remittance_id
required
string

入金id

Responses

Response samples

Content type
application/json
{
  • "remittance_id": "string",
  • "order_ids": [
    ]
}

店舗情報一覧

店舗情報の一覧を登録された日時の降順で返します。

query Parameters
limit
integer [ 1 .. 100 ]
Default: 10

取得するデータの最大件数

offset
integer >= 0
Default: 0

取得をスキップする件数

Responses

Response samples

Content type
application/json
{
  • "sales_channels": [
    ]
}

発送完了

指定オーダーに対し、発送完了処理を行います。

※ 発送完了メールの送信について

  • 発送完了メール機能がONの場合、対象のオーダーに発送完了メールが送信されます
  • 発送完了メール機能がOFFの場合、対象のオーダーに発送完了メールが送信されません
path Parameters
order_id
required
string

オーダーID

https://api.stores.dev/retail/202109/orders から取得できるオーダー番号では更新できません。
本ドキュメント記載のオーダー一覧から取得できる id(オーダーID)を指定してください。

Responses

Response samples

Content type
application/json
{
  • "id": "624ec8c2768f72913ffe9694",
  • "email": "hoge@example.com",
  • "number": "6187637539",
  • "sales_channel_id": null,
  • "total_amount": 2900,
  • "total_discount": 400,
  • "sales_amount": 2500,
  • "sales_discount": 400,
  • "sales_tax": 100,
  • "payment_amount": 2500,
  • "payment_tax": 250,
  • "cancel_amount": 0,
  • "cancel_discount": 0,
  • "total_tax": 263,
  • "cancel_tax": 0,
  • "tax_details": [
    ],
  • "transactions": [
    ],
  • "deliveries": [
    ],
  • "option": [
    ],
  • "note": "オーダーのメモ",
  • "remarks": "備考",
  • "receipt_address": "〇〇株式会社",
  • "ordered_at": "2022-04-07T20:19:31+09:00",
  • "readied_at": "2022-04-08T11:45:00+09:00",
  • "billing_address": {
    }
}

配送情報更新

指定オーダーに対し、配送情報を更新します。

配送情報一括登録機能で登録可能な項目を更新します。更新対象は「発送完了」以外の項目です。

path Parameters
order_id
required
string

オーダーID

https://api.stores.dev/retail/202109/orders から取得できるオーダー番号では更新できません。
本ドキュメント記載のオーダー一覧から取得できる id(オーダーID)を指定してください。

Request Body schema: application/json
delivery_method_name
string <= 20 characters

配送方法

配送会社などの配送情報

estimated_arrival_date
string <= 30 characters

到着予定日

日付の形式に指定はありません。

  • MM月DD日 午前中
  • YYYY/MM/DD HH:mm
  • MM月DD日
tracking_number
string <= 20 characters

問い合わせ番号など

shipped_mail_message
string <= 1000 characters

備考

購入者様に送られる発送完了メールにメッセージを含めることができます。

Responses

Request samples

Content type
application/json
{
  • "delivery_method_name": "string",
  • "estimated_arrival_date": "2019-08-24T14:15:22Z",
  • "tracking_number": "012030485",
  • "shipped_mail_message": "配送情報メモ"
}

Response samples

Content type
application/json
{
  • "id": "624ec8c2768f72913ffe9694",
  • "email": "hoge@example.com",
  • "number": "6187637539",
  • "sales_channel_id": null,
  • "total_amount": 2900,
  • "total_discount": 400,
  • "sales_amount": 2500,
  • "sales_discount": 400,
  • "sales_tax": 100,
  • "payment_amount": 2500,
  • "payment_tax": 250,
  • "cancel_amount": 0,
  • "cancel_discount": 0,
  • "total_tax": 263,
  • "cancel_tax": 0,
  • "tax_details": [
    ],
  • "transactions": [
    ],
  • "deliveries": [
    ],
  • "option": [
    ],
  • "note": "オーダーのメモ",
  • "remarks": "備考",
  • "receipt_address": "〇〇株式会社",
  • "ordered_at": "2022-04-07T20:19:31+09:00",
  • "readied_at": "2022-04-08T11:45:00+09:00",
  • "billing_address": {
    }
}

クーポン作成

指定した内容でクーポンを作成します。

Request Body schema: application/json
name
required
string [ 1 .. 20 ] characters

クーポン名

code
required
string or null [ 1 .. 10 ] characters

クーポンコード

半角英数字10文字以内を指定可能です。 コードを自動生成したい場合は null を指定して auto_code_generation の値をtrueにする必要があります。

auto_code_generation
required
boolean

クーポンコードを自動生成するかどうかの指定

自動生成する場合は code の値を null にする必要があります。

status
required
boolean

クーポンの状態

trueで有効、falseで無効。

quantity
required
integer or null [ 1 .. 999999 ]

クーポンの発行数

無制限の場合は null を指定します。

mail_notice
required
boolean

自動配信メール設定

クーポン開始日と終了日付近にメールを会員に自動配信するかを指定します。

frequency_limitation
required
integer [ 0 .. 1 ]

使用可能回数

0 は「何度でも使用可能」、1 は「1人1回まで」。

required
Array of FreeShippingCouponDetail (object) or DiscountCouponDetail (object) or PercentDiscountCouponDetail (object) = 1 items

クーポンの種別と割引値の設定

required
Array of objects <= 1 items

使用条件

クーポン使用に条件がない場合は空の配列を指定します。

required
object or null

有効期限

無期限の場合は null を指定します。

Responses

Request samples

Content type
application/json
{
  • "name": "割引クーポン",
  • "code": "pL8PWJ21vH",
  • "auto_code_generation": false,
  • "status": true,
  • "quantity": null,
  • "mail_notice": true,
  • "frequency_limitation": 0,
  • "details": [
    ],
  • "conditions": [
    ],
  • "expire": {
    }
}

Response samples

Content type
application/json
{
  • "id": "616950cd768f7263b4dab1a1",
  • "name": "割引クーポン",
  • "code": "pL8PWJ21vH",
  • "status": true,
  • "quantity": null,
  • "mail_notice": true,
  • "frequency_limitation": 0,
  • "details": [
    ],
  • "conditions": [
    ],
  • "expire": {
    },
  • "created_at": "2023-07-24T14:15:22Z"
}