Interface design
Each interface classified before it is built: batch, near-real-time event, or synchronous request. Volume, latency tolerance and failure consequence decide which.
Most integration pain comes from a synchronous call doing a job that should have been a queued event, usually because it was quicker to write.
A pattern chosen on purpose.
ERP and finance
Quote to cash, customer master, product and pricing, invoice and payment status, into Oracle E-Business Suite, Fusion, or whatever the finance system happens to be.
We support the Oracle side of these interfaces in-house, which removes the usual argument about which end the fault is on.
One firm accountable for both ends.
Middleware
MuleSoft where it is already in the estate or genuinely warranted, platform events and the Salesforce APIs where it is not, and a plain answer about which this is.
Middleware licensed for one interface is a cost that outlives the reason for it.
The lightest thing that does the job.
Error handling and retry
Dead-letter handling, retry with backoff, idempotent writes so a replay does not duplicate, and alerting that names the interface and the owner.
An interface with no failure path has one anyway. It is called silence, and you find it at month end.
Failures that announce themselves.
Reconciliation
A scheduled comparison of the record sets either side, reported on a cadence whether or not it found a discrepancy.
This is the part that gets cut for time and the part that would have caught the problem three weeks earlier.
Evidence that the two sides agree.
Monitoring and limits
API consumption watched against the org limits, with headroom reported before it becomes an outage rather than after.
Governor and API limits are the failure mode that arrives suddenly, usually on the busiest day.
Headroom you know about in advance.