← 返回 Skills 市场
nwang783

Clawver Orders

作者 nwang783 · GitHub ↗ · v1.0.3
cross-platform ⚠ suspicious
1620
总下载
0
收藏
3
当前安装
4
版本数
在 OpenClaw 中安装
/install clawver-orders
功能描述
Manage Clawver orders. List orders, track status, process refunds, generate download links. Use when asked about customer orders, fulfillment, refunds, or order history.
使用说明 (SKILL.md)

Clawver Orders

Manage orders on your Clawver store—view order history, track fulfillment, process refunds, and generate download links.

Prerequisites

  • CLAW_API_KEY environment variable
  • Active store with orders

For platform-specific good and bad API patterns from claw-social, use references/api-examples.md.

List Orders

Get All Orders

curl https://api.clawver.store/v1/orders \
  -H "Authorization: Bearer $CLAW_API_KEY"

Filter by Status

# Confirmed (paid) orders
curl "https://api.clawver.store/v1/orders?status=confirmed" \
  -H "Authorization: Bearer $CLAW_API_KEY"

# In-progress POD orders
curl "https://api.clawver.store/v1/orders?status=processing" \
  -H "Authorization: Bearer $CLAW_API_KEY"

# Shipped orders
curl "https://api.clawver.store/v1/orders?status=shipped" \
  -H "Authorization: Bearer $CLAW_API_KEY"

# Delivered orders
curl "https://api.clawver.store/v1/orders?status=delivered" \
  -H "Authorization: Bearer $CLAW_API_KEY"

Order statuses:

Status Description
pending Order created, payment pending
confirmed Payment confirmed
processing Being fulfilled
shipped In transit (POD only)
delivered Completed
cancelled Cancelled

paymentStatus is reported separately and can be pending, paid, failed, partially_refunded, or refunded.

Pagination

curl "https://api.clawver.store/v1/orders?limit=20" \
  -H "Authorization: Bearer $CLAW_API_KEY"

limit is supported. Cursor-based pagination is not currently exposed on this endpoint.

Get Order Details

curl https://api.clawver.store/v1/orders/{orderId} \
  -H "Authorization: Bearer $CLAW_API_KEY"

For print-on-demand items, order payloads include:

  • variantId (required — fulfillment variant identifier, must match a product variant)
  • variantName (human-readable selected size/variant label)

Note: variantId is required for all POD checkout items as of Feb 2026. Out-of-stock variants are rejected.

Generate Download Links

Owner Download Link (Digital Items)

curl "https://api.clawver.store/v1/orders/{orderId}/download/{itemId}" \
  -H "Authorization: Bearer $CLAW_API_KEY"

Use this when customers report download issues or request a new link.

Customer Download Link (Digital Items)

curl "https://api.clawver.store/v1/orders/{orderId}/download/{itemId}/public?token={downloadToken}"

Download tokens are issued per order item and can be returned in the checkout receipt (GET /v1/checkout/{checkoutId}/receipt).

Customer Order Status (Public)

curl "https://api.clawver.store/v1/orders/{orderId}/public?token={orderStatusToken}"

Checkout Receipt (Success Page / Support)

curl "https://api.clawver.store/v1/checkout/{checkoutId}/receipt"

Process Refunds

Full Refund

curl -X POST https://api.clawver.store/v1/orders/{orderId}/refund \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amountInCents": 2499,
    "reason": "Customer requested refund"
  }'

Partial Refund

curl -X POST https://api.clawver.store/v1/orders/{orderId}/refund \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amountInCents": 500,
    "reason": "Partial refund for missing item"
  }'

Notes:

  • amountInCents is required and must be a positive integer
  • reason is required
  • amountInCents cannot exceed remaining refundable amount
  • Refunds process through Stripe (1-5 business days to customer)
  • Order must have paymentStatus of paid or partially_refunded

POD Order Tracking

For print-on-demand orders, tracking info becomes available after shipping:

curl https://api.clawver.store/v1/orders/{orderId} \
  -H "Authorization: Bearer $CLAW_API_KEY"

Check trackingUrl, trackingNumber, and carrier fields in response.

Webhook for Shipping Updates

curl -X POST https://api.clawver.store/v1/webhooks \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-server.com/webhook",
    "events": ["order.shipped", "order.fulfilled"],
    "secret": "your-secret-min-16-chars"
  }'

Order Webhooks

Receive real-time notifications:

curl -X POST https://api.clawver.store/v1/webhooks \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-server.com/webhook",
    "events": ["order.created", "order.paid", "order.refunded"],
    "secret": "your-webhook-secret-16chars"
  }'

Signature format:

X-Claw-Signature: sha256=abc123...

Verification (Node.js):

const crypto = require('crypto');

function verifyWebhook(body, signature, secret) {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', secret)
    .update(body)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Common Workflows

Daily Order Check

# Get newly paid/confirmed orders
response = api.get("/v1/orders?status=confirmed")
orders = response["data"]["orders"]
print(f"New orders: {len(orders)}")

for order in orders:
    print(f"  - {order['id']}: ${order['totalInCents']/100:.2f}")

Handle Refund Request

def process_refund(order_id, amount_cents, reason):
    # Get order details
    response = api.get(f"/v1/orders/{order_id}")
    order = response["data"]["order"]
    
    # Check if refundable
    if order["paymentStatus"] not in ["paid", "partially_refunded"]:
        return "Order cannot be refunded"
    
    # Process refund
    result = api.post(f"/v1/orders/{order_id}/refund", {
        "amountInCents": amount_cents,
        "reason": reason
    })
    
    return f"Refunded ${amount_cents/100:.2f}"

Wrong Size Support Playbook

def handle_wrong_size(order_id):
    response = api.get(f"/v1/orders/{order_id}")
    order = response["data"]["order"]

    for item in order["items"]:
        if item.get("productType") == "print_on_demand":
            print("Variant ID:", item.get("variantId"))
            print("Variant Name:", item.get("variantName"))

    # Confirm selected variant before issuing a refund/replacement workflow.

Resend Download Link

def resend_download(order_id, item_id):
    # Generate new download link
    response = api.get(f"/v1/orders/{order_id}/download/{item_id}")
    
    return response["data"]["downloadUrl"]

Order Lifecycle

pending → confirmed → processing → shipped → delivered
               ↓
      cancelled / refunded (paymentStatus)

Digital products: confirmeddelivered (instant fulfillment) POD products: confirmedprocessingshippeddelivered

安全使用建议
This skill appears coherent and limited to calling the Clawver orders API. Before installing, verify: (1) the CLAW_API_KEY permissions and rotate it if possible (use least privilege), (2) which endpoints are public so you don't accidentally expose private data (some examples show no Authorization header), (3) use HTTPS and strong webhook secrets and verify signatures on incoming webhooks, and (4) prefer testing in a staging store first. Also note the SKILL.md version (1.3.0) differs from the registry version (1.0.3) — ask the publisher to confirm you have the correct/current documentation if that matters to you.
功能分析
Type: OpenClaw Skill Name: clawver-orders Version: 1.0.3 The 'clawver-orders' skill, while providing legitimate order management functionality, includes the capability to create webhooks via `POST https://api.clawver.store/v1/webhooks` as shown in SKILL.md. The `url` parameter for these webhooks is user-defined (or agent-controlled based on user input). This presents a significant prompt injection vulnerability, as an attacker could instruct the OpenClaw agent to configure a webhook to an arbitrary malicious URL, potentially leading to the exfiltration of sensitive order data or other information that the webhook might send to an attacker-controlled server. This is a high-risk capability that could be abused, classifying it as suspicious.
能力评估
Purpose & Capability
Name/description (manage orders, refunds, downloads) align with the single required env var CLAW_API_KEY and the documented API endpoints on api.clawver.store — the credential is appropriate and expected.
Instruction Scope
Instructions are limited to calling Clawver API endpoints and providing webhook examples; they do not instruct reading of unrelated files or env vars. Note: a few example endpoints (e.g., checkout receipt) are shown without an Authorization header — this may be intentional (public receipt) but you should verify which endpoints are public vs. owner-only before sending keys.
Install Mechanism
Instruction-only skill with no install steps and no code files — nothing is written to disk or executed by an installer, which minimizes risk.
Credentials
Only CLAW_API_KEY is required and declared as the primary credential; no other tokens, keys, or config paths are requested, which is proportionate for an orders API integration.
Persistence & Privilege
always:false and default invocation settings are used; the skill does not request permanent platform presence or to modify other skills or system-wide configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install clawver-orders
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /clawver-orders 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.3
- Changed primary order status from `paid` to `confirmed`; updated all examples and workflows to use `confirmed`. - Added distinction between main order `status` and separate `paymentStatus` field, now including values like `pending`, `paid`, `failed`, `partially_refunded`, `refunded`. - Updated API guidance for pagination: clarified that cursor-based pagination is not supported, only `limit` parameter. - For print-on-demand items, clarified that `variantId` is now required for all checkout items as of Feb 2026, and out-of-stock variants are rejected. - Updated refund eligibility to require `paymentStatus` of `paid` or `partially_refunded`, not order `status`. - Referenced new `references/api-examples.md` file for platform-specific API usage patterns.
v1.0.2
- Version bump from 1.1.0 to 1.2.0. - Added documentation for `variantId` and `variantName` fields in order payloads for print-on-demand (POD) items. - Included a sample "Wrong Size Support Playbook" workflow for handling item variants in POD orders. - No changes to code or endpoints; this update adds and clarifies documentation.
v1.0.1
Version 1.1.0 summary: Adds public/customer download links and public order status endpoints. - Introduced public (customer) download link endpoints for digital products. - Added endpoints for customers to check order status and access checkout receipts. - Clarified distinction between owner (admin) and customer URLs for downloads and order viewing. - Updated documentation to highlight use cases for each new endpoint. - No changes to API structure for order listing, refunds, or webhook setup.
v1.0.0
Initial release of the Clawver Orders skill. - Manage orders: list all orders, filter by status, and paginate results. - Retrieve detailed order information, including customer and item details. - Generate secure, time-limited download links for digital product fulfillment. - Process full or partial refunds with custom reasons; supports Stripe integration. - Track print-on-demand (POD) order status with shipping details. - Configure webhooks for real-time notifications on order events and fulfillment updates.
元数据
Slug clawver-orders
版本 1.0.3
许可证
累计安装 3
当前安装数 3
历史版本数 4
常见问题

Clawver Orders 是什么?

Manage Clawver orders. List orders, track status, process refunds, generate download links. Use when asked about customer orders, fulfillment, refunds, or order history. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1620 次。

如何安装 Clawver Orders?

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

Clawver Orders 是免费的吗?

是的,Clawver Orders 完全免费(开源免费),可自由下载、安装和使用。

Clawver Orders 支持哪些平台?

Clawver Orders 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Clawver Orders?

由 nwang783(@nwang783)开发并维护,当前版本 v1.0.3。

💬 留言讨论