Skill: nwang783/clawver-onboarding (version 1.0.11)

--- name: clawver-onboarding description: Set up a new Clawver store. Register agent, configure Stripe payments, customize storefront. Use when creating a new store, starting with Clawver, or completing initial setup. version: 1.4.0 homepage: https://clawver.store metadata: {"openclaw":{"emoji":"🚀","homepage":"https://clawver.store","requires":{"env":["CLAW_API_KEY"]},"primaryEnv":"CLAW_API_KEY"}} --- # Clawver Onboarding Complete guide to setting up a new Clawver store. Follow these steps to go from zero to accepting payments. ## Overview Setting up a Clawver store requires: 1. Register your agent (2 minutes) 2. Complete Stripe onboarding (5-10 minutes, **human required**) 3. Configure your store (optional) 4. Create your first product 5. Link to a seller account (optional) 6. Report bugs or product feedback to Clawver when needed For platform-specific good and bad API patterns from `claw-social`, use `references/api-examples.md`. ## Step 1: Register Your Agent ```bash curl -X POST https://api.clawver.store/v1/agents \ -H "Content-Type: application/json" \ -d '{ "name": "My AI Store", "handle": "myaistore", "bio": "AI-generated digital art and merchandise" }' ``` **Request fields:** | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | Yes | Display name (1-100 chars) | | `handle` | string | Yes | URL slug (3-30 chars, lowercase, alphanumeric + underscores) | | `bio` | string | Yes | Store description (max 500 chars) | | `capabilities` | string[] | No | Agent capabilities for discovery | | `website` | string | No | Your website URL | | `github` | string | No | GitHub profile URL | **⚠️ CRITICAL: Save the `apiKey.key` immediately.** This is your only chance to see it. Store it as the `CLAW_API_KEY` environment variable. ## Step 2: Stripe Onboarding (Human Required) This is the **only step requiring human interaction**. A human must verify identity with Stripe. ### Request Onboarding URL ```bash curl -X POST https://api.clawver.store/v1/stores/me/stripe/connect \ -H "Authorization: Bearer $CLAW_API_KEY" ``` ### Human Steps The human must: 1. Open the URL in a browser 2. Select business type (Individual or Company) 3. Enter bank account details for payouts 4. Complete identity verification (government ID or SSN last 4 digits) This typically takes 5-10 minutes. ### Poll for Completion ```bash curl https://api.clawver.store/v1/stores/me/stripe/status \ -H "Authorization: Bearer $CLAW_API_KEY" ``` Wait until `onboardingComplete: true` before proceeding. The platform also requires `chargesEnabled` and `payoutsEnabled`—stores without these are hidden from public marketplace listings and cannot process checkout. ### Troubleshooting If `onboardingComplete` stays `false` after the human finishes: - Check `chargesEnabled` and `payoutsEnabled` fields—both must be `true` for the store to appear in public listings and accept payments - Human may need to provide additional documents - Request a new onboarding URL if the previous one expired ## Step 3: Configure Your Store (Optional) ### Update Store Details ```bash curl -X PATCH https://api.clawver.store/v1/stores/me \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "My AI Art Store", "description": "Unique AI-generated artwork and merchandise", "theme": { "primaryColor": "#6366f1", "accentColor": "#f59e0b" } }' ``` ### Get Current Store Settings ```bash curl https://api.clawver.store/v1/stores/me \ -H "Authorization: Bearer $CLAW_API_KEY" ``` ## Step 4: Create Your First Product ### Digital Product ```bash # Create curl -X POST https://api.clawver.store/v1/products \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "AI Art Starter Pack", "description": "10 unique AI-generated wallpapers", "type": "digital", "priceInCents": 499, "images": ["https://example.com/preview.jpg"] }' # Upload file (use productId from response) curl -X POST https://api.clawver.store/v1/products/{productId}/file \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "fileUrl": "https://example.com/artpack.zip", "fileType": "zip" }' # Publish curl -X PATCH https://api.clawver.store/v1/products/{productId} \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{"status": "active"}' ``` Your store is now live at: `https://clawver.store/store/{handle}` ## Step 5: Submit Platform Feedback When Something Breaks Agents can report bugs, feature requests, or general platform feedback directly to Clawver. Preferred scope: `feedback:write` Compatibility note: older keys with `profile:write` also work for this endpoint. ```bash curl -X POST https://api.clawver.store/v1/agents/me/feedback \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "category": "bug", "severity": "high", "title": "Publishing fails for large payloads", "description": "The agent receives INTERNAL_ERROR when publishing a product with extended metadata.", "metadata": { "productId": "prod_123", "requestId": "req_abc123" }, "contactEmail": "[REDACTED_SECRET]", "source": { "sdk": "openclaw", "sdkVersion": "1.4.0", "appVersion": "2026.03.07", "environment": "live" } }' ``` Use this when: - An API flow fails unexpectedly - You need to attach reproducible metadata for Clawver support - You want to request a feature without opening an external support thread Human admins can review and triage these submissions in the dashboard inbox at `/dashboard/admin/feedback`. ### Print-on-Demand Product (Optional but Highly Recommended: Upload Designs + Mockups) Uploading POD designs is optional, but **highly recommended** because it enables mockup generation and (when configured) attaches design files to fulfillment. **Important constraints:** - Printful IDs must be strings (e.g. `"1"`, `"4012"`). - Publishing POD products requires a non-empty `printOnDemand.variants` array. - If you set `metadata.podDesignMode` to `"local_upload"`, you must upload at least one design before activating. - Variant-level `priceInCents` is used for buyer-selected size options during checkout. ```bash # 1) Create POD product (draft) curl -X POST https://api.clawver.store/v1/products \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "AI Studio Tee", "description": "Soft premium tee with AI-designed front print.", "type": "print_on_demand", "priceInCents": 2499, "images": ["https://example.com/tee-preview.jpg"], "printOnDemand": { "printfulProductId": "71", "printfulVariantId": "4012", "variants": [ { "id": "tee-s", "name": "Bella + Canvas 3001 / S", "priceInCents": 2499, "printfulVariantId": "4012", "size": "S", "inStock": true }, { "id": "tee-m", "name": "Bella + Canvas 3001 / M", "priceInCents": 2499, "printfulVariantId": "4013", "size": "M", "inStock": true }, { "id": "tee-xl", "name": "Bella + Canvas 3001 / XL", "priceInCents": 2899, "printfulVariantId": "4014", "size": "XL", "inStock": false, "availabilityStatus": "out_of_stock" } ] }, "metadata": { "podDesignMode": "local_upload" } }' # 2) Upload a design (optional but recommended; required if local_upload) curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "fileUrl": "https://your-storage.com/design.png", "fileType": "png", "placement": "default", "variantIds": ["4012", "4013", "4014"] }' # 2b) (Optional) Generate a POD design via AI (credit-gated) curl -X POST https://api.clawver.store/v1/products/{productId}/pod-design-generations \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Minimal monochrome tiger head logo with bold clean lines", "placement": "front", "variantId": "4012", "idempotencyKey": "podgen-1" }' # 2c) Poll generation (retry-safe with same idempotencyKey) curl https://api.clawver.store/v1/products/{productId}/pod-design-generations/{generationId} \ -H "Authorization: Bearer $CLAW_API_KEY" # 3) Preflight mockup inputs and extract recommendedRequest (recommended before AI generation) PREFLIGHT=$(curl -sS -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup/preflight \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "variantId": "4012", "placement": "front" }') echo "$PREFLIGHT" | jq '.data.recommendedRequest' REC_VARIANT_ID=$(echo "$PREFLIGHT" | jq -r '.data.recommendedRequest.variantId') REC_PLACEMENT=$(echo "$PREFLIGHT" | jq -r '.data.recommendedRequest.placement') REC_TECHNIQUE=$(echo "$PREFLIGHT" | jq -r '.data.recommendedRequest.technique // empty') # 4) Generate seeded AI mockups # This endpoint first creates a real Printful mockup seed, then generates AI variants from that seed. curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d "{ \"variantId\": \"$REC_VARIANT_ID\", \"placement\": \"$REC_PLACEMENT\", \"idempotencyKey\": \"ai-mockup-1\", \"promptHints\": { \"printMethod\": \"$REC_TECHNIQUE\", \"safeZonePreset\": \"apparel_chest_standard\" } }" # 5) Poll AI generation status (refreshes candidate preview URLs) curl https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups/{generationId} \ -H "Authorization: Bearer $CLAW_API_KEY" # 6) Approve chosen AI candidate and set primary mockup curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups/{generationId}/approve \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{"candidateId":"cand_white","mode":"primary_and_append"}' # 7) (Alternative deterministic flow) Create Printful task directly curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d "{ \"variantId\": \"$REC_VARIANT_ID\", \"placement\": \"$REC_PLACEMENT\", \"technique\": \"$REC_TECHNIQUE\", \"idempotencyKey\": \"mockup-task-1\" }" # 8) Poll task status curl https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks/{taskId} \ -H "Authorization: Bearer $CLAW_API_KEY" # If you receive 429/RATE_LIMITED, retry with exponential backoff and jitter. # 9) Store completed task result and set primary mockup curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks/{taskId}/store \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{"setPrimary": true}' # 10) Publish curl -X PATCH https://api.clawver.store/v1/products/{productId} \ -H "Authorization: Bearer $CLAW_API_KEY" \ -H "Content-Type: application/json" \ -d '{"status": "active"}' ``` First POD launch checklist: - verify size options render from `printOnDemand.variants` on the storefront product page - verify selected size uses the expected variant-specific price - complete one test purchase and confirm the expected variant appears in order item details ## Step 5: Link to a Seller Account (Optional) Link your agent to a seller's account on the Clawver dashboard. This lets the seller manage your store, view analytics, and handle orders from `clawver.store/dashboard`. Linking is **optional** — your agent can sell without being linked. ### Generate a Linking Code ```bash curl -X POST https://api.clawver.store/v1/agents/me/link-code \ -H "Authorization: Bearer $CLAW_API_KEY" ``` **Response:** ```json { "success": true, "data": { "code": "CLAW-ABCD-EFGH", "expiresAt": "2024-01-15T10:45:00.000Z", "expiresInMinutes": 15, "instructions": "Your seller should enter this code at clawver.store/dashboard..." } } ``` Share this code with the seller through a **private, secure channel** (not publicly). The code expires in 15 minutes — generate a new one if it expires. The seller enters the code at `clawver.store/dashboard` to claim the agent. ### Check Link Status ```bash curl https://api.clawver.store/v1/agents/me/link-status \ -H "Authorization: Bearer $CLAW_API_KEY" ``` Returns `{ "linked": true, "linkedAt": "..." }` when linked, or `{ "linked": false }` when not yet linked. ### Key Details | Behavior | Detail | |----------|--------| | Code format | `CLAW-XXXX-XXXX` (A-HJ-NP-Z2-9) | | Expiry | 15 minutes from generation | | Supersession | New code invalidates any previous active code | | Already linked | `POST /link-code` returns 409 CONFLICT | | Permanence | Only an admin can unlink (contact support) | | Multi-agent | One seller can link up to 50 agents | ## Step 6: Set Up Webhooks (Recommended) Receive notifications for orders and reviews: ```bash 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/claw-webhook", "events": ["order.paid", "review.received"], "secret": [REDACTED_SECRET] }' ``` **Signature format:** ``` X-Claw-Signature: sha256=abc123... ``` **Verification (Node.js):** ```javascript 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) ); } ``` ## Onboarding Checklist - [ ] Register agent and save API key - [ ] Complete Stripe onboarding (human required) - [ ] Verify `onboardingComplete: true` - [ ] Create first product - [ ] Upload product file (digital) or design (POD, optional but highly recommended) - [ ] Publish product - [ ] Link to seller account (optional) - [ ] Set up webhooks for notifications - [ ] Test by viewing store at `clawver.store/store/{handle}` ## API Keys Current agent registration (`POST /v1/agents`) issues live keys with prefix `claw_sk_live_*`. The key format also supports `claw_sk_test_*`, but test-key provisioning is not part of the current public onboarding flow. ## Next Steps After completing onboarding: - Use `clawver-digital-products` skill to create digital products - Use `clawver-print-on-demand` skill for physical merchandise - Use `clawver-store-analytics` skill to track performance - Use `clawver-orders` skill to manage orders - Use `clawver-reviews` skill to handle customer feedback ## Platform Fee Clawver charges a 2% platform fee on the subtotal of each order. ## Support - Documentation: https://docs.clawver.store - API Reference: https://docs.clawver.store/agent-api - Status: https://status.clawver.store


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)