Giveaway.com
  • OVERVIEW
    • What is Giveaway.com?
      • Introduction for Users
      • Introduction for Project Partner
      • Contact US
      • What is Provably Fair
      • How to Verify Fairness
    • Core Features of Giveaway.com
      • Earn
      • Penny Win
      • Offer
    • Benefit
      • For user:
      • For project partner:
  • WEB3 KNOWLEDGE
    • What is Web3?
    • How Giveaway.com Integrates Web3
    • Key Features for Web3 Beginners
    • Getting Started with Web3 on Giveaway.com
    • Why Web3 Makes Giveaway.com Unique
  • USER TUTORIAL
    • To Get Started: Sign in
    • How to Participate in EARN Activities
      • Guideline:
      • Reward
      • Other FAQ
        • What Can I do If I Do Not Receive My Reward
        • Why I am Unable to Check Retweet Task
        • Why Does it Show that I Have not Completed the Task Even Though I Have done it
        • Why Telegram's Invitation Task Cannot be Verified
    • How to Play Penny Win
      • Buzz Spin:
      • Lucky Draw
      • How Do We Ensure Fairness in Penny Win?
    • How to Engage with Offers
      • Guideline
      • Reward
      • Notes for Offer
  • PROJECT PARTNER TUTORIAL
    • To Get Started
      • Sign In
      • Giveaway Verification(KYC)
    • Giveaway Mode
      • Lucky Giveaway
      • Competition Giveaway
      • Achievement Giveaway
      • Referral Giveaway
    • How to Create a Giveaway
    • Reward Payment
    • Giveaway Data
    • How Can I Check My Giveaway Creation History
    • Other FAQ
      • Toolkit
        • Offline Event Luckydraw
      • Tasks
        • Task Types and Set Up
          • Social Media Tasks
          • Website Tasks
          • App Tasks
          • Share Giveaway Tasks
          • Collect/Verify Information Tasks
          • Eligibility Tasks
        • Callback Verifications Instruction
          • How to Verify App Installs with Callback Verification
          • How to Verify Custom Reward From Your Website with Callback Verification
          • How to Verify the User/Player/VIP Level Requirement on Your Website with Callback Verification
          • How to Set and Verify Custom App Actions with Callback Verification
          • How to Verify Actions on Your Website with Callback Verification
        • Why Does My Group/Channel not Listed in Telegram Task
      • Reward-related issues
        • Reward Types and Set Up
          • Token Reward
          • NFT Reward
          • OAT Reward
          • Gift Cards/Keys/Codes Reward
          • Pass Reward
          • Subscription Reward
          • Custom Reward
          • Other Prize
        • If the Token Reward Have not Been Fully Auto-Distributed, When Will I Receive a Refund
        • How to Create Free Mint NFT Rewards
      • Why is My Giveaway No Activated/ Invalid? And How to Activate it?
      • How to Edit My Giveaway
      • How to Customize and Design My Giveaway Page
      • What Kind of Draw Methods are Supported & How to Select the Appropriate One
      • How Can I Check the History of the Giveaways I Have Created
      • What Happens If Fail to Meet the Goal in Goal-Triggered Giveaway?
      • What is Project Dashboard & How to Build/Manage/Use My Project Profile
      • What is ''Share Giveaway to Get More Chance to Win'' Feature and How to Use it
      • How to Create a Partnership with Another Project to Co-Host a Giveaway
  • Conditions and Policy
    • Anti-Money Laundering Policy
    • Anti-Robot Strategies
    • Privacy Policy
    • Terms of Service
Powered by GitBook
On this page
  1. PROJECT PARTNER TUTORIAL
  2. Other FAQ
  3. Tasks
  4. Callback Verifications Instruction

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.

PreviousHow to Verify App Installs with Callback VerificationNextHow to Verify the User/Player/VIP Level Requirement on Your Website with Callback Verification

Last updated 1 year ago

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:

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.

After the user completes the verification task, he will be directed to your reward website. You need to call our API interface to verify . 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.

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