VulCode

IdoSell integration with ERP, warehouse and wholesalers

IdoSell has several APIs and webhooks for orders, products, returns and complaints. We connect them to your ERP, invoicing and wholesalers, so stock, prices and documents match without retyping.

E-commerce platforms
An integration panel: order 4812 from IdoSell from the orderPaid webhook through the ERP order, stock and the invoice with its KSeF number to the tracking number, with the event history and lines from the product map

One system for every store

IdoSell is SaaS: every merchant runs the same version, and the API differs only by panel address and key.

Demo panel

  • free for a developer
  • the same run as in the store
  • a new address and key

It makes integration easier: a flow tested on a Demo panel works in your store after changing the address and key.

Updates

  • fixes almost daily
  • one version for everyone
  • two weeks at most to a store

IdoSell ships fixes almost daily, and within two weeks at most they reach every store.

IdoSell
SaaS, the same version for every merchant

API versions

  • minor ones backward compatible
  • the major one in the URL
  • a major one for one to two years

A major API version stays available for one to two years, so the integration needs a review at least once a year.

Access

  • a key in the X-API-KEY header
  • or an OAuth 2.0 token
  • a separate key per app

IdoSell recommends a separate API key for every application, with permissions only for the resources it needs.

Not everything in the panel has a gateway in the Admin API, so we check the scope before quoting.

Which IdoSell API for what

IdoSell splits its APIs by purpose. Picking the API is the first decision in a project.

APIWhat IdoSell says it is forWhen we use it
Adminrunning the store and automating processesERP, warehouse, invoices, stock and prices
Marketplaceconnecting the store to a sales platforma sales channel IdoSell does not support
Fulfillmentshipping and an external warehousea logistics operator or your own warehouse
Customerwholesalers and dropshippingproducts and orders with suppliers
Storefronta custom storefront on IdoSell dataa front a template cannot deliver
IdoSell also has a Printer API for printing.

Stock to IdoSell, with partial errors handled

The products/stocks gateway takes many products at once and can reply 207: some saved, some did not.

An integration panel: a stock batch from the ERP sent to IdoSell through the products/stocks gateway, a 207 Multi-Status reply, sizes saved, one size waiting for the product map and one product saved on the retry
  1. Product and size by the map id

    Product and size are identified by ids from the product map. The API also accepts index, codeExtern and codeProducer.

  2. The full level, operation set

    set sets the level, add and substract change it. From the source of truth we send the full level, so a retry duplicates nothing.

  3. A 207 reply does not stop the batch

    A reply with errors for some products does not stop the batch. Failed ones go back to the queue with the error reason.

    PUT products/stocks
    207 Multi-Status
    savedno retry
    back to the queuewith the error reasonerror.faultCodeisSizesErrors

How we match IdoSell products to the ERP and wholesaler

Product gateways accept several identifier types. The key you pick decides whether sync hits the right item.

  1. IdoSellcodeExternthe external system codeERP, the item recordthe item code in the ERPthe key when records start in the ERP
  2. IdoSellcodeProducerthe producer codeWholesaler, the product filethe EAN in the wholesaler fileIdoSell supports GTIN-13 (EAN-13), among others
  3. IdoSellsizeERP, the item recorda variant or a separate recordexternal and producer codes also exist per size
  4. IdoSellstock_idthe warehouseERP, the item recordthe ERP warehousestock set separately for each warehouse
  5. The product map in the integrationid of the product and size: set by IdoSell, used for writes

When your server misses a webhook

IdoSell retries on no response, a network error or a code outside 2xx. The values are approximate.

An integration panel: IdoSell webhook settings with the address, API version, Bearer token and header, the events turned on and skipped, an outage with retries and the reconciliation through the API
From the first error
  1. errorabout 10 min after the error, then about every 10 min for an hour
  2. 1 habout every hour for the next 23 hours
  3. 24 hno more tries for that event
  4. 48 ha notice when every event fails
  5. 7 daysthe webhook switched off, events from the gap will not come
  • Only the events needed

    Every webhook runs an API gateway and counts toward limits and billing like a normal request. We pick only the events needed.

  • Retries for a day

    For a day from the first error IdoSell retries by itself, first about every 10 minutes, then about hourly. After that a missing event has to be recovered through the API.

  • A reconciliation job

    So the integration compares orders and stock via the API daily rather than relying on webhooks alone.

From a Demo panel to your store

The order of work on an IdoSell integration. A sample run, not a delivered client project.

a list of gateways and events

Scope in the API

We check that every step of your process has a gateway in the Admin API, and pick the webhooks.

an integration working on Demo
a list of gateways and events

Demo panel

We build and test on a free Demo panel, without touching your store.

a map with a list of gaps
an integration working on Demo
a list of gateways and events

Product map

We match IdoSell products and sizes to the ERP or wholesaler records by code.

the integration in your store
a map with a list of gaps
an integration working on Demo
a list of gateways and events

Production

We switch the panel address and key. We follow the first days in the log and in request recordings.

Common questions about IdoSell

IdoSell API, webhooks and rollout

Running a store on IdoSell?

Tell us what to connect: ERP, wholesaler, warehouse or invoicing. We will reply within an hour with questions and a quote.