Pick the right pattern before the right technology
REST, SOAP, file-based, and message-based integrations all work with Sage X3. The bigger decision is real-time vs. batch and synchronous vs. asynchronous.
A high-frequency, low-payload flow (order acknowledgment, inventory updates) usually deserves async messaging. A low-frequency, high-payload flow (nightly customer master sync) usually deserves batch.
Always design for failure
Every integration will fail. The only question is whether you will know about it. Build retry, dead-letter queues, alerting, and recovery procedures from day one — not after the first outage.
Middleware is not always the answer
iPaaS platforms (Boomi, MuleSoft, Workato) earn their cost in heterogeneous environments with many endpoints. For one or two integrations, direct Sage X3 web services with good logging are often simpler and cheaper to maintain.
Document the data contract
Every integration needs a written data contract: fields, formats, validation rules, error semantics, and idempotency. Most production integration failures we inherit have no written contract.