Smarter OS commercial system integration - Connect to Supabase backend, n8n automation, Odoo ERP, and Chatwoot omnichannel. Use for pricing, catalog, orders, and SII/Sercotec integration.
Use this skill when working with Smarter OS - the Chilean commercial operating system for digital businesses. This skill provides:
/v1/hub/catalog for real-time pricing and arbitrage (CL/AR)evento → decisión → ejecución → registro
Frontend DOES NOT:
Frontend ONLY:
Backend Hub (/v1/hub/catalog)
↓
n8n (orchestration)
↓
Supabase (persistence)
Endpoint: GET /v1/hub/catalog
The backend performs real-time arbitrage:
recommended_source: CL or ARfinal_price: Optimized pricestock_available: Real-time inventorylead_time: Delivery estimateExample Response:
{
"product_id": "plan-startup",
"name": "Plan Startup",
"recommended_source": "CL",
"final_price": 29990,
"currency": "CLP",
"stock_available": true,
"lead_time": "immediate"
}
| Plan | Slug | Flow |
|---|---|---|
| Startup | startup | Demo directo → Sandbox |
| Comercio | comercio | Demo o setup guiado |
| Empresa | empresa | Agenda + validación |
Onboarding URL Pattern:
/onboarding?plan={slug}
Connection Pattern:
Common Operations:
-- Get catalog with arbitrage
SELECT * FROM hub_catalog
WHERE active = true
ORDER BY final_price ASC;
-- Get order status
SELECT * FROM orders
WHERE tenant_id = current_tenant_id()
ORDER BY created_at DESC;
Webhook Triggers:
order.created → ERP syncpayment.completed → Invoice generationcustomer.onboarded → Sandbox provisioningWorkflow Pattern:
Webhook → Transform → Supabase → Odoo → Notification
Multi-Tenant Setup:
Common Models:
sale.order: Sales ordersaccount.move: Invoices (SII ready)product.template: Product catalogres.partner: Customers// ❌ NEVER calculate pricing in frontend
if (price_ar < price_cl) { ... }
calculateMargin(price)
applyLocalDiscount(price)
// ✅ ALWAYS use backend values
product.recommended_source
product.final_price
smarter.OS/
├── app/ # Next.js App Router (conversion layer)
│ ├── page.tsx # Home - renders backend data
│ ├── onboarding/ # Plan selection → backend
│ └── api/ # Proxy to backend hub
├── components/ # UI components (shadcn/ui)
├── lib/
│ └── api.ts # Backend hub client
└── skills/ # Agent Skills (this directory)
GET /v1/hub/catalog from backendproduct.final_price directlyproduct.recommended_source badge/onboarding?plan={slug}/onboarding?plan={slug}// Backend returns structured errors
{
"error": "OUT_OF_STOCK",
"message": "Product not available in selected region",
"fallback": {
"recommended_source": "AR",
"estimated_restock": "2026-03-15"
}
}
# Access sandbox
curl https://sandbox.smarterbot.cl/v1/hub/catalog
# Test order flow
curl -X POST https://sandbox.smarterbot.cl/v1/orders \
-H "Content-Type: application/json" \
-d '{"plan": "startup", "tenant_id": "test"}'