Connectors
A connector is Complaia's ready-made support for one outside system. Ten systems can be connected: three marketplaces and hubs, three online shops and four couriers. This page tells you what each one can do, what to prepare before you start, and how to connect it step by step.
Where to find it: Integrations → Integrations → Integration list, then New integration
When you'll use it
- You are about to connect a shop, a marketplace or a courier and want to gather the right keys first.
- You want to know whether a system can do a particular thing, for example fetch products, send tracking numbers or order a pickup, before you rely on it.
- A connection does not work and you need to know what the message means.
Key concepts
- Connector — one supported system, for example Shoper or DHL.
- Integration — one connected account of that system. You can connect the same connector more than once. Give each connection its own Integration name.
- Connection details — the keys, tokens or passwords the other system gives you, plus the settings of the connection. Complaia stores secrets encrypted. After saving you never see them again: a secret field is always shown empty.
- Test mode — the other system's practice environment. Orders and shipments in it are not real and nothing is charged. Allegro, InPost, DHL, DPD and FedEx have a test mode switch. You can set it only while you create the integration. To move from practice to real work, create a new integration. For DPD and FedEx the switch is on when the form opens.
- Complaia ERP — the name that many screens and messages use for Complaia, for example "approve access for Complaia ERP". ERP stands for enterprise resource planning.
- Products are only ever added. Fetching products creates the products Complaia does not have yet. A product you already have is left exactly as it is. Stock levels are never changed, and photos are not imported.
At a glance
Systems that bring orders
| Connector | Fetch orders | Fetch products on request | Exchange order statuses | Bring payments in | Send payments out | Send tracking numbers |
|---|---|---|---|---|---|---|
| Allegro | ✓ | — | ✓ | ✓ | — | ✓ |
| Apilo | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| Base (BaseLinker) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| WooCommerce | ✓ | ✓ | ✓ | ✓ | — | — |
| Shoper | ✓ | ✓ | ✓ | ✓ | — | — |
| PrestaShop | ✓ | ✓ | ✓ | ✓ | — | — |
Which mappings each one uses:
| Connector | Statuses | Payment types | Order sources | Delivery methods | Couriers |
|---|---|---|---|---|---|
| Allegro | ✓ | — | — | ✓ | ✓ |
| Apilo | ✓ | ✓ | ✓ | ✓ | ✓ |
| Base | ✓ | ✓ | ✓ | ✓ | ✓ |
| WooCommerce, Shoper, PrestaShop | ✓ | ✓ | — | ✓ | — |
Couriers
| Connector | Create shipment and label | Cancel the label at the courier | Follow parcel status | Order a courier pickup | Abroad |
|---|---|---|---|---|---|
| InPost | ✓ | ✓ | ✓ | ✓ | — |
| DHL | ✓ | ✓ | ✓ | ✓ | ✓ |
| DPD | ✓ | — | ✓ | ✓ | ✓ |
| FedEx | ✓ | ✓ | ✓ | ✓ | ✓ |
How shipments are created, labelled, cancelled and picked up is described in Shipments.
The screen
New integration opens the Add integration window.
- The catalog — one card per connector, with its logo, kind and a short description. Narrow the list with the search box or the buttons All, Marketplace and Logistics. Click a card to choose it.
- The form — on the left, the connector's description and a guide. The guide lists what happens after you create the integration, what the integration does not do, common questions, and Prepare before connecting. On the right, under Connection configuration:
- Integration name;
- the connector's own fields;
- How often should orders be fetched? — for systems that bring orders;
- Order status is set by and the payment setting — for marketplaces, hubs and shops. See Mappings → Who sets the order status and payment;
- an optional Description / note;
- For manual actions — settings used only by the buttons on the integration's page. Only Base has one.
How to set up the connection at the top of the form jumps to the preparation steps in the guide. Back returns to the catalog. Cancel closes the window. Create integration saves.
Some field names are shown in Polish even when you use Complaia in English. This is noted below where it happens.
📷 Screenshot to add: the Add integration window with the catalog of ten connectors
Common tasks
Connect a connector
- Click New integration and then the connector's card.
- Type an Integration name. The form suggests the connector's own name. If you connect the same system twice, change it: two integrations cannot have the same name. You cannot rename an integration later.
- Fill in the fields listed for that connector further down this page.
- For a system that brings orders, choose the fetch frequency: Every 15 minutes, Every 30 minutes or Every 60 minutes.
- For a marketplace, hub or shop, check who sets the order status and payment.
- Click Create integration.
Complaia then does the following by itself:
- It connects at once, or sends you to the other system to approve access (Allegro, and WooCommerce when you connect through the shop). A failure leaves the integration on the list with Error, so you can correct it.
- It creates the system rule with the background work: fetching orders at the chosen frequency, and for a courier the daily status check and the daily pickup.
- For a system that brings orders, it creates an order source named after the integration.
Orders are fetched from the moment the integration was created. Fetch older orders with Sync orders.
Change connection details later
- Open the integration and find Technical details on the right. Click Show and confirm.
- Under Connection details, change what you need. Secret fields are always shown empty. Leave one empty to keep the saved secret, or type a new value to replace it.
- Click Save. A window lists the changed fields. Confirm with Save details. Complaia saves and tests the connection with the new details at once.
What you cannot change here:
- Test mode. It is shown as On or Off only. Create a new integration to change the environment.
- The Allegro connection. Allegro has no keys to edit. Use Reconnect on the integration's page instead.
- Automatically send tracking. It is the switch in the Tracking numbers section of the integration's page.
Set the mappings a connector needs
Fetching orders works straight after connecting. Statuses, payments, delivery methods and tracking numbers work well only after you pair the other system's names with yours on the integration's page. Mappings explains each one.
Order sources
Allegro
Brings orders in, exchanges order statuses, brings payments in and sends tracking numbers back. You do not need any keys: you sign in to Allegro and approve access for Complaia.
Prepare: the Allegro account you sell on. For testing, an account in Allegro Sandbox, which is Allegro's practice environment.
- In the form, leave Test environment (sandbox) off to connect your real Allegro account. Switch it on only for an Allegro Sandbox account.
- Optionally, switch on Automatically send tracking.
- Choose the fetch frequency and who sets the order status and payment.
- Click Create integration. Your browser goes to Allegro.
- Sign in to the Allegro account you sell on and approve access. Allegro returns you to the integration's page, and the connected account is shown on the connection card.
If the browser did not go to Allegro, or you closed the Allegro page, open the integration and click Connect with Allegro in the Connect Allegro account section.
Access is renewed automatically every night. It is renewed even while your Complaia subscription is inactive, so after you pay, the integration works without connecting again. If access ever lapses, the section appears again with a Reconnect button. Sign in with the same Allegro account. To connect a different Allegro account, add a new integration.
Also note:
- One Allegro account can be connected in only one integration of your company. A second one would fetch the same orders again.
- Allegro orders go to an order source named Allegro.
- Allegro does not bring products and does not mark orders as cash on delivery.
- For tracking numbers to land under the right courier on Allegro, map your couriers.
Apilo
A multichannel hub. It brings in orders from the platforms attached to your Apilo account, exchanges order statuses, brings payments in and sends tracking numbers back. Products are fetched with Sync products.
Prepare: in Apilo, create a new REST API application under Administration → Apilo API keys. Apilo then shows the API address, the client ID, the client secret and an authorization code. The authorization code works only once and only until the time Apilo shows next to it, so create the integration right away.
- Enter Authorization Code, Client ID and Client Secret.
- Enter the API address, for example
https://yourcompany.apilo.com. It must be an address in the apilo.com domain. - Optionally, switch on Automatically send tracking.
- Choose the fetch frequency and who sets the order status and payment.
- Click Create integration.
Complaia exchanges the one-time code for access, and access then renews by itself every night. If it ever lapses, generate a new authorization code in Apilo and save it under Connection details.
Base (BaseLinker)
A multichannel hub, earlier called BaseLinker. It brings in orders from every marketplace and shop attached to your Base account, exchanges order statuses and payments in both directions, and sends tracking numbers back. Products are fetched with Sync products.
Prepare, in Base:
- Go to My account → API and add an API token. Set its permissions to Full and copy the token at once, because Base shows it only once.
- At the bottom of the same page, switch on the event log. Without it, payment and status changes of orders already fetched do not reach Complaia, even with a full token.
Then, in Complaia:
- Paste the token into API token.
- Decide on Fetch unconfirmed orders. It is off by default. An unconfirmed order in Base is still a draft: its amounts and addresses may change.
- Optionally, switch on Automatically send tracking.
- Choose the fetch frequency and who sets the order status and payment. Base is the only connector that can receive payments from Complaia.
- Optionally, under For manual actions, enter the Product catalog ID. It is used only by Sync products. Leave it empty to use the first catalog on the account.
- Click Create integration.
If the event log is switched off, the integration's page shows a warning about it under Order synchronization. Until you switch it on, Complaia checks only orders confirmed in the last 7 days.
Base does not accept a tracking number without knowing the courier, so map your couriers before you rely on tracking.
WooCommerce
Your own WordPress shop. It brings in orders, exchanges order statuses and brings payments in. Products are fetched with Sync products. Nothing has to be installed in the shop.
Prepare, in the shop: the shop must use an https:// address, and in WordPress Settings → Permalinks must be set to anything other than Plain.
Under Connection method, choose one of two ways:
Connect through WooCommerce (the default)
- Enter the Store address, starting with
https://. - Choose the fetch frequency and who sets the order status and payment.
- Click Create integration. Your browser goes to the shop's administration panel.
- Sign in as a shop administrator and approve access for Complaia. The keys reach Complaia by themselves, and your browser comes back to the integration's page.
If this did not finish, open the integration and click Connect with WooCommerce in the Connect WooCommerce store section.
Enter keys manually
- In WooCommerce, go to Settings → Advanced → REST API and add a key. Give it Read/Write permissions. Read is enough to fetch orders, but then Complaia cannot change the order status in the shop.
- In Complaia, enter the Store address, the Consumer Key (it starts with
ck_) and the Consumer Secret (it starts withcs_). - Choose the fetch frequency and who sets the order status and payment, and click Create integration.
Shoper
A hosted shop platform. It brings in orders, exchanges order statuses and brings payments in. Products are fetched with Sync products.
Prepare, in the shop: a separate administrator account for Complaia, in a group with WebAPI access. The group needs read access to orders and products, and write access to orders. Without write access, orders are still fetched, but Complaia cannot change their status in the shop.
- In Store address, enter the address starting with
https://, without/webapiat the end. Use the address the shop finally opens on: ifexample.comforwards towww.example.com, enter the second one. - In API user login and API user password, enter the login and password of that account.
- Choose the fetch frequency and who sets the order status and payment.
- Click Create integration.
Shoper does not tell Complaia that an order is cash on delivery. Complaia recognises it by the payment method name. See Mappings → Map payment methods.
PrestaShop
A shop on your own server. It brings in orders, exchanges order statuses and brings payments in. Products are fetched with Sync products.
Prepare, in the shop:
- Go to Advanced Parameters → Webservice and switch the webservice on.
- Add a new key and keep it enabled.
- In the key's permission table, tick exactly these boxes. Do not grant all permissions: the key could then change and delete shop data.
| Tick | Rows | Used for |
|---|---|---|
| View (GET) | orders, order_details, order_states, customers, addresses, countries, currencies | Fetching orders. Required |
| View (GET) | carriers, messages | The delivery method and the customer's comment on an order. Without them, orders arrive without this information |
| Add (POST) | order_histories | Changing the order status in the shop |
| View (GET) | products, combinations, product_options, product_option_values, taxes, tax_rules | Fetching products |
Then, in Complaia:
- In Store address, enter the address starting with
https://, without/apiat the end. - In Webservice key (WS key), paste the key.
- Choose the fetch frequency and who sets the order status and payment.
- Click Create integration.
When connecting and when you test the connection, Complaia checks the key's permissions. If a permission is missing, the test window names it, and the Order statuses section of the integration's page shows a warning.
Couriers
Connecting a courier makes it available when you create a shipment. Connecting costs nothing: you pay the courier only for the labels you create. How shipments are created, labelled, cancelled and picked up is described in Shipments.
Every courier form asks how the courier pickup is ordered. There are three choices:
- By hand: you order the pickup with a button on the shipment when you finish packing. This is the starting value.
- Automatically at the cut-off time: once a day, at 15:00 unless you change the hour, Complaia orders one pickup for the shipments dispatched that day.
- Not at all: you have a standing pickup under your contract with the courier, so Complaia orders nothing.
You can change the choice later under Connection details, and the hour under Background work on the integration's page.
The sender details are filled in from your company details. A change of your company address later does not update an integration that already exists.
The address on the label, and the place where the courier collects the parcels, come from the shipment's place of dispatch, usually a warehouse. See Shipments. The address in the integration is used only when a shipment has no complete place of dispatch. Keep it complete anyway, so that such a shipment can still be sent.
InPost
Parcel lockers and courier, for shipments within Poland only.
Prepare: in InPost's Parcel Manager, generate a ShipX API token and note your organisation number. The form has an Open Parcel Manager button.
Enter the ShipX API token and the Organization ID. Both are required.
Leave Test mode (sandbox) off for real shipments.
Optionally, enter the Parcel locker map token (GeoWidget):
- it is a different token from the first one, also generated in Parcel Manager;
- it must come from the same environment as the first token (practice or real);
- in the token's allowed sites, enter the address of your Complaia panel, not of your shop.
Without this token the locker map is not shown when you choose a parcel locker on a shipment.
Choose the Default service and the Default parcel size. A new shipment starts with them, and you can change them on each shipment.
Choose an option in Courier pickup ordering. It is required.
Enter the Sender name and Sender phone. Both are required. Sender email is optional.
Check the pickup address: Pickup street and number, Pickup postal code, Pickup city and Pickup country. All four are required.
Click Create integration.
DHL
DHL Parcel Poland, for domestic and international shipments.
Prepare: the message DHL sends when it enables the integration for your account. It contains several logins. Complaia needs the pair marked api v2 and your SAP customer number. The e-mail address and password you use for the DHL24 website do not work here.
- Enter the WebAPI v2 login and WebAPI v2 password.
- Enter the SAP customer number. It tells DHL which account to charge.
- Leave Test mode (sandbox) off for real shipments. When it is on, shipments go to DHL's practice environment: nothing ships and nothing is charged.
- Optionally, choose the Default product (optional). It is the service suggested when you dispatch, and you can choose another one on each shipment. A domestic product does not travel abroad, and an international one does not serve an address in Poland.
- Optionally, choose the Default parcel size (optional). It is used when a shipment does not state its own size class. It does not replace real parcel dimensions: a shipment without dimensions is refused before it reaches DHL.
- Choose an option in Courier pickup ordering. It is required.
- Check the sender details. Sender name, Sender street and number, Sender postal code, Sender city and Sender country are required. Sender phone (optional) and Sender email (optional) are optional. The address is used only when a shipment has no complete place of dispatch.
- Click Create integration.
DHL shipments cannot be sent to DHL pickup points from Complaia.
DPD
DPD Poland, for domestic and international shipments under your own contract with DPD.
Prepare: from your DPD account manager, the access key for the DPD Poland interface and your payer number (FID). These are not the details you use for the DPD Online website. To get parcel statuses, also ask your account manager to enable the InfoServices service.
- Enter the Access key (Basic). You can also enter it as
login:password. - Enter the Payer number (FID).
- Check Test mode (DPD demo). It is on when the form opens. Switch it off for real shipments. Your real details work only with test mode off.
- Optionally, enter the InfoServices channel (optional) that DPD gave you. Without the InfoServices service there are no parcel statuses. Test mode has no statuses either.
- Choose the Default service. A domestic-only service on a shipment abroad, or the other way round, travels as DPD Classic.
- Optionally, switch on Shipment insurance. DPD then insures each shipment for the goods value, the amount on the shipment or the cash-on-delivery amount, and prices it under your contract.
- Choose how the courier pickup is ordered, and check the sender name, phone, e-mail and address. These field names are shown in Polish. The name, phone and address are required.
- Click Create integration.
Also note:
- DPD does not allow cancelling a label. A parcel you do not hand to the courier does not travel and is not charged.
- When Complaia books a pickup, it also prepares the handover protocol for the courier. With a standing pickup, the protocol is prepared every day at the cut-off time.
- Cash on delivery works only for shipments within Poland, in PLN.
- Shipments cannot be sent to DPD Pickup points from Complaia.
FedEx
International shipments, and domestic FedEx services.
Prepare: a project on developer.fedex.com with its API key and secret key, and your FedEx account number. Test keys work only with test mode on, and production keys only with it off.
- Enter the API Key and Secret Key.
- Enter the FedEx account number. FedEx charges shipments to it.
- Check Test mode (sandbox). It is on when the form opens. Switch it off when you use production keys.
- Choose the default service, how the courier pickup is ordered, and check the sender name, phone, e-mail and address. These field names are shown in Polish. The name, phone and address are required.
- Click Create integration.
Also note:
- For shipments abroad, Complaia prepares the customs data by itself. The value comes from the order price or the product, and the country of origin is the sender's country.
- Cash on delivery works only for shipments within Poland, in PLN, and only if your FedEx contract includes it.
Printing
PrintNode
PrintNode is not offered for new connections and does not appear in the catalog. An existing PrintNode integration keeps working, together with its rules for printing labels.
When it doesn't work
The messages below appear after Test connection, when you save connection details, or when a run fails. A run failure is shown under Last synchronization on the integration's page.
| What you see | Why | What to do |
|---|---|---|
| Field “…” is required. | A required field in the form is empty. | Fill it in. |
| Connecting to Allegro is not available in Complaia ERP yet. Contact the Complaia team. | The Allegro connection is not set up on the Complaia server. | Send a support ticket. |
| Authorization was declined in Allegro. | You cancelled on Allegro's approval screen. | Click Connect with Allegro again and approve. |
| This Allegro account is already connected in the integration “…”. | One Allegro account can be in only one integration. | Use that integration, or sign in to a different Allegro account. |
| This integration is connected to the Allegro account “…”, but the sign-in was to a different account. | You reconnected with another Allegro account. | Reconnect with the account named in the message, or add a new integration for the other account. |
| More than 10 minutes have passed since returning from Allegro, so the connection was not saved. | The return from Allegro was not completed in time. | Click Connect with Allegro again. |
| Could not connect to Apilo with the authorization code. | The code was already used or expired. | Generate a new authorization code in Apilo and save it under Connection details. |
| The Apilo address must be in the apilo.com domain. | The API address is not an Apilo address. | Enter your Apilo panel address, for example https://yourcompany.apilo.com. |
| The Base API token is invalid. | The token was mistyped or revoked. | Generate a new token in Base and save it under Connection details. |
| No Base courier mapped for this shipping method. | A tracking number could not be sent, because Base needs to know the courier. | Map your couriers. |
| The store does not provide the WordPress REST API. | The shop uses Plain permalinks. | In WordPress, go to Settings → Permalinks, choose any other option and save. |
| WooCommerce rejected the Consumer Key or Consumer Secret. | Wrong keys, or the key was revoked. | Create a new key in the shop, or use Connect with WooCommerce. |
| The WooCommerce REST API key is read-only, so the status was not sent. | The key has only read permission. | Change the key to Read/Write in WooCommerce. |
| Shoper rejected the WebAPI user credentials. | The login failed. | Check the login, the password, the account's WebAPI access, any IP restrictions and whether your shop plan includes the API. |
| The WebAPI user has no permission for orders. | The login is right, but the account may not read orders. | Change the account's rights in the shop. Typing the password again will not help. |
| The store address redirects too many times. Enter the final store address. | The address forwards to another one, usually the www version. | Enter the address the shop finally opens on. |
| The … store address must start with https://. | An http:// address was entered. | Use the https:// address. |
| PrestaShop rejected the Webservice key. | Wrong key, or the webservice is off. | Check both under Advanced Parameters → Webservice. |
| The Webservice key lacks a permission that Complaia ERP needs. | Some rows are not ticked in the key. | Tick the rows from the PrestaShop table. |
| The store does not provide the Webservice at /api. | Wrong address, /api typed at the end, or friendly URLs are off in the shop. | Correct the address, and switch friendly URLs on in the shop. |
| InPost connection test failed. Check the credentials. | Wrong token or organisation number, or a practice token without test mode. | Check both values. A practice token works only with test mode on. |
| This InPost account has no courier service enabled. (when dispatching) | Your InPost account covers parcel lockers only. | Use a parcel locker service, or ask InPost to enable the courier. |
| DHL connection test failed. Check the credentials. | Most often the DHL24 website login was entered instead of the api v2 pair. | Enter the api v2 login and password from DHL's message. |
| DPD rejected the access key or the payer number. | Wrong key or FID, or real details used with test mode on. | Check both values and the test mode setting. |
| FedEx rejected the API Key or Secret Key. | Wrong keys, or test keys used with test mode off. | Check both keys and the test mode setting. |
| The … request limit was exceeded. | The other system limits how often Complaia may send it requests. | Wait. The next scheduled run tries again. If it keeps happening, choose a longer fetch interval. |
| A product sync ran but products you already had did not change | Fetching products only adds missing ones. | Edit the product in Complaia, or update it from a file. See Importing products. |
| A connector you need is not in the catalog | Only the ten connectors above are available. | Click Request integration on the Integration list. |
Permissions
| To do this | You need |
|---|---|
| Open an integration's page and see its settings | Integrations: View |
| Open the catalog, connect a connector, change connection details, test, pause or delete | Integrations: Manage |
Tips & pitfalls
- Check test mode before you click Create integration. It is off for Allegro, InPost and DHL, and on for DPD and FedEx. It cannot be changed afterwards.
- Take the suffix off shop addresses. Shoper is entered without
/webapi, PrestaShop without/api. - A rights problem is not a password problem. Shoper and PrestaShop tell you separately when the login is correct but the account or key lacks rights. Fix the rights in the shop instead of typing the secret again.
- Name each connection after the account it belongs to. With two shops or two courier accounts, the name is what you will pick from lists later, and it cannot be changed.
- Give Complaia its own account or key in the shop. If someone changes a shared password, the integration stops with it.
Related
- Integrations — the list, testing, pausing and deleting a connection
- Automation rules — the background work and your own rules
- Mappings — statuses, payments, order sources, delivery methods and couriers
- Orders — where fetched orders land
- Importing products & order product mappings — matching order lines to your products
- Shipments — using a connected courier