01

Start with data ownership

When customer, product or order information is repeated across applications, establish the authoritative source for each field. Integration without ownership can spread inconsistencies faster. For a hypothetical order flow, define shared identifiers, statuses, event times and correction owners. Not every field needs copying into every system. Limit an initial release to one reviewable flow, such as reading order status for a dashboard. This is a general design example, not a description of Roham client work.

02

Choose a supported interface

Official APIs often provide a clearer data and operations contract, but the choice must fit the product, licence and network conditions. Scheduled file exchange may suit non-real-time flows. Direct database access, especially writes, can create compatibility problems without a supported vendor contract. Review rate limits, interface versions, authentication and test-environment availability. Grant each integration only the access needed for its task, and keep credentials outside source code and public files.

03

Design for repeat delivery

A connection may fail after the destination has already completed an operation. Sending the same message again should not create a second order or document. Define stable event identifiers and rules for duplicate handling. Retries should be bounded, spaced and accompanied by error records. Route failures requiring human judgment to an exception queue; endless retries do not fix invalid data. Distinguish sent, accepted and reconciled states so operational follow-up remains clear.

04

Include reconciliation and monitoring

A successful API request does not prove that all records are consistent. Reconcile counts, amounts or identifier sets over an agreed period. Make differences traceable to an event, version and failure reason. Monitor the last successful exchange and exception-queue size. Error reports should avoid credentials, sensitive information and complete confidential payloads. Assign recovery procedures and incident owners before launch. For multi-system organisations, these operating rules matter as much as the integration code.

05

Integration acceptance and handover

Test valid records, duplicates, unknown identifiers, network interruption, denied permissions and interface changes. Document field contracts, approved example messages, access roles and rollback procedures. Separate test activity from production, and launch with a bounded, observable flow. Coordinate with existing software owners and the process owner. Once integration is stable, dashboards, workflow automation or data-grounded assistants can build on it, each with independent acceptance criteria.

This article presents the Roham team’s general approach. Each project’s scope is defined around its own requirements.
All insights