Callback Retry Logic
How VotePipe handles failed callback requests
Overview
VotePipe automatically retries failed callback requests to ensure votes are delivered to your game server. The retry strategy depends on your plan tier.
Immediate Retries (All Plans)
When a callback fails, VotePipe immediately retries with exponential backoff:
Total time: ~31 seconds for all immediate retries
Delayed Retries (Pro+)
If all immediate retries fail, Pro+ plans schedule additional delayed retries:
Pro Plan
- 5 delayed retries over 1 hour
- Retries scheduled at: 15, 30, 45, 60 minutes
- Each delayed retry includes 5 immediate retries
Business Plan
- 10 delayed retries over 4 hours
- Retries scheduled at: 15, 30, 45, 60, 90, 120, 150, 180, 210, 240 minutes
- Each delayed retry includes 5 immediate retries
Failure Handling
After all retries are exhausted, the vote is marked as permanently failed:
- The vote remains in your history with a "failed" status
- You can manually retry from the Votes page
- Pro+ plans: You'll receive a notification about the permanent failure (unless muted)
- Failed callbacks are included in daily/weekly summaries
What Triggers Retries
Retries are triggered for:
- HTTP 4xx errors (client errors)
- HTTP 5xx errors (server errors)
- Network timeouts
- Connection failures
HTTP 200-299 responses are considered successful and no retries are attempted.
Best Practices
Idempotency
Design your callback endpoint to be idempotent. The same vote may be sent multiple times due to retries. Use the vote_id to track which votes you've already processed.
Fast Response
Respond quickly to callback requests. If processing takes time, acknowledge the request immediately and process the vote asynchronously.
Error Handling
Return appropriate HTTP status codes. Use 4xx for client errors (won't retry) and 5xx for server errors (will retry).