← All insights

Systems and data /

Connecting two systems starts with ownership of the data

Before connecting APIs and databases, define sources, meaning, failures and human intervention.

Connecting two applications can look like a narrow technical task: send a value and receive a response. In practice, the harder decision is often what the value means, which system owns it and how work continues when the systems disagree.

01 / Choose the source of truth

For each important piece of information, identify where it starts and who may change it. If a customer, price or order status exists in more than one system, there must be a rule for conflicts. Without that decision, synchronization can spread an error faster.

02 / Agree on field meanings

Two fields with the same name do not necessarily mean the same thing. Status, date, amount and identifier may follow different rules. A field map should describe not only format, but meaning and examples of valid values.

03 / Design for failures

A request may be rejected, delayed or repeated. The project needs to say which operations may be retried, how duplicates are recognized and when a person must intervene. Useful messages and logs make it possible to understand what happened without guessing.

04 / Give people visibility

An integration should not be a black box for the team running the service. Show the state of operations, distinguish temporary failures from items that need correction and define who receives an alert. Responsible people need a way to recover paused work.

05 / Release and verify in stages

Before automating everything, try representative cases, check data in both systems and observe exceptions. A gradual rollout can reveal differences in the real process that a technical specification did not make visible.

TAKE INTO YOUR PROJECT

Three questions to answer.

  1. Which system is authoritative for each piece of information?
  2. What happens if a sync fails or runs twice?
  3. Who can see and resolve exceptions?