取引一覧API(Transactions API:POS+OMS統合フィード)の使い方
API
OAuth
取引
Transactions
POS
OMS
Android
iOS
このガイドの目的
レシートローラーの取引一覧API(Transactions API)は、レジでの売上(POSトランザクション)と販売管理上の注文(OMS)を1つのフィードに統合した読み取り専用のエンドポイントです。「ビジネスアカウント全体の取引を1画面で見たい」というユースケースをカバーします。
なぜ別エンドポイントなのか
- Sales API(売上実績API) はPOSトランザクションを集計してKPI/グラフを返します
- Orders API(販売管理API) はOMS注文のCRUDを提供します
- どちらも片方の世界しか見ません。「全チャネルの取引一覧」が必要な場合は本APIを使ってください
注意: Transactions API は読み取り専用です。書き込みは Orders API(OMS)または各POS連携経由で行ってください。
エンドポイント
GET /api/v1/transactions
?organizationId={organizationId}
&storeId={storeId} (任意、店舗で絞り込み)
&since=2026-05-01T00:00:00Z (任意、既定: 30日前)
&until=2026-06-01T00:00:00Z (任意、既定: 現在)
&source=all|pos|oms (任意、既定: all)
&page=1
&pageSize=100 (最大500)
Authorization: Bearer {access_token}
必要スコープ: store.orders.read または sales.read のいずれか1つ。
レスポンス例
{
"organizationId": "a04507de-043a-4b47-b0a3-6204562f6e20",
"window": {
"since": "2026-05-01T00:00:00Z",
"until": "2026-06-01T00:00:00Z"
},
"transactions": [
{
"id": "pos:term-001:tx-9001",
"source": "pos",
"occurredAt": "2026-05-31T18:22:14Z",
"storeId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"channel": "POS",
"status": "Completed",
"amounts": { "subtotal": 960, "tax": 96, "shipping": 0, "discount": 0, "total": 1056 },
"itemCount": 2,
"customer": null,
"links": {
"posTransactionId": "tx-9001",
"posTerminalId": "term-001",
"omsOrderId": null
}
},
{
"id": "oms:ord-001",
"source": "oms",
"occurredAt": "2026-05-31T09:10:00Z",
"storeId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"channel": "Web",
"status": "Delivered",
"amounts": { "subtotal": 1140, "tax": 114, "shipping": 500, "discount": 0, "total": 1754 },
"itemCount": 3,
"customer": { "name": "佐藤花子", "email": "hanako@example.com" },
"links": {
"posTransactionId": null,
"posTerminalId": null,
"omsOrderId": "ord-001"
}
}
],
"page": 1,
"pageSize": 100,
"totalCount": 247,
"totalPages": 3
}
フィールドの読み方
source—"pos"または"oms"。どちらの世界から来た取引かを示しますoccurredAt— POSは取引日時、OMSは作成日時。混在してDESC順にソート済みchannel— POSは常に"POS"。OMSはWeb/Phone/Manual/Marketplaceなどstatus— POSはCompleted/Voided。OMSはPending/Confirmed/Processing/Shipped/Delivered/Cancelled/Refundedcustomer— POSはnull、OMSは入力されていれば名前・メールlinks— フォローアップで詳細を取りたいときに使うID。POS行はposTransactionId+posTerminalIdを、OMS行はomsOrderIdを埋めて返します
制限事項
- 取得期間は最大365日。それを超えると
400 Bad Request - ソースごとに最大5000件を内部で取得してマージ。それを超える長期間・大量取引のテナントでは
since/untilで絞り込んでください - 1ページあたり最大500件
- POSとOMSの紐付け(オンライン注文を店舗カウンターで受け取りなど)は未対応です。これは t-e9a2f470(Phase 2)でリリース予定です
POSとOMSは別の世界という前提
現状のレシートローラーでは:
- レジ(Square / スマレジ / Airレジなど)でのレジ売上 → PosTransactions のみに書き込まれます
- Web受注/電話受注/マーケットプレイス → OmsOrders のみに書き込まれます
- POSとOMSは現在連動していません。同じビジネスの取引なのに2つの場所に分かれて記録されます
本APIはこの分断をAPI層で仮想的に統合するものです。データ層の統合は今後のフェーズで予定しています:
- Phase 2 (t-e9a2f470): オンライン注文の店舗受け取りを
OmsOrder.LinkedPosTransactionIdで連動 - Phase 3 (t-e9a2f471, t-e9a2f472): POS取引をOMSにも自動materialize。分析もOMSベースへ統一
典型的なフロー(モバイルアプリ)
- OAuthでアクセストークン取得 →
store.orders.readまたはsales.readをスコープに含める GET /api/v1/me/organizationsでビジネスアカウント選択- 取引一覧画面で
GET /api/v1/transactions?since=...&pageSize=50を呼び、無限スクロールでpageを進める - 各行の
sourceでPOSアイコン/OMSアイコンを切り替えて表示 - タップしたら
linksを見て、POS行なら/api/v1/sales/productsや Sales API へ、OMS行ならGET /api/v1/orders/{omsOrderId}へドリルダウン
エラーレスポンス
| ステータス | 意味 | 対処 |
|---|---|---|
| 401 Unauthorized | アクセストークン無効/期限切れ | リフレッシュ |
| 403 Forbidden | スコープなし/ビジネスアカウント非メンバー | スコープ確認 |
| 400 Bad Request | 取得期間が365日超/until <= since/source 値不正 | パラメータ見直し |
関連情報
公開日: 2026-06-01
更新日: 2026-06-01
カテゴリ
タグ
API (17)
OAuth (11)
Android (8)
Webhook (8)
iOS (7)
api (6)
oauth (5)
トラブル (5)
POS連携 (4)
getting-started (4)
関連記事
-
リクエストとレスポンスの基本(JSON)レシートローラーAPIのリクエスト形式、必須ヘッダー、レスポンス構造、ページネーション、フィルタリング、日時形式の規則を解説します。
-
ネイティブモバイルアプリ向けガイド: 複数ビジネスアカウントアクセスと OAuth フローAndroid / iOS のネイティブアプリ向け実装ガイド。アプリ登録時に「認可時に1つのビジネスアカウントへトークンを紐付ける」をオフにすると、user-scoped OAuth トークンが発行されます。/api/v1/me/organizations + ?organizationId= パターンで複数ビジネスアカウントを横断アクセスできます。
-
PosTransactionDto 仕様 — 取引データのフィールドリファレンスレシートローラーが扱う取引データの正規モデル PosTransactionDto の全フィールドを解説します。識別子・日時・金額・明細・支払い・スタッフ・ステータス・CRM 連携の各カテゴリーごとに、フィールド名・型・意味・各 POS ベンダーからの埋め方をまとめた、開発者および外部システム連携担当者向けのリファレンスです。スマレジ・Square 双方のマッピング記事からも参照されます。
-
商品管理API(Products API)の使い方レシートローラーの商品管理API(/api/v1/products)でビジネスアカウント配下の商品をCRUD操作するためのガイドです。Android/iOSアプリやサーバー連携でPIM(商品マスター)を読み書きする際の入門記事です。
-
店舗内メディアディスプレイAPI(Display API)の使い方レシートローラーの店舗内 Android ディスプレイ向け API(/api/v1/displays/*)の概要とペアリング・ハートビート・プレイリスト取得・再生実績報告の手順をまとめます。Android キオスクや店舗サイネージ端末でメディアループを再生するアプリを実装するための入門ガイドです。