Service 03
Integrations and APIs
Making two systems that were never meant to talk exchange data reliably.
Context
Marketplace, ERP, payment gateway, CRM, spreadsheet, a legacy system nobody wants to touch. Each with its own format, its own rate limit and its own particular way of failing.
A good integration isn't the one that works on delivery day: it's the one that keeps working when the API on the other side goes down for twenty minutes, changes a field without warning, or starts throttling calls. The work is anticipating that — retrying sensibly, keeping what didn't go through, and telling whoever needs to know.
Signs this is your case
- Marketplace orders reach the system by manual typing
- The current integration fails silently and nobody knows how many records were lost
- Every report means exporting from three places and joining by hand
- You depend on a vendor for any change to the data flow
What you're left with
- An integration with error handling, retries and a pending queue
- A dashboard or report showing what went through and what stalled
- Credentials isolated in a vault, never inside the code
- Tests on the paths that usually break, not only the happy path
What it isn't
- A single script running on somebody's machine
- Integrating with a system whose access can't be provided
A workflow in practice
A CRM sale becomes an ERP order
An illustrative workflow, not a client case study or a promised result.
See the monthly retainerIdentify
The confirmed sale has an identifier. It travels with the request so a retry does not create another order.
Exchange
Customer, items and amounts are mapped to the ERP. Rejected data stays visible rather than disappearing on the way.
Confirm
The order number returns to the CRM. An interrupted delivery can resume with a record of what happened.
Where I start
I check both APIs and their permissions. We test one record end to end before enabling the live workflow.
What continues every month
I monitor the exchange and adjust authentication, fields and versions as APIs change. New integrations share the same priority queue.
Questions about this front
What happens when the other side goes down?
That is exactly what the integration is built for. It retries sensibly, keeps what did not go through in a queue, and tells whoever needs to know. A good integration is not the one that works on delivery day: it is the one that keeps working when the other side fails for twenty minutes.
Can you integrate with an old system that has no API?
Almost always, as long as some access path exists — database, file export, automated email. What cannot be done is integrating with a system whose access the vendor refuses to provide. In that case I say so before starting.