WOL catering api
/install wol-catering-api
WoL Catering API
Interact with the Wake-up On LAN catering system via its REST API using curl.
Step 1 — Resolve credentials
Run these two shell commands to check for environment variables:
echo "${WOL_API_TOKEN}"
echo "${WOL_BASE_URL}"
- If
WOL_API_TOKENis empty, ask the user:"Please paste your API token, or configure the WOL_API_TOKEN environment variable. You can generate one at
/user/api-tokenson the WOL site." - If
WOL_BASE_URLis empty, asume https://wollan.nl as the base url.
Store the resolved values as TOKEN and BASE_URL for use in the commands below.
Step 2 — Dispatch on user intent
Look at $ARGUMENTS and the user's message to determine which action to take.
List products / show the menu
Trigger: $ARGUMENTS contains products, or the user asks what is available / what's on the menu.
curl -s \
-H "Authorization: Bearer $TOKEN" \
"$BASE_URL/api/v1/catering/products"
Present the result grouped by category. For each product show:
- Name
- Price formatted as
€X.XX(response values are in euro cents — divide by 100) - Stock status (
inStock/ out of stock) - Product ID (the user needs this to place an order)
Place an order
Trigger: $ARGUMENTS contains order, or the user says they want to order something.
Parse items from $ARGUMENTS in the format productId:quantity,... (e.g. order 3:2,5:1 means product 3 qty 2, product 5 qty 1). If no items are provided in $ARGUMENTS, ask the user which products and quantities they want (show the menu first if needed).
Assume a quantity of 1 if the user provides a product or list of products without quantities.
Build the JSON body and POST:
curl -s -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"items": [{"productId": PRODUCT_ID, "quantity": QUANTITY}]}' \
"$BASE_URL/api/v1/catering/orders"
On 201 Created: show a confirmation with the order ID, items, and total cost (sum of quantity × productPrice for all items, formatted as €X.XX).
View order history and account balance
Trigger: $ARGUMENTS contains history, is empty, or the user asks about their orders / balance.
curl -s \
-H "Authorization: Bearer $TOKEN" \
"$BASE_URL/api/v1/catering/orders"
Present the account summary as a table:
| Amount | |
|---|---|
| Total spent | €X.XX |
| Total paid | €X.XX |
| Balance (owed) | €X.XX |
| Pending (in progress) | €X.XX |
Then list each order with its ID, date, status, and items. Only show the detailed order list if the user asks for it.
Order status meanings:
accepted— received, being preparedwaiting— queued behind other ordersready— ready for pick-upcomplete— picked up / donecancelled/rejected— not fulfilled
Error handling
| HTTP status | Meaning | Action |
|---|---|---|
401 Unauthorized |
Token invalid or expired | Ask the user to generate a new token at /user/api-tokens and set WOL_API_TOKEN |
403 Forbidden |
Not registered / not paid for the active event, | User needs to register for the active event and pay on the WOL site |
422 Unprocessable Entity |
Invalid product ID, quantity \x3C 1, or out of stock, or ordering has been disabled by crew | Check the error message: if it mentions "disabled by crew", inform the user that ordering is temporarily paused and they should try again later; If out of stock: Inform the user that the product is out of stock and suggest an alternative product from the same category if available. If other message: Show the error message from the response; suggest running the products command to check availability |
503 Service Unavailable |
No active catering event configured | Inform the user the catering system has no active event; contact the site admin |
500 Internal server error |
Something is wrong with the service, nothing the user can fix. | Inform the user that there is a problem with the service, this is nothing the user can fix; contact the site admin |
Notes
- All monetary values in API responses are in euro cents. Always divide by 100 before displaying (
250→€2.50). - The
curl -sflag suppresses progress output. Pipe through| python3 -m json.toolor similar if you want to inspect raw JSON. - Tokens are managed at
/user/api-tokens(web UI, requires login). Each token can have a name and optional expiry date.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install wol-catering-api - 安装完成后,直接呼叫该 Skill 的名称或使用
/wol-catering-api触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
WOL catering api 是什么?
Access the Wake-up On LAN catering API to list menu items, place orders by product ID and quantity, and view order history with account balance. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 46 次。
如何安装 WOL catering api?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install wol-catering-api」即可一键安装,无需额外配置。
WOL catering api 是免费的吗?
是的,WOL catering api 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
WOL catering api 支持哪些平台?
WOL catering api 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 WOL catering api?
由 Martin Schimmel(@onokje)开发并维护,当前版本 v1.0.0。