An API is an agreed language between two programs. Your webshop can ask your ERP how much stock there is, and the ERP answers in a form the webshop understands. That is all it is.

The word sounds more technical than the thing. What you need to know is not how it works, but what to expect from it and where it goes wrong.

What an integration usually does

In practice we see four kinds:

  • Fetching data. Stock, prices, customer records. Usually every few minutes.
  • Writing data. An incoming order goes through to the ERP, an invoice to accounting.
  • Catching a notification. The other system calls you the moment something changes. That is a webhook, and it is nearly always better than asking every minute whether there is news.
  • Exchanging a file. Old-fashioned, but with older systems sometimes the only road available.

Where it goes wrong

An integration is not something you switch on and forget. These are the places it breaks in practice:

  1. The other end is down. It happens. The question is whether your system politely tries again or quietly stops.
  2. Something comes through that is not right. An order without a customer, a price of zero. Without a check that is in your administration an hour later.
  3. Double processing. A message arrives twice and the order is in there twice. The classic.
  4. A silent change. The supplier changes something about their API and nobody mentioned it.

That is why we build a log and an alert into every integration: if something does not come through, you know before a customer calls. That is more work than the integration itself, and it is exactly the difference between one you trust and one you check every morning.

What to ask your supplier

Before you have anything built, get these answers:

  • Is there documentation for the API, and is it public?
  • Is there a test environment? Without one you are building in the dark.
  • How many requests are allowed per minute? That decides whether live updates are possible or whether it becomes every ten minutes.
  • What happens during an outage on their side, and how are you warned?
  • Does it cost extra? Some packages charge per integration or per message.

And when there is no API

Then we build the bridge to it. That can be through an export the system can produce, through the database if we are allowed in there properly, or as a last resort through the screen itself. That last one is fragile and we usually advise against it, but for a package that is not being replaced tomorrow it is sometimes the cheapest road.

What you should know: the less official the road, the bigger the chance a supplier update breaks it. You make that trade-off up front, not when it breaks.