Install
openclaw skills install @gt-oliver/vigilath-shoppingSearch, bargain, order, and pay for pet supplies on Vigilath.com — an AI-powered pet commerce platform with multi-round price negotiation.
openclaw skills install @gt-oliver/vigilath-shoppingYou can search products, negotiate prices, place orders, and pay on Vigilath.com (an AI pet supplies marketplace).
All endpoints use: https://www.vigilath.com
Every API call (except auth endpoints) requires:
Authorization: Bearer $VIGILATH_TOKEN
If VIGILATH_TOKEN is not set, use Device Flow to obtain one:
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}
Show the authUrl to the user and ask them to open it in a browser to log in.
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"}'
{"accessToken": "eyJ...", "expiresIn": 2592000} — save this as VIGILATH_TOKENToken is valid for 30 days.
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).
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").
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 spuIdaddrId: shipping address ID, or null to use user's default addressquoteId: bargain quote ID from a successful negotiation (optional)Response: {"data": {"order_number": "...", "total": 2999, "status": "UNPAID"}}
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 automatedstripe — returns paymentUrl, show to user to complete card paymentcoinbase — returns paymentUrl, show to user to complete crypto paymentAfter stripe/coinbase, poll order status to confirm payment.
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"
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"}'
POST /api/agent/shopping with queryPOST /api/agent/order with selected spuId(s)POST /api/agent/pay with orderNumberPOST /api/agent/shopping with autonomous: true — AI picks and orders automaticallyPOST /api/agent/pay with orderNumber from responsePOST /api/agent/shopping with bargain: truePOST /api/agent/bargain with counter-offersPOST /api/agent/order with quoteId from quotePOST /api/agent/payFor machine-readable capability metadata:
GET /.well-known/agent.json — structured service discoveryGET /llms.txt — LLM-readable summaryGET /llms-full.txt — full API documentation