Skip to content
Robnu
Live

One registry. Four adapters. Zero leaf-table changes.

The generic MarketplaceAccount parent is the FK target for everything — orders, shipments, returns, payouts, schedules, listings. Each marketplace owns a 1:1 satellite table with its identity + encrypted credentials. Adding a new marketplace is a Marketplace row + a satellite + an adapter — no schema ripple.

Free during early access · Forever free under 25 orders/day
app.robnu.com/platform/marketplace-registryMarketplace adapter registryservices/marketplace/registry.ts — dispatch by Marketplace.codeRegistrysyncOrders · pushInventoryAJIOliveMEESHOscaffoldedAMAZON_INscaffoldedFLIPKARTscaffoldedsatellite tables · ajio_account_details · meesho_account_details · amazon_account_details · flipkart_account_details
TL;DR
  • MarketplaceAccount is generic — orders, shipments, returns, payouts all FK to it.
  • Per-marketplace satellite tables (ajio_account_details, meesho_account_details, amazon_account_details, flipkart_account_details) carry strongly-typed credentials.
  • MarketplaceAdapter contract: syncOrders, syncReturns, syncPayouts, pushInventory, fullProcessing.

What you get.

Strongly-typed credentials

AJIO's four-blob credential set, Meesho's API key + secret, Amazon SP-API's refresh token, Flipkart's API key + secret — each lives in a typed satellite. No JSON blob abuse, no field collisions across marketplaces.

Generic FK target

Orders, shipments, returns, payouts, schedules, listings, inventory tasks all point at marketplace_account_id. The adapter resolves the satellite at call time. Leaf tables don't know which marketplace they're holding.

Validation status on the parent

last_validated_at, last_validation_status, needs_reconnect live on MarketplaceAccount because all marketplaces have the concept. Detail-level errors (AJIO 401, Meesho HMAC mismatch) flow into marketplace_credential_events.

Adapter contract

Methods every adapter implements.

  • code — the Marketplace.code dispatch key (e.g. 'AJIO', 'MEESHO', 'AMAZON_IN', 'FLIPKART').
  • supportedTargets — subset of ScheduleTarget enum the adapter handles.
  • syncOrders(ctx) — ingest open orders into the Order table.
  • syncReturns(ctx) — ingest returns into OrderReturn + OrderReturnItem.
  • syncPayouts(ctx) — ingest settlements into MarketplacePayout + PayoutLineItem.
  • pushInventory(ctx) — push deductions to the marketplace.
  • fullProcessing(ctx) — run the per-marketplace process pipeline (AJIO 11-stage on AJIO).
FAQ

Practical answers.

Type safety and audit. JSON columns make it impossible to grant least-privilege access to a single marketplace's credentials. Satellites let IAM/RLS scope reads to one satellite at a time.

Three steps. (1) Insert a row into the marketplaces table. (2) Create the per-marketplace satellite migration. (3) Implement and register the adapter. No leaf-table migrations needed.

We don't publish dates. Meesho is the most-asked-for next; Amazon SP-API integration is HAR-investigation pending; Flipkart follows. See /roadmap for the live order.

Related

More inside this pillar.

Try it inside your own dashboard.

Free during early access. No card. Forever free under 25 orders/day.

build 547000c1ac5d3ea9cb039864711ed788f9948b69 · 2026-06-12T02:03:58+05:30