Andreas AhoniemiHead of Digital, Gullström & Co
Svenska
Get in touch

API integrations

An API integration connects two systems so data moves automatically rather than being exported and imported by hand. I build integrations between ERP, e-commerce, CRM, warehouse and messaging tools, usually as a small service layer with a queue and retries, so a temporarily unavailable receiver does not mean the data is gone.

Queues rather than direct calls

A direct call between two systems works until one of them is down, at which point the transaction is lost. With a queue in between the event is stored, retried with increasing backoff and moved to a dead letter queue if it ultimately fails. That is the difference between an integration that needs watching and one that does not.

Idempotency, meaning no duplicates

Retrying means the same message can arrive twice. Every operation is therefore built to produce the same result however many times it runs, normally by having the receiver identify the event on a key. Without that, each replay creates a duplicate order, which is the most common defect in integrations built in a hurry.

Field mapping you can read

The real difficulty in an integration is rarely the technology but that the same field means different things in the two systems. The mapping is documented as a table the business can read and argue with before it becomes code. Correcting it there is cheaper than correcting it in production.

Systems I connect

A selection of systems I have built integrations against or that can be wired in. If yours is not listed it almost certainly has an API, and where there is none there is usually still a way in.

Payments and checkout

Swish
Payment status back on the order immediately rather than reconciled by hand.
Klarna
Orders, payment methods and returns kept in step between checkout and ERP.
Stripe
Subscriptions and one-off purchases on webhooks that survive a replay.

E-commerce

WooCommerce
Products, stock and orders both ways, without a nightly file export.
Shopify
Catalogue and orders against the ERP, queued so nothing drops during an outage.
Centra
Collections and stock out to the site, orders in to the warehouse.

ERP and finance

Fortnox
Customers, articles and invoice data without anyone keying them in twice.
Visma
Orders and article registers against the storefront, with the field mapping documented.
Business Central
Stock, pricing and customer agreements out to the site, on a schedule or a webhook.
Specter
Articles and stock against the storefront, including the fields only you use.

CRM, sales and skills

Cinode
Consultant profiles and skills data out to the site, so the CV is maintained in one place.
Lime CRM
Deals and contacts wired to forms and campaigns.
HubSpot
Leads in with the right source, instead of everything landing as direct traffic.
Pipedrive
Form submissions straight to the right pipeline, with owner and next step set.

Marketing, messaging and PR

Mailchimp
Lists and segments that follow the customer data, not a quarterly export.
Klaviyo
Flows on real events: purchase, cart, repeat, with product data in the email.
Voyado
Customer data and purchase history in, segments and campaigns out.
Mynewsdesk
Press releases published to the newsroom and the site from one source.

Industry systems and catalogues

RSK-databasen
Article data and RSK numbers into the catalogue without manual register upkeep.
BookVisit
Bookable inventory and availability out to the site, bookings back into the system.
Förlagssystem
Title data, stock and order status between distribution and the storefront.

Workspaces and alerting

Slack
Alerts when a queue grows or calls start failing, in the channel someone reads.
Microsoft Teams
Approval steps where a person has to say yes before the flow continues.
Google Sheets
The spreadsheet the business already runs on, read and written by the flow.
Airtable
A workspace that stays hand-editable but is still a data source.

Common questions about this service

Our ERP has no API. Is it still possible?

Often yes, but at a lower level. Without an API you can work against the database directly, against file or SFTP exports, or against an import routine in the system. It is slower and more brittle than a real API, and that brittleness should be stated up front so expectations match.

How often does data synchronise?

It depends on the source. If the system supports webhooks, synchronisation happens within seconds of a change. If not it becomes scheduled polling, typically every five to sixty minutes. True real time in both directions is rarely worth the complexity, and is usually specified when "same day" would have been enough.

Start with an hour

Bring the thing that grates, whatever it is. We walk it together and you get a straight assessment of whether it is worth building or not.

Get in touch