SelSup Developers

SelSup platform · Guides

Extensions and custom integrations

Choosing between an external backend service, an embedded React UI, and a server-side marketplace or delivery module.

5 sectionsDeveloper guide

Most integrations should begin as an external backend using the public API. An embedded UI is appropriate when users must operate the feature directly inside SelSup.

Application developers and technology partners

01

Choose the integration type

  1. 1

    External backend service

    Best for ERP, web-store, WMS, BI, and similar synchronization. The token stays on your server and data moves through the API and webhooks.

  2. 2

    React extension

    Use it for a user interface that must run inside SelSup and reuse the product's interaction patterns.

  3. 3

    SelSup backend module

    Required for a deep marketplace or delivery integration participating in shared SelSup background processes.

i
Start with a thin vertical slice

Implement one complete workflow and its observability first. Add bulk imports, UI, and more event types after reconciliation is stable.

02

External application architecture

Keep the token in a secrets manager and call SelSup only from your backend. Your browser application should talk to your API and never receive the SelSup token.

Separate the SelSup adapter, job queue, and domain model. API contract changes then remain isolated from the rest of the application.

Use an inbox for incoming events and an outbox for outgoing changes. Both journals should support replay and auditing.

Data flow · Text
SelSup webhook → inbox → domain worker → ERP/WMS
ERP/WMS change → outbox → SelSup API → reconciliation

03

Embedded React extension

The component runs inside the SelSup interface. An external domain must allow requests from selsup.ru and correctly handle browser restrictions.

Never place a permanent API token in the bundle. Route privileged work through your backend and the short-lived user context defined by the extension architecture.

Match product interaction patterns and cover accessible empty, loading, and error states.

!
CORS is not authorization

An allowed origin controls browser access but does not authenticate a user. Every sensitive operation still needs server-side permission checks.

Demo component · URL
https://github.com/SelSup/component

04

Server-side integration module

A marketplace integration normally covers tokens, cards, prices, stock, orders, and background status updates. A delivery service adds rating, shipment creation, labels, and tracking.

This module changes the main SelSup backend and follows its review, testing, localization, and release process. Agree on interfaces and data boundaries before implementation.

Convert external API failures into stable ApplicationError values and revoked or invalid external tokens into AccessException according to backend project rules.

i
Shared data compatibility

Do not add marketplace-specific fields to shared entities. Keep raw contracts in integration DTOs and map them at the boundary.

05

Release and operation

  1. 1

    Create a test account

    Separate test tokens, warehouses, products, and orders from customer production data.

  2. 2

    Add observability

    Track queue delay, errors by code, retry counts, and reconciliation discrepancies.

  3. 3

    Plan contract migration

    Support old fields during a transition and deploy consumers before disabling the old format.

  4. 4

    Document disconnection

    Users must know how to revoke a token, remove a webhook, and stop synchronization without losing data.