Designing robust software means planning for every eventuality. To create a world-class product using Communications REST v2, you need to be prepared for when things go wrong - and one of the problems you may face is an outage. Fortunately, there are ways to write your software to gracefully handle an outage.
Types of connection issues: - Temporary Outage: Your connection has gone offline and you need to be able to process transactions for a short period of time until the connection is restored
- Intermittent Connection: Your connection works most of the time, but its behavior is unpredictable and occasionally drops unexpectedly
- Unable to Reach REST v2: Your connection is up, but you are unable to reach REST v2 because of a routing problem, a denial-of-service attack on an Internet service provider, or a temporary outage of REST v2
These types of outages have similar characteristics, so it’s straightforward to design a single process to handle all of them. Here is how we handle a broken connection:
- Detect the dropped connection and prevent a crash
- Retry the transaction
- Recover data using the Commit/Uncommit functionality
- Reconcile transactions after the outage
As a cloud-based Software-as-a-Service provider, Avalara understands the need to ensure that our services are available continuously and respond in a timely manner. Check out the Avalara Server Status page:
- Subscribe to Updates for the services you use - see Avalara Communications for REST v2 status
- Shows the current availability of all Avalara services
- Displays graphs detailing current response times for a number of Avalara services
- Provides a historical view of availability