We’re experiencing intermittent webhook delivery failures in our SAP S/4HANA 2020 treasury module. Our external cash management system should receive real-time position updates via REST API webhooks, but we’re seeing about 30% failure rate during peak hours.
Current webhook configuration:
webhook.endpoint=https://cash-mgmt.example.com/api/positions
webhook.timeout=5000
webhook.retries=2
The treasury team reports delayed cash position visibility, causing issues with investment decisions. We need a robust retry strategy and proper event queuing mechanism. Has anyone implemented circuit breaker patterns or dead-letter queue handling for similar webhook scenarios? What’s the best approach to ensure zero data loss while managing system load during high transaction volumes?
Thanks for the insights. How do you handle the dead-letter queue processing? Do you have automated replay mechanisms or manual intervention? Also, what’s your recommended approach for monitoring webhook health and alerting when failure rates spike?
The circuit breaker pattern is essential here. We implemented one using a custom ABAP class that tracks failure rates per endpoint. After 5 consecutive failures, it opens the circuit for 60 seconds, preventing cascading failures. During this time, events go straight to a dead-letter queue. When the circuit closes, we attempt delivery from the queue first. This approach reduced our system load by 40% during downstream outages while maintaining data integrity.
Don’t overlook the impact of synchronous webhook calls on your main transaction processing. Consider implementing asynchronous webhook delivery using background RFC or job scheduling. This decouples the webhook delivery from the business transaction, preventing timeouts from blocking treasury postings. Your users won’t experience delays even when the external system is slow or down.