營業額實績 API(Sales API)的使用方式
彙整 ReceiptRoller 營業額實績 API(/api/v1/sales/*)的概要,以及依商業帳戶、店鋪、POS 端末、期間的篩選方法。這是一份涵蓋實際回應結構(KpiValue 巢狀型)與 averageTicket、權杖有效期限(8 小時)在內,為在 Android/iOS 行動應用程式或伺服器串接實作營業額儀表板的入門指南。
代表性的 API 範例
以 curl 命令介紹 ReceiptRoller API 代表性端點的呼叫範例(收據取得、店鋪一覽、商品建立、Webhook 登錄)。
開發者入口可做的事
概觀 ReceiptRoller 的開發者入口可做的事。組合 REST API 的資料取得、操作與 Webhook 的即時事件接收,可從外部系統串接店鋪、使用者資料。
無法取得權杖(驗證錯誤)
無法取得存取權杖時的原因釐清。解說 invalid_client、invalid_grant、redirect_uri_mismatch 等代表性錯誤與因應。
原生行動應用程式指南:多商業帳戶存取與 OAuth 流程
Android / iOS 原生應用程式的實作指南。應用程式登錄時將「授權時將權杖關聯至 1 個商業帳戶」關閉,即會發行 user-scoped OAuth 權杖。以 /api/v1/me/organizations + ?organizationId= 模式即可跨多個商業帳戶存取。
員工管理 API(Staff API)的使用方式
這是使用 ReceiptRoller 員工管理 API(/api/v1/staff)對商業帳戶底下的員工(Staff)進行 CRUD 操作的指南。支援與 Square Team Member 互通的欄位(假名、多工作分配、薪資結構)。
商品管理 API(Products API)的使用方式
這是使用 ReceiptRoller 商品管理 API(/api/v1/products)對商業帳戶底下的商品進行 CRUD 操作的指南。適用於在 Android/iOS 應用程式或伺服器串接讀寫 PIM(商品主檔)時的入門文章。
取得商業帳戶、店鋪、POS 端末的一覽
彙整從行動應用程式/伺服器應用程式以 REST API 一覽使用者所屬商業帳戶、其底下的店鋪、各店鋪 POS 端末的步驟。
交易一覽 API(Transactions API:POS+OMS 整合摘要)的使用方式
ReceiptRoller 的 Transactions API 是將收銀營業額(PosTransactions)與銷售管理訂單(OmsOrders)整合為單一摘要的唯讀 API。在 Android/iOS 應用程式中一覽顯示「整個商業帳戶的交易」時,即為入口。
Webhook 的概要
解說 ReceiptRoller 的 Webhook 所投放的主要事件種類、應該使用 Webhook 而非輪詢的理由、投放形式(HTTPS POST + JSON)、投放保證的思考方式。
重送、順序、冪等性的設計
解說 ReceiptRoller Webhook 的重送政策、投放順序不保證的理由、使用 event_id 的冪等性實作、無效信件的處理、常見反模式。
銷售管理 API(Orders / OMS API)的使用方式
這是使用 ReceiptRoller 銷售管理 API(/api/v1/orders)對商業帳戶底下的訂單進行 CRUD 操作的指南。彙整訂單的建立、更新、狀態轉移(確認、處理中、取消)、刪除,以及適用於 Android/iOS 應用程式或伺服器串接的流程。
SNS Webhook 旁路(LINE 等外部 SNS 的 Webhook 轉發)
解說 ReceiptRoller 將從 LINE 等 SNS 平台接收到的 Webhook,在店鋪端同意下轉發至開發者應用程式的「SNS Webhook 旁路」功能的機制、設定方法、簽章的處理、注意事項。
回傳 403/401(權限、權限範圍)
API 呼叫回傳 401 或 403 時的原因釐清。解說權杖無效、權限範圍不足、無店鋪存取權、User 系審查未通過等典型情況。
SLA、稼動率與故障時的確認步驟
解說 ReceiptRoller API 的稼動率目標、狀態頁面的確認方法、故障發生時的釐清步驟,以及支援升級的流程。
什麼是應用程式登錄
說明 ReceiptRoller 的應用程式登錄的概念。透過將應用程式登錄為 OAuth 用戶端,會發行用戶端 ID、密鑰、重新導向 URI,可開始 API、Webhook 串接。
OAuth 權限範圍一覽與利用可否
說明 ReceiptRoller 的 OAuth API 可利用的權限範圍的一覽,與各權限範圍被授予哪種類型的應用程式。也涵蓋 User 系權限範圍的審查要件、Store 系與 User 系無法混在的理由、從 LIFF 應用程式的利用方法。