Developer API Reference
High-performance REST API for B2B resellers and automated storefronts. Synchronize wholesale catalogs, verify real-time handloom stock, and submit wholesale procurement orders directly with Varanasi weavers.
Overview
The Weave365 REST API allows B2B resellers and eCommerce storefronts to query live catalog pricing, verify real-time inventory availability, and automate wholesale order procurement directly with weavers in Varanasi.
https://www.weave365.com/api/v1Header x-api-key or BearerJSON / UTF-83-Step Storefront Integration
Integrating Weave365 with your storefront takes less than 15 minutes. Follow this 3-step blueprint:
Generate Key & Subscribe
Submit your API request in your Developer Dashboard. Once approved, select a 30-day plan (Growth Partner for Stock & Catalog sync, or Pro Scale for Automated Orders API).
Sync Catalog & Stock Feeds
Fetch products via GET /api/v1/catalog (strictly Reseller B2R prices) and setup an automated 5–15 min cron query to GET /api/v1/stock-status to keep your store inventory in sync with the Varanasi warehouse.
Forward Orders & Track
Submit wholesale procurement orders directly to the Varanasi warehouse queue via POST /api/v1/orders and track live dispatch and courier fulfillment in real time.
Authentication
All requests must include your secret API key. Pass it in the HTTP headers using either x-api-key or as a standard Bearer token.
x-api-key: w365_live_9a7f8e1b4c3d2e... # OR Authorization: Bearer w365_live_9a7f8e1b4c3d2e...
For security, Weave365 stores your API key as a salted SHA-256 cryptographic hash. Your full raw secret key is presented only once upon creation or regeneration. Please store it securely in your .env file or server vault. If lost, you can rotate and regenerate a new key anytime from your Developer Dashboard.
Supported Platforms & Integration Guides
Whether you run a Shopify store, WooCommerce, PrestaShop, or a custom Next.js/Node.js web application, Weave365 provides native support:
# ============================================================================
# Weave365 Shopify Sync Feed URL (SyncX / Stock Sync / Matrixify)
# ============================================================================
# 1. Dedicated Source Feed URL (Flat JSON Variant Array - Auto-detected by SyncX):
https://www.weave365.com/api/v1/catalog.json?key=w365_live_YOUR_API_KEY&format=stocksync
# 2. Standard Nested Shopify REST Payload (Matrixify):
https://www.weave365.com/api/v1/catalog.json?key=w365_live_YOUR_API_KEY&format=shopify
# 3. Optional Liquid Formula for Price Markup (+30% Profit Margin in SyncX):
{{ data | jmespath: '"price"' | times: 1.3 | round: 2 }}
# NOTE: For complete column matching, color variants & image delimiter setup,
# follow the step-by-step visual guide directly below.Shopify & SyncX (Stock Sync) Complete Setup Guide
Step-by-step walkthrough to import the Weave365 wholesale catalog, configure color variants, apply profit margins, and sync images without errors.
Connect Your Source Feed in SyncX (Step 1)
In your Shopify admin, open the SyncX (or Stock Sync) app, click Add New Update / Add Products, choose REST API / URL, and paste your dedicated feed URL:
https://www.weave365.com/api/v1/catalog.json?key=w365_live_YOUR_API_KEY&format=stocksync
?key= parameter?GET requests without custom HTTP headers, passing your secret key in the query parameter ?key=... authenticates requests instantly without needing custom header configuration.Matching Columns (Step 2: Matching Column)
SyncX prompts for the exact feed column/property names to match your Shopify store fields. Enter these values into the input boxes:
| Section | Search Store Field (Shopify) | Value to Type in Box | Description |
|---|---|---|---|
| Product Identifier | SKU (Variant's SKU) | sku (or SKU) | Matches feed rows to Shopify products/variants for stock and price updates. |
| Store Product Field(s) | Product's title | title (or Title) | Clean saree title for your storefront catalog. |
Price | price (or Price) | Weave365 wholesale B2R procurement rate (Strictly wholesale; cost prices never exposed). | |
Compare At Price | compare_at_price (or mrp) | Suggested retail price / MRP for strikethrough retail discount display. | |
Quantity (or Inventory) | quantity (or stock) | Live weaver inventory (5 for ready stock, 0 for out-of-stock). | |
Product's image | images (or image) | Full saree image gallery. Important: Set delimiter to comma , in Smart Settings (see Step 5). | |
Variant image | variant_image (or image) | Color-specific photo linked directly to the color swatch on Shopify. | |
Product Description | description (or body_html) | Rich HTML description including fabric, weave authenticity, and care instructions. | |
Vendor | vendor | Defaults to Weave365 Wholesale (can be customized or mapped to a static value). |
Setting Your Profit Margin (+30% Price Markup)
Since the API provides your wholesale procurement cost, you can automatically add your profit margin so your Shopify store sells at retail:
Method 1: UI Smart SettingRecommended
- Click the Smart setting icon right next to the
Pricedropdown. - Under Price markup / Adjust price, choose Increase by percentage (%).
- Enter
30(or your target profit margin percentage). - Set Rounding to Round to nearest whole number to prevent awkward decimal prices.
- Click Done / Save.
Method 2: Liquid Formula BoxDirect Formula
If you prefer writing expressions directly inside the formula box, replace the default Price expression with:
{{ data | jmespath: '"price"' | times: 1.3 | round: 2 }}*(Use | round: 0 if you want integer prices with no paise).*
Combine Rows into One Product (Saree Color Variants)
Weave365 sarees feature multiple colorways (e.g. Red, Bottle Green, Royal Blue). SyncX provides a section called Combine rows into one product so each saree has a single product page with color swatches:
| Store Field | Value to Type in Box | Configuration Details |
|---|---|---|
| Variant group | handle (or product_id) | Groups all color variants belonging to the same saree under one parent product. |
| Variant option 1 | color (or option1_value) | Sets the variant option value to the color name. Click Smart setting and verify Option Name is set to Color. |
Image Sync & Delimiter Setup (Troubleshooting Missing Images)
If images aren't appearing on your Shopify store, verify these three essential checks:
- Map under "Store product field(s)": Images must be added under Store product field(s) (click
+ Add more field), NOT inside the Product options / variations section. - Configure the comma delimiter in Smart Settings: Next to
Product's image, click the Smart setting icon and set Multiple image delimiter to comma (,). The Weave365 API provides all high-resolution saree photos in a comma-separated string underimages. - Map Variant Image: Add a second field for
Variant imageand map it tovariant_imageso that selecting a color swatch dynamically swaps the image to that specific colorway.
Incoming Feed Filters & Skipping Out-of-Stock Items
The Incoming feed filter section is entirely optional:
- Removing accidental filter errors: If you see a red "Required field" error on an empty Feed column name line, click the Trash Can icon () to delete the filter. This ensures all authorized products from your feed are imported.
- Skip products with zero quantity: To enable this toggle switch, you must first map the
quantityfield in Step 2. Once mapped, toggle Skip product(s) with zero quantity to ON. - Only import ready stock: If you want to use a filter rule instead, set
Feed column name: is_available,Condition: Equal to, andValue: true.
Curated Catalog Product Sync
Weave365 is a curated B2B procurement network. To maintain your storefront's focus, the API only delivers the exact products you choose to list on your store.
| Method | Configuration | API Feed Output |
|---|---|---|
| Dashboard Selection | Checkmark products in Account → Developer API and click Save Selection | /api/v1/catalog and /api/v1/stock-status automatically output strictly your chosen products. |
| URL Parameter Override | Pass ?skus=100001,100005 in the API request URL | Explicit URL query parameters filter the feed directly on demand. |
API Endpoints Reference
Fetches the live Weave365 catalog with high-resolution imagery and strictly the Reseller Procurement Price.
| Parameter | Type | Description |
|---|---|---|
| category | string (optional) | Filter by category (e.g. Kanchipuram Silk, Banarasi Katan). |
| skus | string (optional) | Filter by specific selected SKUs (comma-separated, e.g. 100001,100005,100012). Ideal when only curating selected products. |
| key | string (optional) | Alternative to x-api-key header. Pass your secret API key directly in the query string (e.g. ?key=w365_live_...). Essential for Shopify SyncX, Stock Sync, and automated feed crawlers that do not support custom request headers. |
| format | string (optional) | Set to stocksync (or syncx) to emit flattened variant rows with out-of-the-box field auto-matching for Shopify sync apps. Set to shopify or matrixify for standard nested Shopify REST payload. |
{
"status": "success",
"tier": "growth",
"client_name": "My Reseller Store",
"catalog_mode": "curated",
"total_products": 24,
"last_synced_at": "2026-08-27T12:00:00Z",
"products": [
{
"id": "100001",
"sku": "100001",
"title": "Pure Kanchipuram Silk Saree",
"category": "Kanchipuram Silk",
"fabric": "Pure Silk",
"weave": "Handloom",
"price": 3500,
"currency": "INR",
"stock_status": "ready-stock",
"stock_status_label": "Ready Stock",
"is_available": true,
"colors": ["Royal Blue", "Crimson Red"],
"images": ["https://assets.weave365.com/products/kan-001.webp"],
"description": "Certified authentic pure silk Banarasi handloom saree."
}
]
}Returns an ultra-compact map of all SKUs and their instant stock availability. Ideal for frequent (every 5-15 minute) inventory polling without consuming bandwidth or heavy payloads.
| Parameter | Type | Description |
|---|---|---|
| skus | string (optional) | Filter stock verification to only specific selected SKUs (comma-separated, e.g. 100001,100005). |
{
"status": "success",
"timestamp": "2026-08-26T12:30:00Z",
"total_items": 240,
"stock_map": {
"100001": {
"title": "Pure Kanchipuram Silk Saree",
"status": "ready-stock",
"is_available": true,
"stock_label": "Ready Stock",
"updated_at": "2026-08-26 12:15:00 IST"
},
"100002": {
"title": "Banarasi Katan Georgette",
"status": "out-of-stock",
"is_available": false,
"stock_label": "Out of Stock",
"updated_at": "2026-08-26 11:40:00 IST"
}
}
}Retrieves real-time details, high-resolution imagery, and live stock availability for a specific product design code / SKU.
{
"status": "success",
"product": {
"id": "100001",
"sku": "100001",
"title": "Pure Kanchipuram Silk Saree",
"category": "Kanchipuram Silk",
"fabric": "Pure Silk",
"price": 3500,
"currency": "INR",
"stock_status": "ready-stock",
"is_available": true,
"colors": ["Royal Blue", "Crimson Red"],
"images": ["https://assets.weave365.com/products/kan-001.webp"]
}
}If your API key is in curated catalog mode and the requested SKU is not in your selected products list:
{
"status": "error",
"code": "NOT_FOUND",
"message": "Product with SKU 100001 is not found or not included in your curated feed."
}Submit wholesale procurement orders directly to the Weave365 fulfillment center in Varanasi.
- 1. Initial Placement: Order is created in
payment_pendingstatus. - 2. Invoice Email: An itemized B2B wholesale invoice with a direct payment link is automatically emailed to your registered reseller address.
- 3. Payment Settlement: Settle the wholesale total via UPI, NetBanking, or Cards. Status immediately updates to
payment_received. - 4. Varanasi Fulfillment: Once payment is confirmed, the parcel enters our quality inspection and courier dispatch queue.
{
"reseller_order_id": "RESELLER-ORD-1092",
"reseller_email": "reseller@example.com",
"items": [
{
"sku": "102001",
"color": "Copper",
"quantity": 2,
"customer_price": 2899
}
],
"shipping_address": {
"name": "Priya Sharma",
"phone": "9876543210",
"address_line1": "Flat 402, Lotus Orchid, Indiranagar",
"city": "Bengaluru",
"state": "Karnataka",
"pincode": "560038"
},
"shipping_notes": "Wholesale handloom pure silk parcel"
}| Field | Type | Description |
|---|---|---|
| reseller_order_id | string (optional) | Your custom storefront order reference number (e.g. RESELLER-ORD-1092). |
| reseller_email | string (optional) | Your registered email to receive the itemized B2B wholesale invoice and payment link. |
| items | array (required) | Array of items: sku, color, quantity, and customer_price (the retail price you charged the buyer, printed on the courier parcel slip). |
| shipping_address | object (required) | End consignee delivery address: name, phone, address_line1, city, state, and pincode. |
| shipping_notes | string (optional) | Special delivery instructions or packaging references. |
{
"status": "success",
"order_id": "ord_8f7b2a19-3c94",
"reseller_order_id": "RESELLER-ORD-1092",
"order_status": "payment_pending",
"payment_status": "pending",
"payment_link": "https://www.weave365.com/order-tracking/ord_8f7b2a19-3c94?pay=1",
"invoice_email_sent_to": "reseller@example.com",
"pricing": {
"wholesale_amount": 3528,
"customer_billed_price": 5798,
"reseller_margin": 2270,
"currency": "INR"
},
"courier_slip": {
"sender_name": "My Reseller Store",
"recipient_name": "Priya Sharma",
"recipient_address": "Flat 402, Lotus Orchid, Indiranagar, Bengaluru, Karnataka - PIN: 560038",
"parcel_declared_value": 5798
},
"tracking_url": "https://www.weave365.com/order-tracking/ord_8f7b2a19-3c94",
"estimated_dispatch": "24-48 Business Hours after payment confirmation"
}Automated wholesale order routing requires an active Pro Scale Plan (₹499/mo). Keys on the Growth Partner (₹299/mo) plan have catalog and stock sync enabled; wholesale orders on the Growth plan are placed manually on Weave365:
{
"status": "error",
"code": "FORBIDDEN",
"message": "Order API access is not enabled for this API key."
}Retrieve orders placed by your account along with live fulfillment stages, courier carrier, and tracking details.
| Parameter | Type | Description |
|---|---|---|
| id / order_id | string (optional) | Filter by specific Weave365 Order ID (or pass as path: /api/v1/orders/:order_id). |
| reseller_order_id | string (optional) | Filter by your storefront's custom order number (e.g. RESELLER-ORD-1092). |
| status | string (optional) | Filter by order status (payment_pending, payment_received, processing, dispatched, delivered, cancelled). |
| limit | number (optional) | Number of orders to retrieve (default: 50, max: 100). |
{
"status": "success",
"total_orders": 2,
"orders": [
{
"id": "ord_8f7b2a19-3c94",
"reseller_order_id": "RESELLER-ORD-1092",
"created_at": "2026-08-27T01:15:00Z",
"status": "payment_received",
"status_label": "Payment Received / In QC",
"payment_status": "paid",
"payment_link": null,
"tracking": {
"carrier": "Delhivery Express",
"tracking_number": "DEL198273645",
"tracking_message": "Quality inspection verified. Prepared for courier dispatch.",
"tracking_url": "https://www.weave365.com/order-tracking/ord_8f7b2a19-3c94",
"is_dispatched": false
},
"customer": {
"name": "Priya Sharma",
"phone": "9876543210",
"address": "Flat 402, Lotus Orchid, Indiranagar",
"city": "Bengaluru",
"state": "Karnataka",
"pincode": "560038"
},
"items": [
{
"sku": "102001",
"variant_code": "102001",
"product_title": "Katan Silk Handloom Banarasi Saree",
"color": "Copper",
"quantity": 2
}
]
},
{
"id": "ord_a12c45e8-9b10",
"reseller_order_id": "RESELLER-ORD-1093",
"created_at": "2026-08-27T03:30:00Z",
"status": "payment_pending",
"status_label": "Payment Pending",
"payment_status": "pending",
"payment_link": "https://www.weave365.com/order-tracking/ord_a12c45e8-9b10?pay=1",
"tracking": {
"carrier": null,
"tracking_number": null,
"tracking_message": null,
"tracking_url": "https://www.weave365.com/order-tracking/ord_a12c45e8-9b10",
"is_dispatched": false
},
"customer": {
"name": "Ananya Verma",
"phone": "9812345678",
"address": "12 Banjara Hills, Road No 3",
"city": "Hyderabad",
"state": "Telangana",
"pincode": "500034"
},
"items": [
{
"sku": "100001",
"variant_code": "100001",
"product_title": "Pure Kanchipuram Silk Saree",
"color": "Royal Blue",
"quantity": 1
}
]
}
]
}If Order API permissions are disabled for your key, this endpoint responds with:
{
"status": "error",
"code": "FORBIDDEN",
"message": "Order API access is not enabled for this API key."
}Inspect your current API key details, catalog sync mode, remaining monthly quota, rate limits, active permissions, and live usage statistics.
{
"status": "success",
"client_name": "My Reseller Store",
"client_website": "https://mystore.com",
"tier": "growth",
"monthly_quota": 10000,
"month_total_used": 1420,
"remaining_quota": 8580,
"rate_limit_rps": 3,
"is_active": true,
"orders_enabled": true,
"usage_history": [
{
"usage_date": "2026-08-26",
"total_requests": 142,
"successful_requests": 140,
"rate_limited_requests": 2
}
]
}Rate Limits & Quotas
Request quotas are allocated per calendar month and reset automatically on the 1st of every month at 00:00 UTC. Choose an inventory polling frequency suited to your plan:
| Sync Frequency | Monthly Requests | Recommended Tier |
|---|---|---|
| Every 1–2 Hours | ~360–720 req / month | Growth Partner (₹299) — Continuous 24/7 sync |
| Every 15 Minutes | ~2,880 req / month | Growth Partner (₹299) — High-frequency sync |
| Every 5 Minutes | ~8,640 req / month | Growth Partner (₹299) — Near real-time sync |
| Real-Time / Multi-Store | ~15,000–25,000 req / month | Pro Scale (₹499) — Dedicated high volume sync |
Quota Safety Guard
When your monthly quota is reached, endpoints safely respond with HTTP 429 Too Many Requests (code QUOTA_EXCEEDED) to prevent serving outdated stock availability.
{
"status": "error",
"code": "QUOTA_EXCEEDED",
"message": "Monthly API quota of 10,000 requests has been exceeded.",
"upgrade_info": {
"current_tier": "growth",
"monthly_quota": 10000,
"whatsapp_support": "+91 9919101369"
}
}Pricing Tiers
Select a plan matched to your store's monthly catalog sync volume:
For storefronts syncing live stock & catalog
- 10,000 requests / month (3 req/sec)
- Full B2R Catalog Feed (
/api/v1/catalog) - Real-time stock status sync (
/api/v1/stock-status) - WooCommerce & Shopify cron sync code
- Standard B2R Reseller pricing feed
- Automated Orders API (Manual orders on Weave365)
Full Automation: Catalog + Orders API
- 25,000 requests / month (5 req/sec)
- Everything in Growth Partner plan
- Automated Orders API (
/api/v1/orders) - Multi-store SKU routing & priority queue
- Priority warehouse dispatch queue
- Dedicated technical account manager
Managing From Your Developer Dashboard
Every registered reseller has full access to the self-service Developer Portal inside their account area:
Key Provisioning
Generate, reveal, copy, or refresh secret API tokens securely with salted SHA-256 storage.
Live Usage Gauges
Track remaining monthly requests and daily request histograms in real time.
In-Browser Test Console
Send live test queries and view response headers directly in the browser.