Handle webhook suspension

Webhook suspension refers to the disabling of the webhook notifications for shipment events due to an error.

❗️

If the webhook is suspended, it looses all its tracking data. For example, if a customer reactivates the webhook after one week, they loose one week of the tracking data. Therefore, if you do not want to loose any tracking data, then make sure to activate it promptly.

If the receiving endpoint (the system where the notifications are sent) is down or encounters errors, for example, time out, invalid data, SAPIENT may suspend sending further webhook notifications to avoid overwhelming the system.

How webhook suspension works

Suspension Process

When your webhook endpoint is down or encounters errors, SAPIENT follows a structured retry process before suspending the webhook:

  1. Error Detection: The system detects issues like timeouts, invalid data, or server errors
  2. Retry Attempts: Multiple retry attempts are made following specific intervals
  3. Threshold Exceeded: If all retry attempts fail, the webhook is suspended
  4. Notification: An email is sent to the user registered to receive the suspension notifications. This email can be specified while configuring the Webhook details.
  5. Retry Loop: When the webhook is suspended, it will be queued to retry again.
Retry Schedule

The system follows this retry schedule before suspending a webhook:

Retry IDRetry CountInterval
105 minutes*
2110 minutes
3215 minutes
4330 minutes
545 hours
6518 hours
7672 hours
8772 hours
Reactivation Process

To reactivate a suspended webhook:

  1. Navigate to the webhook configuration in your GUI
  2. Toggle the Activate switch to enable the webhook
  3. Monitor the endpoint to ensure it's functioning properly
Activating tracking webhook

Best Practices

Prevention

  • Implement robust error handling
  • Set up monitoring and alerting
  • Ensure endpoint reliability
  • Test webhook endpoints regularly

Recovery

  • Monitor suspension notifications
  • Reactivate webhooks promptly
  • Verify endpoint functionality
  • Check for missed tracking data

See also