Seller Orchestra Internal API Mapping

Domain Management

Domain lifecycle management, custom domain URL configuration, and DNS management

3-Layer Architecture

Seller API Gateway Seller Admin (Orchestra) Core Microservices External Services

Domain Management APIs

Core domain CRUD operations

Create Domain

Create a new domain with default store and subscription initialization

POST
POST /merchant/api/v1/domains
Domain Controller

Request Body:

{ name, logo, favicon, locale, country, timezone, business_details: { category, module }, store: { name } }
1 POST /api/domains Account Service
2 POST /api/stores Store Service
3 POST /api/subscriptions Subscription Service
4 POST /api/resources/init Resource Service (CDN)

List Domains

List all domains for the authenticated account (paginated)

GET
GET /merchant/api/v1/domains
Query: page, size
1 GET /api/domains Account Service

Get Domain

Retrieve domain with stores, subscription, and permissions

GET
GET /merchant/api/v1/domains/:domain_id
Query: store_list (boolean), store_list_size (int)
1 GET /api/domains/:domain_id Account Service
2 GET /api/stores?domain_id=:domain_id Store Service
3 GET /api/subscriptions?domain_id=:domain_id Subscription Service

Delete Domain

Delete domain and cascade to stores, subscriptions, resources

DELETE
DELETE /merchant/api/v1/domains/:domain_id
1 DELETE /api/domains/:domain_id Account Service
2 DELETE /api/resources/:domain_id Resource Service
3 DELETE /api/subscriptions/:domain_id Subscription Service

Custom Domain URL APIs

Link existing domains or purchase new domains

Get Domain URL

Get custom domain URL config with NS records and status

GET
GET /merchant/api/v1/domains/:domain_id/domain_url
Query: check_status (boolean) - verify nameservers in real-time
1 GET /api/domain-url/:domain_id DNS Service
2 GET /api/dns/verify/:domain_name DNS Verification (if check_status=true)

Response includes:

{ id, domain_id, domain_name, domain_connect_type: "link"|"purchase", status: "pending"|"active"|"inactive", ns_records: [...] }

Create/Link Domain URL

Link existing domain OR purchase new domain with payment

POST
POST /merchant/api/v1/domains/:domain_id/domain_url

Request Body (Link):

{ domain_name: "mystore.com", domain_connect_type: "link" }

Request Body (Purchase):

{ domain_name: "mystore.com", domain_connect_type: "purchase", current_domain_name: "123456.ndh01.com", client_return_url: "https://..." }
1 POST /api/dns/zones DNS Service (Create Zone)
2 POST /api/domains/check Domain Registry (if purchase)
3 POST /api/payments/orders Payment Service (JUSPAY)
For "link" type, returns NS records. User must configure these at their domain registrar. Propagation takes up to 48 hours.

Delete Domain URL

Remove custom domain, revert to default platform URL

DELETE
DELETE /merchant/api/v1/domains/:domain_id/domain_url
1 DELETE /api/dns/zones/:domain_name DNS Service
2 PATCH /api/domains/:domain_id Account Service (Reset URL)
3 POST /api/cdn/invalidate CDN Service

Search Available Domains

Search for domains available for purchase with pricing

POST
POST /merchant/api/v1/domains/:domain_id/domain_url/search

Request Body:

{ domain_name: "mycompany.com" }
1 POST /api/domains/search Domain Registry Service
2 GET /api/domains/pricing Pricing Service

Response Array:

[{ domain, period, period_unit, currency, price, buy_price, discount }, ...]

Documentation Notes

Domains are multi-tenant. Each domain has its own stores, products, and customer base. Custom domain linking requires DNS configuration at registrar.