AdwallX is an Exclusive Offerwall that gives advertisers the ability to run incentivized campaigns and gives the ability to publishers to integrate our Offerwall on their websites/apps.
Users can earn virtual currency within your app or website. The Offerwall will show a list of offers to the users to earn virtual currency by completing offers, surveys, and many other tasks.
Our Offerwall is simply to integrate,just follow the following steps below.
Our Exclusive Offerwall enables users to benefit from incentives and rewards thanks to
segmented,
automatically translated ads.
AdwallX Offerwall will adapt to any screen size and will show offers
depending
on the user's
device and location
<iframe style="width:100%; height:800px; border:0; padding:0; margin:0;" scrolling="yes"
"frameborder="0" src="https://adwallx.com/offer/[PUBLIC_KEY]/[USER_ID]">"></iframe>
Whenever a user completes an offer, we'll make a call to the Postback URL that you indicated in your app attaching all the information that you will need to credit your users.
Our server will make an HTTP GET request to your server including all the following parameters:
| Parameter | Description |
|---|---|
| subId | The unique identifier for the user who completed the offer. |
| transId | Unique identification code of the transaction made by your user on Adwallx. |
| reward | The amount of the reward that the user earned for completing the offer. |
| payout | The offer payour in $ |
| signature | MD5 hash that can be used to verify that the call has been made from our servers |
| status | Determines whether to add or subtract the amount of the reward. "1" is when the virtual currency should be added to the user and "2" when it should be subtracted. This may be because the advertiser has canceled the user's transaction, either because he/she committed fraud or because it has been a mistake entering the data needed to complete the campaign |
| userIp | The user's IP Address who completed the action. |
| offer_name | The Name of a completed offer. |
| country | Country (ISO2 Form) from the lead comes |
| uuid | Unique identification code of the click made by your user on AdwallX |
"Rewards" and "Payout" parameters are always absolute values, you will need to check the "Status" parameter to see if you need to add or subtract that amount from your users
You should verify the signature received in the postback to ensure that the call comes from our servers. The signature parameter should match the MD5 of
subid, transactionid, reward secret
You can find your secret in your app dashboard.The formula to be checked is as follows:
Our server will expect the following answers:
Our servers wait for a response for a maximum of 60 seconds before the 'timeout'. In this case, it will be retried on up to five occasions during the following hours. Please check if the transaction ID sent to you was already entered in your database. This will prevent giving twice the same amount of virtual currency to the user because of the timeout.
The following example is not a working one but should be enough to understand how you should implement your postback in your website/app.
<php
$secret = ""; //
$userId = isset($_GET['subId']) ? $_GET['subId'] : null;
$transactionId = isset($_GET['transId']) ? $_GET['transId'] : null;
$points = isset($_GET['reward']) ? $_GET['reward'] : null;
$signature = isset($_GET['signature']) ? $_GET['signature'] : null;
$action = isset($_GET['status']) ? $_GET['status'] : null;
$ipuser = isset($_GET['userIp']) ? $_GET['userIp'] : "0.0.0.0";
// validate signature
if(md5($userId.$transactionId.$points.$secret) != $signature)
{
echo "ERROR: Signature doesn't match";
return;
}
if($action == 2) // action = 1 CREDITED // action = 2 REVOKED
{
$points = -abs($points);
}
if(isNewTransaction($transactionId)) // Check if the transaction is new
{
processTransaction($userId, $points, $transactionId);
echo "OK";
}
else
{
// If the transaction already exist please echo DUP.
echo "DUP";
}
? >