How to Verify Custom Reward From Your Website with Callback Verification

Create a Custom Reward with auto-distribute any rewards you want to share with the winner.

Creating a Custom Reward will allow you to auto-distribute any rewards from your websites.

For example:

Let's say you wish to provide winners with a $50 coupon reward after they have won the giveaway.

Upon successful integration of API callbacks between your site and Giveaway, the participants will receive their rewards automatically according to the method you have specified.

However, the $50 coupon reward is just one of the reward examples, because you can create any type of rewards distributed from your websites.

Why and how is it auto-distributed?

Following the successful integration of the API callback, winners will be able to claim their rewards via a specific URL containing their track_id and eligibility. Regardless of the method of delivery, the reward will be automatically sent to the winner. In this way, you are not required to manually distribute rewards on your website.

Please follow the steps to create custom rewards and to integrate API callback:

Step 1:

Enter a reward name, number of winners, and upload an image of that reward.

Step 2:

After that, you will need to get url params (something like track_id=MVNHLLEEwIR) from your website and parse out the trackId.

About track_id:

TrackId is necessary to detect the user's participation in the task and to verify it. We will detect when a user clicks to participate in the task, the ?trackId={{trackId}} will be used for detection.

You will see the ?trackId={{trackId}} applied to your website link:

If your website link is

http://example.com

the visitors may come to your site via the link

http://example.com/?track_id=12345_67890&send=true

Step 3:

Next, please copy the API key we provide you to integrate it with your website.

Then enter the parameters according to the rules of const data, and encrypt the whole const data using the standard HmacSHA256 algorithm.

const data = `track_id=${track_id}&event=send&remark=${remark}`; // remark is optional.

Step 4:

After the user completes the verification task, he will be directed to your reward website. You need to call our API interface to verify https://giveaway.com/public/v1/giveaway/player/status. The ID carried by the user has been completed. The verification process will be completed if the interface is returned correctly. Now you can distribute your rewards to the users who have completed the task based on our return results.

Official API

https://giveaway.com/public/v1/giveaway/player/status

const api_key = "{{your api_key}}";
const {track_id} = queryString.parse(window.location.search); // url search
const data = `track_id=${track_id}`;
const sign = crypto.HmacSHA256(data, api_key).toString(); // HmacSHA256
fetch("https://giveaway.com/public/v1/giveaway/player/status", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    track_id,
    sign,
  }),
}).then(async (res) => {
  console.log(await res.json());
  /**
{
  "code": 10000,
  "msg": "Success",
  "data": {
    "status": {
      "task_completed": true, // Whether the task is completed
      "won": true // Whether to win the lottery
    },
    "reward_tag": "custom_reward1" // Reward label
  },
}
   */
});

Step 5:

After the above steps are completed, enter your website link and click the ‘Check API callback’ to test it.

Each project you create on Giveaway will have a unique API key, and it will not change. So you only need to integrate once for a website. Also, you will be able to create custom rewards on multiple websites if you need to.

Last updated