360 Secure SkillHub
360 安全技能中心

Vigilath Pet Commerce

在 Vigilath 宠物用品商城上搜索商品,进行多轮价格谈判,用报价下单,并支持积分、Stripe 或 Coinbase 支付;需要令牌认证和 curl 网络访问。

gt-oliver
gt-oliver
热度 38.25
最近更新 2026-05-11 17:39:30
分类:生活依赖:代码执行 / 第三方 API应用场景:购物 / 推荐 / 工作流 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add vigilath-shopping
Metadata
name
vigilath-shopping
description
Search, bargain, order, and pay for pet supplies on Vigilath.com — an AI-powered pet commerce platform with multi-round price negotiation.
version
1.0.0
metadata
{"openclaw":{"requires":{"env":["VIGILATH_TOKEN"],"bins":["curl"]},"primaryEnv":"VIGILATH_TOKEN"}}

Vigilath.com Pet Commerce

You can search products, negotiate prices, place orders, and pay on Vigilath.com (an AI pet supplies marketplace).

Base URL

All endpoints use: https://www.vigilath.com

Authentication

Every API call (except auth endpoints) requires:

Authorization: Bearer $VIGILATH_TOKEN

Getting a token

If VIGILATH_TOKEN is not set, use Device Flow to obtain one:

  1. Create session:
curl -s -X POST https://www.vigilath.com/api/agent/auth/session \
  -H "Content-Type: application/json" -d '{}'

Response: {"sessionId": "...", "authUrl": "https://www.vigilath.com/api/agent/auth/page?code=XXX-123", "code": "XXX-123", "expiresIn": 600}

  1. Show the authUrl to the user and ask them to open it in a browser to log in.

  2. Poll for token (every 5 seconds, up to 10 minutes):

curl -s -X POST https://www.vigilath.com/api/agent/auth/token \
  -H "Content-Type: application/json" -d '{"sessionId": "SESSION_ID"}'
  • HTTP 428: user hasn't logged in yet, keep polling
  • HTTP 200: {"accessToken": "eyJ...", "expiresIn": 2592000} — save this as VIGILATH_TOKEN
  • HTTP 410: session expired, start over

Token is valid for 30 days.

Capabilities

1. Smart Shopping (search + AI selection)

curl -s -X POST https://www.vigilath.com/api/agent/shopping \
  -H "Authorization: Bearer $VIGILATH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "organic dog food for small breeds", "language": "English"}'

Response contains selected_products (array) and natural_message (AI recommendation).

Each product includes: spuId, spuName, priceFee (cents CNY), mainImgUrl, selling_point, categoryName, skuId, shopId, shopName, stock, bargain_enabled.

Products with bargain_enabled: true support price negotiation (see Bargain below).

2. Bargain (multi-round price negotiation)

For products with bargain_enabled: true, you can negotiate a lower price.

Step 1 — Search with bargain mode:

curl -s -X POST https://www.vigilath.com/api/agent/shopping \
  -H "Authorization: Bearer $VIGILATH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "dog food", "bargain": true}'

Response includes bargain_sessions with sessionId for each bargain-enabled product.

Step 2 — Send counter-offers:

curl -s -X POST https://www.vigilath.com/api/agent/bargain \
  -H "Authorization: Bearer $VIGILATH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"sessionId": "SESSION_ID", "message": "I offer 25 yuan"}'

Response:

{
  "sessionId": "...",
  "productName": "Premium Dog Food",
  "originalPrice": 35.0,
  "currentPrice": 30.0,
  "message": "25 is too low! How about 30?",
  "round": 2,
  "dealReached": false,
  "isActive": true,
  "quote": null
}

Step 3 — Repeat until dealReached: true. The response will include a quote:

{
  "dealReached": true,
  "quote": {
    "quoteId": "q_xyz789",
    "bargainPrice": 30.0,
    "discount": 5.0,
    "expiresAt": "2026-04-02T12:00:00"
  }
}

Step 4 — Place order with quoteId to apply bargain price (see Order below).

Supported messages: counter-offer ("25块", "I'll pay 80"), accept ("deal", "成交"), quit ("算了", "quit"), leverage ("competitor is cheaper", "I'm a loyal customer").

3. Place Order

curl -s -X POST https://www.vigilath.com/api/agent/order \
  -H "Authorization: Bearer $VIGILATH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"items": [{"spuId": 12345, "quantity": 1}], "addrId": null, "quoteId": null}'
  • items: array of {spuId, quantity} — skuId/shopId auto-resolved from spuId
  • addrId: shipping address ID, or null to use user's default address
  • quoteId: bargain quote ID from a successful negotiation (optional)

Response: {"data": {"order_number": "...", "total": 2999, "status": "UNPAID"}}

4. Pay

curl -s -X POST https://www.vigilath.com/api/agent/pay \
  -H "Authorization: Bearer $VIGILATH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"orderNumber": "ORDER_NUMBER", "method": "points"}'

Methods:

  • points — instant settlement, fully automated
  • stripe — returns paymentUrl, show to user to complete card payment
  • coinbase — returns paymentUrl, show to user to complete crypto payment

After stripe/coinbase, poll order status to confirm payment.

5. Query Orders

List orders:

curl -s https://www.vigilath.com/api/agent/orders \
  -H "Authorization: Bearer $VIGILATH_TOKEN"

Optional query params: status (1=pending_payment, 2=pending_shipment, 3=shipped, 5=completed, 6=cancelled), page, page_size.

Single order detail:

curl -s https://www.vigilath.com/api/agent/orders/ORDER_NUMBER \
  -H "Authorization: Bearer $VIGILATH_TOKEN"

6. Addresses

List addresses:

curl -s https://www.vigilath.com/api/agent/addresses \
  -H "Authorization: Bearer $VIGILATH_TOKEN"

Create address:

curl -s -X POST https://www.vigilath.com/api/agent/addresses \
  -H "Authorization: Bearer $VIGILATH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"receiver": "John", "mobile": "1234567890", "province": "CA", "city": "LA", "area": "Downtown", "addr": "123 Main St"}'

Common Workflows

Quick buy (no bargain)

  1. Search: POST /api/agent/shopping with query
  2. Show products to user, let them pick
  3. Order: POST /api/agent/order with selected spuId(s)
  4. Pay: POST /api/agent/pay with orderNumber

Quick buy (autonomous — one call)

  1. POST /api/agent/shopping with autonomous: true — AI picks and orders automatically
  2. Pay: POST /api/agent/pay with orderNumber from response

Bargain then buy

  1. Search: POST /api/agent/shopping with bargain: true
  2. For each bargain session, negotiate: POST /api/agent/bargain with counter-offers
  3. On deal: POST /api/agent/order with quoteId from quote
  4. Pay: POST /api/agent/pay

Error Handling

  • 401: Token expired or invalid — re-authenticate via Device Flow
  • 404: Resource not found (order, session, address)
  • 422: Validation error — check request body
  • 429: Rate limited — wait and retry

Discovery

For machine-readable capability metadata:

  • GET /.well-known/agent.json — structured service discovery
  • GET /llms.txt — LLM-readable summary
  • GET /llms-full.txt — full API documentation