openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > Zinc Universal Checkout

Place, list, and retrieve orders via the Zinc API (zinc.com). Use when the user wants to buy a product from an online retailer, check order status, list recent orders, or anything involving the Zinc e-commerce ordering API. Requires ZINC_API_KEY environment variable.

开发与 DevOps

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.0.1

统计:⭐ 2 · 831 · 0 current installs · 0 all-time installs

2

安装量(当前) 0

🛡 VirusTotal :良性 · OpenClaw :良性

Package:a5huynh/universal-checkout

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :良性

OpenClaw 评估

Skill appears to do what it says (talk to Zinc's API using a Zinc API key); it's instruction-only with no install, but there is a minor metadata inconsistency and some operational details you should review before enabling it.

目的

The skill's stated purpose (placing/listing/retrieving orders via Zinc) matches the instructions which call https://api.zinc.com and require a ZINC_API_KEY. However, the registry metadata in the package lists no required env vars / primary credential while both SKILL.md and README.md clearly say ZINC_API_KEY is required — metadata omission is an inconsistency to be aware of.

说明范围

SKILL.md only describes Zinc API endpoints (POST /orders, GET /orders) and includes example curl, error handling, and polling instructions. It also instructs the agent to schedule cron-like checks and 'announce' results to a channel; that is consistent with asynchronous order processing but means the agent will use platform scheduling/messaging features — confirm you expect that behavior. The skill explicitly requires user confirmation before …

安装机制

Instruction-only skill with no install spec and no code files — lowest-risk distribution model (nothing is downloaded or written by an installer).

证书

Only a single credential (ZINC_API_KEY) is needed according to SKILL.md/README, which is proportional to the stated purpose. Note: README documents an option to embed the key into an OpenClaw config (~/.openclaw/openclaw.json) instead of using an environment variable — storing secrets in plaintext config files increases risk and should be avoided if possible. Also note the package metadata failing to declare required env var is an administrati…

持久

Skill does not request always:true or any elevated platform privilege. It includes instructions to schedule follow-up checks using the agent's scheduler/messaging mechanisms, which is reasonable for async order tracking but means the agent will create scheduled tasks/announcements if allowed — ensure your agent's scheduler permissions are constrained as you expect.

综合结论

This skill is internally consistent with its stated purpose of interacting with the Zinc API and is instruction-only (no install or code), but check these before installing: 1) Provide a ZINC_API_KEY from app.zinc.com; prefer setting it as an environment variable rather than embedding it in ~/.openclaw/openclaw.json or other plaintext files. 2) Confirm the agent will always ask the user before POSTing orders (SKILL.md says it should) — if your…

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Zinc Universal Checkout」。简介:Place, list, and retrieve orders via the Zinc API (zinc.com). Use when the user…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/a5huynh/universal-checkout/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: zinc-orders
description: Place, list, and retrieve orders via the Zinc API (zinc.com). Use when the user wants to buy a product from an online retailer, check order status, list recent orders, or anything involving the Zinc e-commerce ordering API. Requires ZINC_API_KEY environment variable.
---

# Zinc Orders

Place and manage orders on online retailers through the Zinc API (`https://api.zinc.com`).

## Prerequisites

- `ZINC_API_KEY` env var must be set. Get one from <https://app.zinc.com>.

## Authentication

All requests use Bearer token auth:

```
Authorization: Bearer $ZINC_API_KEY
```

## Endpoints

### Create Order — `POST /orders`

Place a new order. Orders process asynchronously.

**Required fields:**

- `products` — array of `{ url, quantity?, variant? }` objects
  - `url`: direct product page URL on a supported retailer
  - `quantity`: integer (default 1)
  - `variant`: array of `{ label, value }` for size/color/etc.
- `shipping_address` — object with `first_name`, `last_name`, `address_line1`, `address_line2`, `city`, `state` (2-letter), `postal_code`, `phone_number`, `country` (ISO alpha-2, e.g. "US")
- `max_price` — integer, maximum price **in cents**

**Optional fields:**

- `idempotency_key` — string (max 36 chars) to prevent duplicates
- `retailer_credentials_id` — short ID like `zn_acct_XXXXXXXX`
- `metadata` — arbitrary key-value object
- `po_number` — purchase order number string

**Response:** order object with `id` (UUID), `status`, `items`, `shipping_address`, `created_at`, `tracking_numbers`, etc.

**Order statuses:** `pending` → `in_progress` → `order_placed` | `order_failed` | `cancelled`

### List Orders — `GET /orders`

Returns `{ orders: [...] }` array of order objects.

### Get Order — `GET /orders/{id}`

Retrieve a single order by UUID.

## Example: Place an Order

```bash
curl -X POST https://api.zinc.com/orders 
  -H "Authorization: Bearer $ZINC_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{
    "products": [{ "url": "https://example.com/product", "quantity": 1 }],
    "max_price": 5000,
    "shipping_address": {
      "first_name": "Jane",
      "last_name": "Doe",
      "address_line1": "123 Main St",
      "city": "San Francisco",
      "state": "CA",
      "postal_code": "94105",
      "phone_number": "5551234567",
      "country": "US"
    }
  }'
```

## Error Handling

See [references/errors.md](references/errors.md) for the full error code reference.

Key points:

- HTTP errors return `{ code, message, details }`
- Order processing failures appear in webhook/order response as `error_type`
- Common issues: `max_price_exceeded`, `product_out_of_stock`, `invalid_shipping_address`

## Order Status Tracking

Orders process asynchronously and typically take **5–10 minutes**. After placing an order:

1. Schedule a cron job to check the order status ~7 minutes after creation.
2. Use `GET /orders/{id}` to poll.
3. Report the result back to the user in the same channel.
4. If still pending/in_progress, schedule another check in 5 minutes.

**Terminal statuses:** `order_placed`, `order_failed`, `cancelled` — stop polling.
**Non-terminal:** `pending`, `in_progress` — schedule another check in 3–5 minutes.

Example cron job (isolated, announce back to the channel):

```json
{
  "name": "zinc-order-check-<short_id>",
  "schedule": { "kind": "at", "at": "<ISO-8601 ~7min from now>" },
  "payload": {
    "kind": "agentTurn",
    "message": "Check Zinc order <order_id> via GET https://api.zinc.com/orders/<order_id>"
  },
  "sessionTarget": "isolated",
  "delivery": {
    "mode": "announce",
    "channel": "<channel>",
    "to": "<channel_id>"
  }
}
```

## Safety

- **Always confirm with the user** before placing an order (`POST /orders`). This spends real money.
- Reading orders (GET) is always safe.
- Validate that `max_price` is reasonable before submitting.