Retry Behavior
Retry Policy
Section titled “Retry Policy”When a webhook delivery fails (non-2xx response or timeout), Invoro retries the delivery up to 3 times with exponential backoff:
| Attempt | Delay |
|---|---|
| 1st | Immediate |
| 2nd | 5 minutes |
| 3rd | 15 minutes |
A delivery is considered failed if:
- Your endpoint returns a non-2xx HTTP status code
- Your endpoint doesn’t respond within 30 seconds
- A network error occurs (DNS failure, connection refused, etc.)
Auto-Disable
Section titled “Auto-Disable”After 10 cumulative delivery failures across all events, the webhook is automatically disabled to prevent further failed deliveries. When this happens:
- The webhook’s
activestatus is set tofalse - A
disabled_attimestamp is recorded - No further deliveries are attempted
You can re-enable a disabled webhook from the Invoro app after fixing the issue with your endpoint.
Delivery History
Section titled “Delivery History”You can view the delivery history for any webhook in the Invoro app. Each delivery record includes:
- Event type
- HTTP response status code
- Response time (duration)
- Error message (if failed)
- Request payload
- Timestamp
Delivery records are retained for 90 days (7 days for test mode webhooks).
Best Practices
Section titled “Best Practices”-
Respond quickly - Return
200 OKimmediately and process events asynchronously. Your endpoint has 30 seconds before timeout. -
Handle duplicates - In rare cases, the same event may be delivered more than once. Use the
event+timestamp+ entity ID to deduplicate. -
Monitor your endpoint - Set up alerting on your webhook endpoint to catch failures early, before the auto-disable threshold is reached.
-
Use HTTPS - Webhook URLs must use HTTPS. This ensures the payload and signature are encrypted in transit.