- Record conversions and rewards in your own systems
- Attribute revenue and suggested user payouts to the correct user
- Optimize your traffic and placements based on performance
Request Structure
When a real event occurs, Playback will replace the macros (e.g.,{user_id}, {transaction_id}) with actual values.
The key names can be customized, or you can use the default names. Please ensure that no special characters should be included in the values, otherwise our backend may transform the request, which could cause issues with the payout.
Default
GET / https://example.com/example?userId={userId}&pbUserId={pbUserId}&transactionId={transactionId}&suggestedUserPayout={suggestedUserPayout}&revenue={revenue}
Customized (Example)
GET / https://example.com/example?userId={userId}&id={transactionId}&playback_id={pbUserId}&userPayout={suggestedUserPayout}&revenue={revenue}&task={taskId}
Parameters
Example Response URL:
https://example.com/example?userId=f3069c9ef82c4579&transactionId=e8525f9b-3dd3-4319-bdda-c1e1f375f5bf&revenue=12.00&suggestedUserPayout=1.20
eventType can be used to detect the type of event that triggered the postback. installs will come with eventType=INSTALL
Security
IP Whitelisting
When we make payout request to partners, we send an HTTP request from the following set of IPs.Signature
We send the following request headers that you may use to verify the authenticity of the request- webhook-id
- webhook-timestamp
- webhook-signature
hmac-sha256("<webhook-id>.<webhook-timestamp>.<ordered-search-params>", <secret-key>) where
hmac-sha256is the function/library call to produce a HMAC signature with the SHA256 algorithmwebhook-idis the webhook-id header valuewebhook-timestampis the webhook-timestamp header valueordered-search-paramsis all the request params in the request URL ordered by key in ascending ordersecret-keyis the shared secret key
Delivery
Retry Logic If we receive a 4xx / 5xx from your endpoint, we have an established retry logic for the failed postback requests. If a request fails, we retry after 10 minutes. A second failure prompts a retry in another 10 minutes. Subsequent failures lead to retries every 2 hours from the initial failed attempt. After 12 hours we stop retrying the request.If you observe an extended period of unsuccessful requests, contact your Playback Direct rep for further investigation into the issue.
