E-commerce connectors
An e-commerce connector links a standalone shop platform to ShopiMind: it pushes the catalog, customers and orders, exposes the callbacks ShopiMind needs to act on the shop (personalised discount vouchers, account creation), and injects the tracking script that feeds carts and visitor behaviour.
ShopiMind ships official modules for PrestaShop, WooCommerce, Shopify, Magento 1 / 2 and Thelia. If your platform has none, in-house solution, headless front end, ERP, e-commerce SaaS, you can build your own, against exactly the same contract as the official modules. This section documents that contract end to end.
Connector or integration?
Two different objects, two different channels. Do not mix them up: they share neither authentication, nor signature scheme, nor tooling.
| E-commerce connector | Integration | |
|---|---|---|
| What it is | A standalone e-commerce platform | A third-party product grafted onto an existing account |
| Example | PrestaShop, Odoo, an in-house headless front end | Hiboutik POS, a CRM, a loyalty program |
| Data pushed | The full catalog, customers, products, categories, orders, vouchers | A targeted scope + dedicated sources |
| Inbound callbacks | Yes: connector channel, HMAC over a flattened body | Yes, integration channel, timestamped signature |
| Tracking script | Yes: the connector injects it | No |
| Tooling | The SDK or the API directly | The @shopimind/integration-kit-js kit |
| Documentation | This section | Integrations |
The three channels
A complete connector talks to ShopiMind over three independent channels. They can be enabled separately: ship the first one alone, then add the others.
┌─────────────────────┐ ┌──────────────────┐
│ │ ① PUSH, you call ShopiMind │ │
│ Your shop │ ─────────────────────────────────► │ │
│ + your connector │ POST /v1/customers, /v1/orders… │ │
│ │ │ ShopiMind │
│ │ ② CALLBACKS, ShopiMind calls you │ │
│ │ ◄───────────────────────────────── │ │
│ │ POST {url_client}/vouchers… │ │
└─────────────────────┘ │ │
│ │ │
│ ③ TRACKING, the shopper's browser │ │
└───────────────────────────────────────────────►│ │
the spm.js tag └──────────────────┘| Channel | Direction | What it brings | Required? |
|---|---|---|---|
| ① Data push | Connector → ShopiMind | Customers, products, orders, categories, vouchers… The foundation: without data, no scenario can target anyone. | Yes |
| ② Inbound callbacks | ShopiMind → Connector | Generating personalised vouchers from a scenario, account creation and newsletter opt-in from a widget. | Depends on the features you want |
| ③ Front-end tracking | Browser → ShopiMind | Visitor identity, page views, carts, scenario and widget triggering. | For cart recovery and widgets |
Carts go through channel ③, not channel ①
GET /v1/carts is read-only: a cart is not created through the data API. It comes from front-end tracking (the spm.js tag) or from a cart_id reference carried by an order. If abandoned-cart recovery is in scope for you, channel ③ is not optional. → Tracking script
Synchronisation: you push your data
For channel ①, your connector decides when to synchronise and pushes to the API. You keep control over the cursor, the frequency, error recovery and the load placed on your shop. No route to expose: a full backfill on first connection, then incremental passes at your own pace (long-running process, cron, task queue, your choice).
What you have to build
| Building block | Who writes it | Section |
|---|---|---|
| The connection call (declares the shop and your URLs) | You | Connection |
| Pushing entities to the API | You | Pushing data |
The /vouchers, /customers, /subscribe-customer routes + signature verification | You | Inbound callbacks |
Injecting the tag and sending carts, 4 lines with the spm.js loader | You | Tracking script |
| Transport, retries, chunking, signing | ShopiMind, SDK | , |
Where to start
- Quickstart: from API key to first synced customer.
- Connection: the
POST /v1/shop/connectioncontract, done once. - Pushing data: entities, dependency order, idempotence.
- Tracking script: carts and visitors, headless included.
- Inbound callbacks: personalised vouchers and account creation.
- Reference: target scope, headers, troubleshooting.
Prerequisites
- A ShopiMind shop and an API key (Shop settings → API access).
- The shop identifier, shown on the same page. It is used by channels ② and ③.
- A public HTTPS endpoint if you implement channels ② or ③ server-side.
- The JavaScript SDK: optional. The REST API is the contract; calling the endpoints directly is fully supported, in any language.