Skip to main content

CSV Feeds and Webhooks

Day-to-day automation that is supported for suppliers today is portal-first:

  1. CSV catalog and inventory feeds (bulk stock and product truth)
  2. Signed outbound webhooks (order and document events to your systems)

There is no public self-service machine credential product: no OAuth app, long-lived API key, or unattended JWT minting. Do not plan ERP jobs around browser-session tokens.

This matches the seller (Partner) side: bulk catalogue work for operators is portal CSV feeds; machine credentials remain a separate product track, not a day-one requirement for spreadsheet uploads.

Base URL (feeds and webhooks use the Supplier API host)

export SUPPLIER_API_BASE_URL="https://supplier-api.oziosko.com.au/api/v1"

Portal operators use Feeds and Settings → Webhooks after account verification. The portal handles authentication automatically. Direct HTTP calls require a supplier API JWT obtained through an OKNowShop-coordinated access path; a Supabase or browser session token is not accepted as the bearer credential on protected Supplier API routes.

1) CSV catalog and inventory feeds

Use Feeds (/feeds) for high SKU counts.

PathPurpose
Portal FeedsProfile required, CSV upload, run history
GET /api/v1/feeds/profilesList profiles (provisional flag, required/optional fields)
POST /api/v1/feeds/runs?feed_type=catalog|inventoryCreate a feed run (CSV)
GET /api/v1/feeds/runs/{run_id}Status
GET /api/v1/feeds/runs/{run_id}/row-resultsPer-row errors

Profiles

  • Canonical profiles (for example generic-supplier-catalog-v1) use OKNowShop headers.
  • Source-format profiles (for example faire) set needs_mapping and may be provisional — best-effort import of another marketplace’s export shape, not a live Faire API connector.
  • CSV only. Convert XLSX exports before upload.
  • Faire Case Quantity maps into minimum_order_qty for convenience; case-based MOQ is not fully modelled—validate after import.
  • The Faire profile does not preserve multi-variant Option 1/2 grouping; each row becomes a separate SKU.
  • Country of Origin, Variant Weight/unit conversion, the separate Faire Min Order Quantity field, and preorder dates are not mapped.

Review Faire's bulk-uploader guidance and validate a real export before using the provisional profile in production.

Full portal steps: Feeds.

Example (catalog feed with profile)

curl -X POST "$SUPPLIER_API_BASE_URL/feeds/runs?feed_type=catalog&profile=generic-supplier-catalog-v1" \
-H "Authorization: Bearer <supplier-api-jwt-from-coordinated-access>" \
-F "file=@catalog.csv"

Prefer the portal upload unless OKNowShop has coordinated API access for your account.

2) Signed webhooks

Configure in Settings:

  • Destination URL and test delivery
  • Store the signing secret; rotate if exposed
  • Delivery history for retries and failures

See Webhooks for signatures, headers, and retries.

Webhooks push order/document events to you. They do not replace a full unattended order-API credential model.

3) What is not a public integration product

NeedStatus
Portal order accept/shipSupported (Operate guides)
CSV feeds + portal historySupported
Outbound signed webhooksSupported
Self-serve OAuth / app marketplaceNot offered
Long-lived API key with rotation/revocation UINot offered
Documented unattended poll of orders for ERPNot offered as a self-serve product

Unattended order polling is not a supported self-service workflow. Do not substitute browser-session tokens.