Failure is the design problem
What happens when the other system is down, slow, or rejects a record. Queue and retry, alert someone, or fail silently. Most integrations do the last by default, which is how data disappears without anyone noticing.
Integrations are easy to build and hard to make reliable. The difference is entirely in what happens when the other side stops responding.
API integration connects your website to the systems that run your business: payments, logistics, ERP, accounting, GST and messaging. The engineering that matters is not the connection but the failure handling, rate limits, retries and data mapping between systems that describe the same thing differently.
What happens when the other system is down, slow, or rejects a record. Queue and retry, alert someone, or fail silently. Most integrations do the last by default, which is how data disappears without anyone noticing.
Most APIs limit request volume. An integration that works in testing can fail in production simply because volume increased, and discovering that during a sale is expensive.
Two systems rarely describe the same thing the same way. One name field against three, different address formats, different required fields. This mapping is the majority of the real work and it is usually not scoped.
GST filing, e-invoicing, payment gateways, logistics aggregators and WhatsApp Business. Each has its own quirks, documentation quality and failure behaviour, and experience with them shortens projects considerably.
API keys expire, get rotated and get revoked. An integration with no monitoring fails silently when that happens and nobody finds out until data is missing.
APIs change and old versions get deprecated. Someone needs to be watching for deprecation notices, or the integration works until the day it does not.
| Cause | How it presents |
|---|---|
| No retry logic | Records lost during brief outages |
| Rate limit hit | Works in testing, fails at volume |
| Credentials expired | Silent stop, discovered late |
| API version deprecated | Sudden total failure |
| Field mapping incomplete | Records rejected without anyone noticing |
| No monitoring | All of the above, found by a customer |
| Ask them | Good answer | Walk away if |
|---|---|---|
| Who owns the site and accounts? | You do, in your own name | Accounts in the agency's name |
| Can I open three live examples? | URLs you can check yourself | Screenshots and a PDF |
| What is explicitly not included? | A written list with change pricing | Everything is included |
| How will we know it worked? | A metric agreed before work starts | Activity reports |
The exclusions question decides whether the final invoice matches the quote.
Less in the connection than in the mapping and failure handling. Two systems describing the same data differently is the real work, and it is usually the part left out of the estimate. Ask for it to be scoped explicitly.
That depends entirely on how it was built. A well-built integration queues and retries; a naive one loses the record. This should be decided at the start rather than discovered when data goes missing.
Payment gateways including Razorpay and Cashfree, logistics aggregators such as Shiprocket and Delhivery, GST and e-invoicing systems, common CRMs, accounting platforms and WhatsApp Business. Tell us what you run before we quote.
Monitoring and alerting, so someone is told when records stop flowing. Without it the standard discovery method is a customer or a colleague noticing missing data days later.
They need designing for. An integration that works in testing can fail in production purely because volume rose. Rate limits, backoff and queueing should be part of the build rather than a fix applied after the first failure.
Someone must. APIs change, credentials rotate and versions get deprecated. Agree ownership before launch, because unmaintained integrations fail quietly and the failure is found through missing data.
Send us what you are trying to fix and we will tell you what it takes, what it costs, and whether we are the right people for it. If we are not, we will say so.