Okam
Build a Norwegian restaurant's own ordering site on Okam. Call kit_learn first. No sign-in to build.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"okam": {
"url": "https://api.okam.no/mcp"
}
}
}远程端点
https://api.okam.no/mcpstreamable-http它能做什么
工具清单
工具(19)
🔴cart_update_item(storeId, lineItemId, quantity, selectedOptionIds, notes)
Update quantity, notes, or selected options on an existing cart line item. Quantity <= 0 removes the item.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
},
"lineItemId": {
"description": "Line item id from cart_get.",
"type": "string",
"format": "uuid"
},
"quantity": {
"description": "New quantity. Use 0 to remove.",
"type": "integer"
},
"selectedOptionIds": {
"description": "Optional replacement selected product option ids as GUID strings.",
"type": "array",
"items": {
"type": "string"
},
"default": null
},
"notes": {
"description": "Optional replacement notes.",
"type": "string",
"default": null
}
},
"required": [
"storeId",
"lineItemId",
"quantity"
]
}输出模式
{
"type": "object",
"properties": {
"cart": {
"type": [
"object",
"null"
],
"properties": {
"cartId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"storeId": {
"type": "integer"
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"tableName": {
"type": [
"string",
"null"
]
},
"deliveryAddress": {
"type": [
"object",
"null"
],
"properties": {
"fullAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"deliveryInstructions": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"string",
"null"
]
},
"longitude": {
"type": [
"string",
"null"
]
}
}
},
"items": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"lineItemId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"quantity": {
"type": "integer"
},
"notes": {
"type": [
"string",
"null"
]
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"selectedOptions": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"optionId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"priceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"lineTotal": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"totals": {
"type": [
"object",
"null"
],
"properties": {
"itemsAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"serviceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"woltServiceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tipAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"finalAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"discountAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}
}🟢store_list(longitude, latitude)
List stores available to the current user. Optional longitude and latitude improve distance sorting.
输入模式
{
"type": "object",
"properties": {
"longitude": {
"description": "Optional longitude for distance sorting.",
"type": "string",
"default": null
},
"latitude": {
"description": "Optional latitude for distance sorting.",
"type": "string",
"default": null
}
}
}🟢storefront_verify_result(storefrontKey, runId)
Store key: call after running the verify command, with the runId of that latest run. Pass or fail per check, and whether the server saw the run's sandbox order paid; when green, the go-live list. The CLI's PASS/WAIT/FAIL lines are authoritative: checks that only WAITed (sandbox guest sign-in) are missing here, so a run with no FAIL in the CLI has nothing to fix. While the store is closed the payment checks FAIL; rerun while it is open. If every check FAILed with locator.waitFor: Timeout, no menu item appeared: the server stopped or the origin differs from storefront_connect's; fix it and rerun. The record changes only when verify runs again.
输入模式
{
"type": "object",
"properties": {
"storefrontKey": {
"description": "The site's publishable storefront key, the same one given to storefront_connect.",
"type": "string",
"default": null
},
"runId": {
"description": "The runId of the latest verify run, as storefront_connect returned and the CLI printed it.",
"type": "string",
"default": null
}
}
}🟢storefront_connect(storefrontKey, origin, path)
Store key: call when the site is served from a process that keeps running (background, fixed port) and menu items show at that origin. Use http://localhost:<port>, not 127.0.0.1: the sandbox key allows only localhost. Returns whether the origin is allowed, a runId and the exact verify command; run it as returned while the site runs. Sign-in and every check after it WAIT until the sandbox guest exists: report them, never stub sign-in. If originAllowed is false, read kit_docs_get topic onboarding. Each call starts a new run; use the latest runId. Example: {"storefrontKey":"pk_test_…","origin":"http://localhost:5173"}.
输入模式
{
"type": "object",
"properties": {
"storefrontKey": {
"description": "The site's publishable storefront key (pk_test_… or pk_live_…).",
"type": "string",
"default": null
},
"origin": {
"description": "The site's origin or full URL, for example http://localhost:4321 or https://test.okam.no/sandbox/. A path in it goes into the verify command's --url.",
"type": "string",
"default": null
},
"path": {
"description": "Optional path the site is served under, for example /sandbox/, when origin has none.",
"type": "string",
"default": null
}
}
}🟢menu_list(storeId, deliveryType, page)
List categories and products, with each product's allergens, for a store after delivery type has been selected. Delivery type affects product availability and prices. Results come in pages of whole categories; when nextPage is set, call again with that page for more.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
},
"deliveryType": {
"description": "Selected delivery type. Use values from store_get/store_list.",
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"page": {
"description": "Page number from nextPage; omit for the first page.",
"type": "integer",
"default": 1
}
},
"required": [
"storeId",
"deliveryType"
]
}输出模式
{
"type": "object",
"properties": {
"storeId": {
"type": "integer"
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"categories": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"categoryId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"orderIndex": {
"type": "integer"
},
"soldOut": {
"type": "boolean"
},
"items": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"isHeading": {
"type": "boolean"
},
"heading": {
"type": [
"string",
"null"
]
},
"orderIndex": {
"type": "integer"
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}
}
}
}
},
"page": {
"type": "integer"
},
"nextPage": {
"type": [
"integer",
"null"
]
}
}
}🟡cart_add_item(storeId, productId, quantity, selectedOptionIds, notes)
Add a configured product to the cart. Use product_configure first for required variant option ids.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
},
"productId": {
"description": "Product id from menu_list.",
"type": "string",
"format": "uuid"
},
"quantity": {
"description": "Quantity to add.",
"type": "integer",
"default": 1
},
"selectedOptionIds": {
"description": "Selected product option ids as GUID strings.",
"type": "array",
"items": {
"type": "string"
},
"default": null
},
"notes": {
"description": "Optional line item notes.",
"type": "string",
"default": null
}
},
"required": [
"storeId",
"productId"
]
}输出模式
{
"type": "object",
"properties": {
"cart": {
"type": [
"object",
"null"
],
"properties": {
"cartId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"storeId": {
"type": "integer"
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"tableName": {
"type": [
"string",
"null"
]
},
"deliveryAddress": {
"type": [
"object",
"null"
],
"properties": {
"fullAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"deliveryInstructions": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"string",
"null"
]
},
"longitude": {
"type": [
"string",
"null"
]
}
}
},
"items": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"lineItemId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"quantity": {
"type": "integer"
},
"notes": {
"type": [
"string",
"null"
]
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"selectedOptions": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"optionId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"priceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"lineTotal": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"totals": {
"type": [
"object",
"null"
],
"properties": {
"itemsAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"serviceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"woltServiceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tipAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"finalAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"discountAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}
}⚪checkout_verify(provider, paymentReference)
Verify an external payment after the user has completed the returned payment URL. Provider is vipps or dintero.
输入模式
{
"type": "object",
"properties": {
"provider": {
"description": "Payment provider: vipps or dintero.",
"type": "string"
},
"paymentReference": {
"description": "Vipps orderId or Dintero session/payment transaction id returned by checkout_start.",
"type": "string"
}
},
"required": [
"provider",
"paymentReference"
]
}输出模式
{
"type": "object",
"properties": {
"status": {
"type": [
"string",
"null"
]
},
"provider": {
"type": [
"string",
"null"
]
},
"paymentReference": {
"type": [
"string",
"null"
]
},
"message": {
"type": [
"string",
"null"
]
},
"order": {
"type": [
"object",
"null"
],
"properties": {
"orderId": {
"type": [
"string",
"null"
]
},
"friendlyOrderId": {
"type": [
"string",
"null"
]
},
"storeId": {
"type": "integer"
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"status": {
"type": [
"string",
"null"
]
},
"finalAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}🟢kit_docs_get(topic, block)
Public: with topic, that topic as Markdown; read assemble-a-shop, world-class-ordering-ux, verify-contract and the-return-page before building, the others when the steps name them. With block: where to read that reference block's source; read it, never install it. Without arguments: the topic and block lists. Read each topic once. Example: {"topic":"world-class-ordering-ux"}.
输入模式
{
"type": "object",
"properties": {
"topic": {
"description": "Optional topic slug from kit_learn's topics, for example assemble-a-shop or verify-contract.",
"type": "string",
"default": null
},
"block": {
"description": "Optional reference block name from kit_learn's blocks, for example menu.",
"type": "string",
"default": null
}
}
}🟢server_info
Public: basic information about the Okam MCP server.
输入模式
{
"type": "object",
"properties": {}
}🟢kit_learn(kitVersion, framework)
Public: call first whenever you build or change a restaurant's own ordering website or table booking on Okam. Returns the must-nots (the server owns every price, payment is the guest's own act), the build steps, the sandbox key, the topics and, with framework, the scaffold plan. The kit gives logic and outcomes, never a look: design the site from the restaurant's brief. Not for ordering food as a guest or for restaurant admin. Example: {"framework":"vite-react"}. Next: kit_docs_get for the topics the steps name.
输入模式
{
"type": "object",
"properties": {
"kitVersion": {
"description": "Optional kit version you were told to use; the current kit is always served.",
"type": "string",
"default": null
},
"framework": {
"description": "Framework for the scaffold plan: next, astro, vite-react or html (read package.json). Pass it on the first call.",
"type": "string",
"default": null
}
}
}🟢payment_methods_list(storeId)
List payment methods available for the current cart/user. Saved Stripe cards have ids; Dintero and Vipps are returned as payment types.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
}
},
"required": [
"storeId"
]
}🟢cart_validate(storeId)
Validate the current cart before checkout.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
}
},
"required": [
"storeId"
]
}输出模式
{
"type": "object",
"properties": {
"storeId": {
"type": [
"integer",
"null"
]
},
"hasErrors": {
"type": "boolean"
},
"deliveryAddressError": {
"type": "boolean"
},
"deliveryMethodError": {
"type": "boolean"
},
"priceDifferError": {
"type": "boolean"
},
"priceTooLowError": {
"type": "boolean"
},
"storeIsClosed": {
"type": "boolean"
},
"sameDayAfterHoursOrderNotAllowed": {
"type": "boolean"
},
"cartIsEmpty": {
"type": "boolean"
},
"paymentTypeError": {
"type": "boolean"
},
"giftcardBalanceTooLow": {
"type": "boolean"
},
"minimumPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"itemsOutOfStock": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}
}🟢store_get(storeId)
Get store details, including supported delivery types. Choose a delivery type before listing menu prices.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
}
},
"required": [
"storeId"
]
}输出模式
{
"type": "object",
"properties": {
"store": {
"type": [
"object",
"null"
],
"properties": {
"storeId": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
},
"slug": {
"type": [
"string",
"null"
]
},
"isOpenNow": {
"type": "boolean"
},
"approved": {
"type": "boolean"
},
"statusMessage": {
"type": [
"string",
"null"
]
},
"warningMessage": {
"type": [
"string",
"null"
]
},
"address": {
"type": [
"object",
"null"
],
"properties": {
"fullAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"deliveryInstructions": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"string",
"null"
]
},
"longitude": {
"type": [
"string",
"null"
]
}
}
},
"openingHours": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"dayOfWeek": {
"type": "integer"
},
"openingTime": {
"type": [
"string",
"null"
]
},
"closingTime": {
"type": [
"string",
"null"
]
},
"open": {
"type": "boolean"
}
}
}
},
"deliveryTypes": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"value": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
},
"available": {
"type": "boolean"
}
}
}
}
}
}
}
}🟢cart_get(storeId)
Get the current cart for a store.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
}
},
"required": [
"storeId"
]
}输出模式
{
"type": "object",
"properties": {
"cart": {
"type": [
"object",
"null"
],
"properties": {
"cartId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"storeId": {
"type": "integer"
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"tableName": {
"type": [
"string",
"null"
]
},
"deliveryAddress": {
"type": [
"object",
"null"
],
"properties": {
"fullAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"deliveryInstructions": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"string",
"null"
]
},
"longitude": {
"type": [
"string",
"null"
]
}
}
},
"items": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"lineItemId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"quantity": {
"type": "integer"
},
"notes": {
"type": [
"string",
"null"
]
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"selectedOptions": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"optionId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"priceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"lineTotal": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"totals": {
"type": [
"object",
"null"
],
"properties": {
"itemsAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"serviceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"woltServiceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tipAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"finalAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"discountAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}
}🟡cart_set_delivery(storeId, deliveryType, fullAddress, zipCode, city, ...)
Set cart delivery type and delivery details. This must be called before listing product prices or adding products to cart.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
},
"deliveryType": {
"description": "Selected delivery type.",
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"fullAddress": {
"description": "Required for home delivery.",
"type": "string",
"default": null
},
"zipCode": {
"description": "Required for home delivery.",
"type": "string",
"default": null
},
"city": {
"description": "Required for home delivery.",
"type": "string",
"default": null
},
"deliveryInstructions": {
"description": "Optional delivery instructions.",
"type": "string",
"default": null
},
"tableName": {
"description": "Required for table delivery.",
"type": "string",
"default": null
},
"comment": {
"description": "Optional order comment.",
"type": "string",
"default": null
},
"tipAmount": {
"description": "Optional tip amount in ore.",
"type": [
"integer",
"null"
],
"default": null
},
"tipPercent": {
"description": "Optional tip percent, 0-100.",
"type": [
"integer",
"null"
],
"default": null
},
"useReward": {
"description": "Whether to use available reward balance.",
"type": [
"boolean",
"null"
],
"default": null
}
},
"required": [
"storeId",
"deliveryType"
]
}输出模式
{
"type": "object",
"properties": {
"cart": {
"type": [
"object",
"null"
],
"properties": {
"cartId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"storeId": {
"type": "integer"
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"tableName": {
"type": [
"string",
"null"
]
},
"deliveryAddress": {
"type": [
"object",
"null"
],
"properties": {
"fullAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"deliveryInstructions": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"string",
"null"
]
},
"longitude": {
"type": [
"string",
"null"
]
}
}
},
"items": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"lineItemId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"quantity": {
"type": "integer"
},
"notes": {
"type": [
"string",
"null"
]
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"selectedOptions": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"optionId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"priceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"lineTotal": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"totals": {
"type": [
"object",
"null"
],
"properties": {
"itemsAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"serviceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"woltServiceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tipAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"finalAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"discountAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}
}🟢delivery_availability_check(storeId, fullAddress, zipCode, city)
Check whether Wolt delivery can deliver to an address and return the delivery price if available.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
},
"fullAddress": {
"description": "Street address.",
"type": "string"
},
"zipCode": {
"description": "Postal code.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
}
},
"required": [
"storeId",
"fullAddress",
"zipCode",
"city"
]
}输出模式
{
"type": "object",
"properties": {
"canDeliver": {
"type": "boolean"
},
"price": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"error": {
"type": [
"string",
"null"
]
}
}
}🟢product_configure(productId, deliveryType)
Get all variants, option ids and allergens for configuring a product before adding it to cart.
输入模式
{
"type": "object",
"properties": {
"productId": {
"description": "Product id from menu_list.",
"type": "string",
"format": "uuid"
},
"deliveryType": {
"description": "Selected delivery type. Delivery type affects product price.",
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
}
},
"required": [
"productId",
"deliveryType"
]
}输出模式
{
"type": "object",
"properties": {
"storeId": {
"type": [
"integer",
"null"
]
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"variants": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"variantId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"required": {
"type": "boolean"
},
"multiselect": {
"type": "boolean"
},
"orderIndex": {
"type": "integer"
},
"options": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"optionId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"selected": {
"type": "boolean"
},
"priceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"orderIndex": {
"type": "integer"
}
}
}
}
}
}
},
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}🔴checkout_start(storeId, paymentType)
Start checkout with Dintero or DinteroVipps. Returns a Dintero payment URL and reference; the guest approves the payment on Dintero's page. A zero-amount cart completes immediately. An unchanged cart gets the same payment link back.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
},
"paymentType": {
"description": "Dintero or DinteroVipps.",
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
}
},
"required": [
"storeId",
"paymentType"
]
}输出模式
{
"type": "object",
"properties": {
"status": {
"type": [
"string",
"null"
]
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"provider": {
"type": [
"string",
"null"
]
},
"paymentUrl": {
"type": [
"string",
"null"
]
},
"paymentReference": {
"type": [
"string",
"null"
]
},
"clientSecret": {
"type": [
"string",
"null"
]
},
"message": {
"type": [
"string",
"null"
]
},
"cart": {
"type": [
"object",
"null"
],
"properties": {
"cartId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"storeId": {
"type": "integer"
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"tableName": {
"type": [
"string",
"null"
]
},
"deliveryAddress": {
"type": [
"object",
"null"
],
"properties": {
"fullAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"deliveryInstructions": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"string",
"null"
]
},
"longitude": {
"type": [
"string",
"null"
]
}
}
},
"items": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"lineItemId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"quantity": {
"type": "integer"
},
"notes": {
"type": [
"string",
"null"
]
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"selectedOptions": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"optionId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"priceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"lineTotal": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"totals": {
"type": [
"object",
"null"
],
"properties": {
"itemsAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"serviceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"woltServiceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tipAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"finalAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"discountAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
},
"validation": {
"type": [
"object",
"null"
],
"properties": {
"storeId": {
"type": [
"integer",
"null"
]
},
"hasErrors": {
"type": "boolean"
},
"deliveryAddressError": {
"type": "boolean"
},
"deliveryMethodError": {
"type": "boolean"
},
"priceDifferError": {
"type": "boolean"
},
"priceTooLowError": {
"type": "boolean"
},
"storeIsClosed": {
"type": "boolean"
},
"sameDayAfterHoursOrderNotAllowed": {
"type": "boolean"
},
"cartIsEmpty": {
"type": "boolean"
},
"paymentTypeError": {
"type": "boolean"
},
"giftcardBalanceTooLow": {
"type": "boolean"
},
"minimumPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"itemsOutOfStock": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"$ref": "#/properties/cart/properties/items/items/properties/product/properties/unitPrice"
},
"basePrice": {
"$ref": "#/properties/cart/properties/items/items/properties/product/properties/basePrice"
},
"tablePriceAdjustment": {
"$ref": "#/properties/cart/properties/items/items/properties/product/properties/tablePriceAdjustment"
},
"deliveryPriceAdjustment": {
"$ref": "#/properties/cart/properties/items/items/properties/product/properties/deliveryPriceAdjustment"
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"$ref": "#/properties/cart/properties/items/items/properties/product/properties/allergens",
"items": {}
}
}
}
}
}
},
"order": {
"type": [
"object",
"null"
],
"properties": {
"orderId": {
"type": [
"string",
"null"
]
},
"friendlyOrderId": {
"type": [
"string",
"null"
]
},
"storeId": {
"type": "integer"
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"status": {
"type": [
"string",
"null"
]
},
"finalAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}🔴cart_remove_item(storeId, lineItemId)
Remove a cart line item.
输入模式
{
"type": "object",
"properties": {
"storeId": {
"description": "Okam store id.",
"type": "integer"
},
"lineItemId": {
"description": "Line item id from cart_get.",
"type": "string",
"format": "uuid"
}
},
"required": [
"storeId",
"lineItemId"
]
}输出模式
{
"type": "object",
"properties": {
"cart": {
"type": [
"object",
"null"
],
"properties": {
"cartId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"storeId": {
"type": "integer"
},
"deliveryType": {
"type": "string",
"enum": [
"NotSet",
"SelfPickup",
"InstantHomeDelivery",
"DineHomeDelivery",
"WoltDelivery",
"WoltMarketplaceDelivery",
"FoodoraDelivery",
"TableDelivery"
]
},
"paymentType": {
"type": "string",
"enum": [
"NotSet",
"Giftcard",
"PayInStore",
"Cash",
"CompanyAccount",
"Invoice",
"Stripe",
"Twint",
"Vipps",
"Dintero",
"DinteroVipps",
"DinteroBillie",
"DinteroKlarna",
"DinteroKravia",
"DinteroTerminal",
"WoltMarketplace",
"Foodora",
"Surfboard",
"SurfboardVipps",
"SurfboardTerminal"
]
},
"tableName": {
"type": [
"string",
"null"
]
},
"deliveryAddress": {
"type": [
"object",
"null"
],
"properties": {
"fullAddress": {
"type": [
"string",
"null"
]
},
"zipCode": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"deliveryInstructions": {
"type": [
"string",
"null"
]
},
"latitude": {
"type": [
"string",
"null"
]
},
"longitude": {
"type": [
"string",
"null"
]
}
}
},
"items": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"lineItemId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"quantity": {
"type": "integer"
},
"notes": {
"type": [
"string",
"null"
]
},
"product": {
"type": [
"object",
"null"
],
"properties": {
"productId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"soldOut": {
"type": "boolean"
},
"configurationRequired": {
"type": "boolean"
},
"unitPrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"basePrice": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tablePriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryPriceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"currency": {
"type": [
"string",
"null"
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"allergens": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"selectedOptions": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"optionId": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"priceAdjustment": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"lineTotal": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
},
"totals": {
"type": [
"object",
"null"
],
"properties": {
"itemsAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"deliveryAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"serviceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"woltServiceFeeAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"tipAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"finalAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
},
"discountAmount": {
"type": [
"object",
"null"
],
"properties": {
"amount": {
"type": "integer"
},
"currency": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}
}社区
证据