Offerwall Callbacks
For Web Offerwalls and SDKs, you have to manually manage your users' currencies on your own servers.
Adding your Callback URL
You can configure a conversion callback URL in our publisher dashboard. To do so, navigate to Placements / Apps, edit your placement and set the Callback URL to your server's postback URL:
If this is the callback URL you set for your offerwall placement:
A typical conversion callback sent by our server will look like this:
This assumes you set external_identifier to username in the original Offerwall URL for that user, the currency conversion rate in your placement was 1000 per $1 and the user completed an offer with a $0.36 payout.
Important: Your server must always reply with an HTTP 200 status code to our postbacks. Otherwise we will resend the postback 12 times over a span of one hour before giving up.
Enabling & Processing Reversal Callbacks
You can automatically process Reversals made to your account and placements by enabling Reversal Callbacks.
Simply navigate to Placements / Apps, edit your placement and check the box Enable Reversal Callbacks.
Once enabled we will send reversal callbacks directly to the callback URL you set up for your placements.
The unique transaction ID we send for each conversion will carry an "r-" prepended to the ID for each reversal callback.
For chargebacks the original transaction ID of a conversion is prepended with "r-".
Example Transaction IDs:
381f99333613b41392b15183d69a7240308e8461 -> Regular Callback
r-381f99333613b41392b15183d69a7240308e8461 -> Reversal Callback
Below is a list of all relevant parameters to use in order to distinguish reversal callbacks from regular callbacks.
Variable | Type | Description |
---|---|---|
{transaction_id} | string | Unique transaction ID - use for duplicate checks. For chargebacks the original tid is prepended with "r-". |
{is_chargeback} | int | Either 0 or 1. Indicator if the callback is a conversion (0) or a chargeback (1). |
{chargeback_reason} | string | Reason why chargeback created. Only available if is_chargeback set to 1. |
{chargeback_date} | string | Date of chargeback creation. Only available if is_chargeback set to 1. |
Available Macros for Callback URLs
Note: If the parsing capabilities of your callback endpoint are limited, each of the parameters below is also available in a sanitized version. By suffixing any of the parameters below with _sanitized
(for example {external_identifier_sanitized}
), any character that is not in 0-9 a-z A-Z - _
will be removed. Whitespaces will be replaced by underscores.
Important: To ensure each conversion is granted only once to your users, always use {transaction_id}. Occasional callback resends may occur for various reasons. Utilizing {transaction_id} prevents granting conversions more than once.
Variable | Type | Description |
---|---|---|
{transaction_id} | string | Unique transaction ID - use for duplicate checks. For chargebacks the original tid is prepended with "r-". |
{payout_usd} | float | The actual conversion payout in USD. If chargeback value is negative. |
{currency_amount} | float | The amount of currency the user earned (taken from your offerwall currency configuration). If chargeback value is negative. |
{external_identifier} | string | The user identifier (EXTERNAL IDENTIFIER) originally passed in the web offerwall link. |
{user_id} | integer | Our internal ID for this offerwall user |
{placement_identifier} | string | The placement_identifier for which the conversion occured |
{adslot_id} | int | The ID of the adslot for which the conversion occured |
{sub_id} | string | The ID of the Placement for which the conversion occured [PL-1...n] |
{ip} | string | Converting device's IP address if known, 0.0.0.0 otherwise |
{offer_id} | int | Offer ID of the converting offer |
{offer_name} | string | Name / title of the converting offer |
{device_uuid} | string | ayeT-Studios internal device identificator |
{device_make} | string | Device manufacturer |
{device_model} | string | Device model |
{advertising_id} | string | Device advertising id (GAID/IDFA) if known, otherwise empty |
{sha1_android_id} | string | Device sha1 hashed android id if known, otherwise empty |
{sha1_imei} | string | Device sha1 hashed IMEI, if known, otherwise empty |
{is_chargeback} | int | Either 0 or 1. Indicator if the callback is a conversion (0) or a chargeback (1). |
{chargeback_reason} | string | Reason why chargeback created. Only available if is_chargeback set to 1. |
{chargeback_date} | string | Date of chargeback creation. Only available if is_chargeback set to 1. |
{event_name} | string | For CPA & CPE campaigns, event name of the conversion |
{task_name} | string | Only available for CPE campaigns, shows individual task name for that conversion (for example "Complete Level 5") |
{task_uuid} | string | Only available for CPE campaigns, shows unique id for the task and campaign |
{currency_identifier} | string | Shows virtual currency name as set in adslot. |
{currency_conversion_rate} | decimal | Shows currency conversion rate used to calculate user currency for the given conversion. |
{custom_1} | string | Custom parameter to pass variables to the conversion callbacks. |
{custom_2} | string | Custom parameter to pass variables to the conversion callbacks. |
{custom_3} | string | Custom parameter to pass variables to the conversion callbacks. |
{custom_4} | string | Custom parameter to pass variables to the conversion callbacks. |
{custom_5} | string | Custom parameter to pass variables to the conversion callbacks. |
Last updated