对象
您的身份
您已获批准的集成,由 Maple 明确分配给某个开发者组织。受邀的组织成员通过开发者控制台创建密钥。凭证、授权和订阅都以环境为范围;沙盒和生产是相互独立的部署。应用审批和权限范围上限仍由 Maple 管理。
一家餐厅
一家餐厅,也是 Developer API 操作的基本单位(ID 为
str_…)。商户会向您的应用授权某个门店;该授权让您可以读取它。门店有 status(active、inactive、paused),您应予以遵守。门店隶属于商户和组织,见组织、商户与门店。您是订单接收方
连接到已授权的门店,会让您的应用成为该门店的订单接收方。只有建立连接之后,订单才会路由给您。每个环境下,一个门店只能连接到一个应用。
顾客下的订单
顾客在已连接门店下的订单,包含商品明细、合计(由 Maple 计算)和支付对象。您通过决定调用来推动它走完生命周期。
门店的商品目录,包括分类、菜品、规格、加料选项,以及税费定义,以一份以您自己的外部 ID 为键的 JSON 文档发布。
您如何得知事件
一个 HTTPS 端点加上您需要的事件类型。Maple 会对事件签名并投递给它,并保留一份您可以从中重放的事件记录。
它们如何连接
商户向您授权一个门店 → 您连接到它 → 该门店的订单被推送到您的 webhook → 您对每笔订单作出决定。与此同时,您发布这些订单所依据的菜单。谁负责什么
这是最需要理解的一点,也是大多数餐厅集成最容易出错的地方。Maple 负责带有风险的部分:
您永远不需要计算价格、接触银行卡或构建支付流程。Maple 交给您的订单,
totals 已是最终值,payment 对象您可以读取但无需管理。
请把 Maple 的合计视为权威。您在订单阶段的工作是决定能否履行订单,而不是重新计价。
订单流程全貌
- 顾客在已连接的门店下单。
- (可选) Maple 发送
order.validation_requested,并等待您确认订单可以履行。见验证订单。 - Maple 发送包含完整订单的
order.notification。 - 您接受或拒绝订单。
- 您回报进度,先 ready,再 complete;如果接单后不得不取消,则 cancel。
- 如果顾客或门店取消,您会收到
order.cancelled。
环境
Maple 运行两个相互隔离的环境,各有自己的基础 URL:- 沙盒:
https://api.staging.maple.inc/v1,使用您的mpk_test_…密钥。用于开发和测试。 - 生产:
https://api.maple.inc/v1,使用您的mpk_live_…密钥。处理真实流量。
下一步
快速入门
亲自发出第一批调用。
身份验证
API 密钥、环境和权限范围的详细说明。