面向开发者
从 API 密钥到店铺订单:菜单、配置、时段、结账、结果与状态。外加保密密钥的路径。
Partner API v1 把店铺或收银台接入 Delieta。密钥决定公司:请求绝不包含 companyId 或 tenantSlug。金额以整数格罗什表示,币种只有 PLN。有两种形式:店铺(可发布密钥,放在店铺服务端)和自有系统(保密密钥)。
签发密钥
在面板中:设置 → 面向开发者。密钥文本只显示一次。格式:dlt_live_… 或 dlt_test_…。以 Authorization: Bearer … 或 x-delieta-api-key: … 发送。
- 可发布密钥恰好是
catalog:read+checkout:create。店铺把它放在服务端,不放浏览器。 - 保密密钥另外带有
orders:write、eta:quote、reservations:write或catering:write。它只留在服务器上,绝不用NEXT_PUBLIC_。 - 测试密钥读取与正式相同的产品并计算报价,但所有写操作都会被
test_key_readonly拒绝。创建订单需要dlt_live_…。
店铺:从菜单到状态
店铺循环由六次读写组成,都使用可发布密钥:
GET /api/v1/menu— 密钥所属公司的产品。GET /api/v1/shop-config— 品牌、营业时间、模块、下单规则。GET /api/v1/checkout/slots— 店铺何时接单。POST /api/v1/checkout— 购物车{ itemId, quantity, options? };价格由 Delieta 计算。需要Idempotency-Key。GET /api/v1/checkout/result— 在线支付结果,供确认页面使用。GET /api/v1/orders/{id}/status— 订单在哪里,供跟踪页面使用。
客户端发送买什么,绝不发送多少钱。在线支付返回 url,现金立刻返回 trackingUrl;把这个地址交给顾客。店铺状态(modules、ordering、hours、closures)从 shop-config 读取,不要猜。预订、咨询和餐饮是单独的操作,见 Partner API。
自有系统:报价与订单
收银台或合作方渠道使用保密密钥,并调用:
POST /api/v1/quotes— 到某个地址的分钟窗口(eta:quote)。始终是范围,绝非保证。POST /api/v1/orders— 使用你提供的价格的订单(orders:write)。Idempotency-Key为必填。GET /api/v1/orders/{id}— 读取订单进度(orders:write),计入读取限额。
201 响应带有 order.trackingUrl:你交给客户的链接,即 /o/… 页面。不要另建第二个跟踪地址。公司要求接单确认时,订单从 pending_acceptance 开始;改变状态的是厨房里的人或超时,不是你的后端。
店铺契约与 Webhook
店铺的后端是 @delieta/shop-runtime 包,而不是店铺仓库里的文件:这就是店铺契约描述的内容。Delieta 发给店铺的只有一个签名的刷新信号,见 Webhook。没有订单状态 webhook — 状态用 GET 读取。
完整说明,与 GET /api/v1/openapi 一致:Partner API。

