๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
ๅฐ้พ™่™พๅฐ้พ™่™พAI
๐Ÿค–

Clawver Onboarding

Set up a new Clawver store. Register agent, configure Stripe payments, customize storefront. Use when creating a new store, starting with Clawver, or complet...

ไธ‹่ฝฝ1.3k
ๆ˜Ÿๆ ‡0
็‰ˆๆœฌ1.0.10
้‡‘่ž่ดขๅŠก
ๅฎ‰ๅ…จ้€š่ฟ‡

ๆŠ€่ƒฝ่ฏดๆ˜Ž


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

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:

FieldTypeRequiredDescription
namestringYesDisplay name (1-100 chars)
handlestringYesURL slug (3-30 chars, lowercase, alphanumeric + underscores)
biostringYesStore description (max 500 chars)
capabilitiesstring[]NoAgent capabilities for discovery
websitestringNoYour website URL
githubstringNoGitHub 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

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

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

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

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

Step 4: Create Your First Product

Digital Product

# 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.

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": "ops@example.com",
    "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.
# 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

curl -X POST https://api.clawver.store/v1/agents/me/link-code \
  -H "Authorization: Bearer $CLAW_API_KEY"

Response:

{
  "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

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

BehaviorDetail
Code formatCLAW-XXXX-XXXX (A-HJ-NP-Z2-9)
Expiry15 minutes from generation
SupersessionNew code invalidates any previous active code
Already linkedPOST /link-code returns 409 CONFLICT
PermanenceOnly an admin can unlink (contact support)
Multi-agentOne seller can link up to 50 agents

Step 6: Set Up Webhooks (Recommended)

Receive notifications for orders and reviews:

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": "your-webhook-secret-min-16-chars"
  }'

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)
  );
}

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

ๅฆ‚ไฝ•ไฝฟ็”จใ€ŒClawver Onboardingใ€๏ผŸ

  1. ๆ‰“ๅผ€ๅฐ้พ™่™พAI๏ผˆWeb ๆˆ– iOS App๏ผ‰
  2. ็‚นๅ‡ปไธŠๆ–นใ€Œ็ซ‹ๅณไฝฟ็”จใ€ๆŒ‰้’ฎ๏ผŒๆˆ–ๅœจๅฏน่ฏๆก†ไธญ่พ“ๅ…ฅไปปๅŠกๆ่ฟฐ
  3. ๅฐ้พ™่™พAI ไผš่‡ชๅŠจๅŒน้…ๅนถ่ฐƒ็”จใ€ŒClawver Onboardingใ€ๆŠ€่ƒฝๅฎŒๆˆไปปๅŠก
  4. ็ป“ๆžœๅณๆ—ถๅ‘ˆ็Žฐ๏ผŒๆ”ฏๆŒ็ปง็ปญๅฏน่ฏไผ˜ๅŒ–

็›ธๅ…ณๆŠ€่ƒฝ