← 返回 Skills 市场
onokje

Wake-up On LAN (WOL) API

作者 Martin Schimmel · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ pending
45
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install wol-api
功能描述
Access WOL API to browse catering menu, place orders, check order history and balance, and manage event registrations including status and sign-up.
使用说明 (SKILL.md)

WOL API

Interact with the Wake-up On LAN website via its REST API using curl. There are 2 major features: A catering system, and event registration system.

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_TOKEN is empty, ask the user:

    "Please paste your API token, or configure the WOL_API_TOKEN environment variable. You can generate one at /user/api-tokens on the WOL site."

  • If WOL_BASE_URL is 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/or the user's message to determine which action to take.


Catering: 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)

Catering: 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).


Catering: 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 prepared
  • waiting — queued behind other orders
  • ready — ready for pick-up
  • complete — picked up / done
  • cancelled / rejected — not fulfilled

Event registration: Check event status

Trigger: $ARGUMENTS contains eventstatus, or user asks if the WOL registrations are open or not

curl -s \
  -H "Authorization: Bearer $TOKEN" \
  "$BASE_URL/api/v1/events/zijn-de-inschrijvingen-al-open-of-nie"

Returns: open: true|false, with eventId if true.

Event registration: Register for event

Trigger: $ARGUMENTS contains register, or user asks to register for the next WOL event. Use "Check event status" to check if registrations are open or not, and if so, use that eventId to register the user with the following call:

curl -s -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  "$BASE_URL/api/v1/events/{eventId}/register"

The result is a simple success:true

Event registration: Check user registration status for an event

Trigger: $ARGUMENTS contains registration-status, or user asks to check his payment status for his registration for the next WOL event. Use "Check event status" to check if registrations are open or not, and if so, use that eventId to check the users' registration status with the following call:

curl -s \
  -H "Authorization: Bearer $TOKEN" \
  "$BASE_URL/api/v1/events/{eventId}/registration-status"

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 Validation error. Check the error message for more details. 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 (for catering endpoints)
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 -s flag suppresses progress output. Pipe through | python3 -m json.tool or 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.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install wol-api
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /wol-api 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Fixed event registration endpoint: corrected the registration URL from /events/register/{eventId} to /events/{eventId}/register. - No other changes to logic or features; documentation and triggers unchanged.
v1.0.0
wol-api v1.0.0 - Initial release of the wol-api skill for interacting with the Wake-up On LAN (WOL) API. - Supports listing catering products, placing orders, viewing order history, and checking account balance. - Event registration features: check if registrations are open, register for an event, and check registration/payment status. - Handles API credentials via environment variables with clear user prompts if missing. - Includes detailed error handling and response formatting for all endpoints.
元数据
Slug wol-api
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Wake-up On LAN (WOL) API 是什么?

Access WOL API to browse catering menu, place orders, check order history and balance, and manage event registrations including status and sign-up. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 45 次。

如何安装 Wake-up On LAN (WOL) API?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install wol-api」即可一键安装,无需额外配置。

Wake-up On LAN (WOL) API 是免费的吗?

是的,Wake-up On LAN (WOL) API 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Wake-up On LAN (WOL) API 支持哪些平台?

Wake-up On LAN (WOL) API 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Wake-up On LAN (WOL) API?

由 Martin Schimmel(@onokje)开发并维护,当前版本 v1.0.1。

💬 留言讨论