VulCode

Apilo integration through the REST API

Apilo gathers sales from marketplaces, stores and couriers. When your system has no ready connection to it, we connect it through the Apilo REST API: orders, documents, stock and shipments.

Multichannel selling
A B2B store panel: a day of requests to the Apilo REST API, a read of the orders changed since the previous read with a date filter, the encoded plus of the time zone, the limit and the offset, the request headers and three orders updated in the store

When Apilo, and when code

Apilo has ready integrations with marketplaces, stores, couriers, accounting software, WMS and wholesalers. Code is only needed where your system is not one of them.

  • Apilo's ready integrations

    Marketplaces and stores
    Allegro, for one, through Apilo's ready integrations.
    Couriers
    Shipping handled in Apilo.
    Accounting software, WMS and wholesalers
    Subiekt connected to Apilo, for one.
  • Your system

    A custom store or B2B panel
    Orders go to Apilo on acceptance or payment, and products, prices and shipments come back to the store.
    Your own warehouse
    Products, attributes and media of the Apilo warehouse, after every change there.
    A system that should get documents and statuses from Apilo
    Sales documents once issued and order statuses per the account's status map.

Authorisation and the first requests

Apilo uses access and refresh tokens. The integration makes sure it is never left without a valid token.

The Apilo connection in a B2B store panel: an access token valid for 21 days with a refresh a day before expiry, the refresh token, the account's status map with one status without a counterpart and the headers of every request
  1. A token refreshed before it expires

    We exchange the authorisation code for an access and a refresh token. We fetch a new token before expiry, not after an error.

    POST /rest/auth/token/refresh_token

  2. Maps instead of assumptions

    Statuses, payment methods, couriers and platforms have their own ids in Apilo. The integration fetches their maps instead of hard-coding values.

    GET /rest/api/orders/status/map/

  3. The same headers on every request

    Every request, including auth, needs Accept and Content-Type set to application/json.

    Accept: application/jsonAuthorization: Bearer

Apilo in the middle, your system next to it

A typical layout: Apilo handles channels and couriers, and the integration links them to what Apilo does not know.

Apilo
orders, stock, shipping
  • Store ordersacceptance or payment
  • Order statusesa change on either side
  • Products and pricesa change in the Apilo warehouse
  • Shipments and trackinga parcel dispatched
  • Sales documentsa document issued
  • Custom-built store

    orders into Apilo, stock to the store

    Paid or approved orders reach Apilo, and stock and tracking numbers come back to the store.

    • Store orders
    • Order statuses
    • Products and prices
    • Shipments and tracking

    More: Online Stores & E-commerce

  • Allegro and marketplaces

    ready Apilo integrations

    Orders come into Apilo through its ready integrations, without our code.

  • Subiekt and wFirma

    documents and invoices

    Documents and invoices in the accounting program connected to Apilo.

    • Sales documents

    More: Invoicing and ERP

  • KSeF

    invoices from the program or your code

    Invoices usually reach KSeF through the accounting program connected to Apilo, or through your system.

    • Sales documents

    More: KSeF

  • B2B panel

    statuses and shipments for customers

    The customer sees the order status and the tracking number in their panel.

    • Order statuses
    • Shipments and tracking

    More: Panels & Dashboards

What your B2B customer sees

We set directions separately for each kind of data. The screen shows an order in the B2B store on the customer's phone.

An order in the B2B store on a phone: the status path from received to shipped, the courier shipment with its number and a tracking button, the invoice as a PDF and the order lines
  1. Order statuses

    Statuses flow both ways, translated through the account's status map.

    ApiloB2B storea change on either side

  2. Shipments and tracking

    The tracking number reaches the customer panel once the parcel is dispatched in Apilo.

    ApiloB2B storea parcel dispatched

  3. Sales documents

    The invoice issued for the order goes to the customer panel or to the ERP.

    ApiloB2B storea document issued

What we watch out for with Apilo

Details from the documentation that decide how stable the integration is.

Request or settingPer the Apilo documentationWhat the integration doesBefore launch
Request or settingGET /rest/api/orders/Several integration processes at once
Per the Apilo documentationA limit of 150 requests per minute
What the integration doesOne counter for every process, changes batched
Handled before launch
Request or settinglimit=2000The largest list in one request
Per the Apilo documentationUp to 2000 items, further pages via offset
What the integration doesAt high volume an incremental read, not the whole list
Handled before launch
Request or settingContent-Type: application/jsonAlso on POST /rest/auth/token/
Per the Apilo documentationAccept and Content-Type set to application/json on every request
What the integration doesFixed headers in the API client, auth included
Handled before launch
Request or setting/rest/api/orders/status/map/The account's statuses and carriers
Per the Apilo documentationIds that differ per account
What the integration doesMaps fetched at start-up and after panel changes
Handled before launch
Request or settingupdatedAfter=2026-10-08T09:36:00+02:00A date with a time zone in a GET filter
Per the Apilo documentationThe zone's plus encoded, or it reads as a space
What the integration doesThe plus sent as %2B, so the range does not shift
Handled before launch
Request or settingrefresh_tokenAn access token about to expire
Per the Apilo documentationA new pair of tokens from POST /rest/auth/token/
What the integration doesA refresh before expiry, not after an error
Handled before launch

6 checks before the integration starts writing to Apilo

Common questions about Apilo integration

Answers about choosing a system, KSeF, testing and the quote.

What should connect to your Apilo?

Tell us which channels you run in Apilo and which system should talk to it. We will reply within an hour with questions and a quote.