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.
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 partners01
Choose the integration type
- 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
React extension
Use it for a user interface that must run inside SelSup and reuse the product's interaction patterns.
- 3
SelSup backend module
Required for a deep marketplace or delivery integration participating in shared SelSup background processes.
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.
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.
An allowed origin controls browser access but does not authenticate a user. Every sensitive operation still needs server-side permission checks.
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.
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
Create a test account
Separate test tokens, warehouses, products, and orders from customer production data.
- 2
Add observability
Track queue delay, errors by code, retry counts, and reconciliation discrepancies.
- 3
Plan contract migration
Support old fields during a transition and deploy consumers before disabling the old format.
- 4
Document disconnection
Users must know how to revoke a token, remove a webhook, and stop synchronization without losing data.