Engineering / Preparation
Prepare an API integration: a practical checklist
An integration only works well when exceptions are handled too. Use this checklist to clarify what systems should do, who is responsible and how you will know when something goes wrong.
Decide which system is authoritative.
Start with one concrete data flow, such as an approved order sent to an accounting system. Describe the trigger, source, destination and expected result. “Synchronise everything” is not yet an actionable brief.
For each data item, decide which system is authoritative. Consider changes and deletions too: can an updated address be overwritten in either system? Who decides when two updates conflict?
- Which fields are required, and which are not?
- Which unique identifier matches the same customer or order in both systems?
- Should processing happen immediately or on a schedule?
Check access and capabilities.
Gather API documentation, authentication details and access to a test environment. Ask the vendor about available operations, limits and subscription requirements. Being able to read data does not necessarily mean you can change it.
Agree who manages accounts and keys, how permissions are limited and how access is revoked. Do not share passwords or API keys through an ordinary contact form; arrange a secure handover.
Design for failed processing too.
What happens when a provider is temporarily unavailable, a field is missing or the same message arrives twice? Include these situations in acceptance criteria and show which processing succeeded and which needs attention.
After a timeout, it may be unclear whether the receiving system already processed a request. Retrying blindly can create duplicate orders. MDN describes idempotency: repeating a request has the same intended effect as performing it once. Check the API guarantees and agree how duplicates are prevented.
- Who receives an error and what information do they need?
- Which actions can be retried, and how do you prevent duplicates?
- How will you check that both systems are fully up to date?
Include support in the handover.
Agree a trial covering normal input, missing data and temporary outages. Decide who checks the result. Also plan how existing data will be handled when the integration first goes live.
Ask for an explanation of the data flow, errors, access management and responsibilities. Agree who follows API changes and what support is included. PolderLabs can help clarify these choices and build to the agreed behaviour.
Sources and further reading
These checklists help you prepare for a conversation. The sources explain the technical concepts in more detail.