VotePipe

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:

Attempt 1:Immediate
Attempt 2:Wait 1 second
Attempt 3:Wait 2 seconds
Attempt 4:Wait 4 seconds
Attempt 5:Wait 8 seconds
Attempt 6:Wait 16 seconds

Total time: ~31 seconds for all immediate retries

Delayed Retries (Pro+)

Pro+
Available on Pro and Business plans

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).

Learn More