Instant-Win
Get Instant-Win Stats
Section titled “Get Instant-Win Stats”GET /v1/campaigns/{slug}/instant-win/statsReturns statistics for the instant-win mechanic, including total plays, wins, and per-tier breakdowns.
Authentication
Section titled “Authentication”| Header | Required | Value |
|---|---|---|
X-API-Secret | Yes | Your secret key |
Request Examples
Section titled “Request Examples”curl -X GET "https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats" \ -H "X-API-Secret: sk_live_your_secret_key"const response = await fetch( 'https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats', { headers: { 'X-API-Secret': 'sk_live_your_secret_key' }, });
const data = await response.json();console.log(`${data.data.totalPlays} plays, ${data.data.totalWins} wins (${data.data.winRate}%)`);import requests
response = requests.get( "https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats", headers={"X-API-Secret": "sk_live_your_secret_key"},)
data = response.json()stats = data["data"]print(f"{stats['totalPlays']} plays, {stats['totalWins']} wins ({stats['winRate']}%)")import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats")) .header("X-API-Secret", "sk_live_your_secret_key") .GET() .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());req, _ := http.NewRequest("GET", "https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats", nil)req.Header.Set("X-API-Secret", "sk_live_your_secret_key")
resp, err := http.DefaultClient.Do(req)if err != nil { log.Fatal(err)}defer resp.Body.Close()
var result map[string]interface{}json.NewDecoder(resp.Body).Decode(&result)fmt.Println(result["data"])$ch = curl_init('https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats');curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'X-API-Secret: sk_live_your_secret_key', ],]);
$response = curl_exec($ch);curl_close($ch);
$data = json_decode($response, true);echo "{$data['data']['totalPlays']} plays, {$data['data']['totalWins']} wins\n";require 'net/http'require 'json'
uri = URI('https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats')req = Net::HTTP::Get.new(uri)req['X-API-Secret'] = 'sk_live_your_secret_key'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }data = JSON.parse(res.body)puts "#{data['data']['totalPlays']} plays, #{data['data']['totalWins']} wins"using var client = new HttpClient();client.DefaultRequestHeaders.Add("X-API-Secret", "sk_live_your_secret_key");
var response = await client.GetAsync( "https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats");var json = await response.Content.ReadAsStringAsync();Console.WriteLine(json);import 'dart:convert';import 'package:http/http.dart' as http;
final response = await http.get( Uri.parse('https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/stats'), headers: {'X-API-Secret': 'sk_live_your_secret_key'},);
final data = jsonDecode(response.body);print('${data['data']['totalPlays']} plays, ${data['data']['totalWins']} wins');Response
Section titled “Response”Status: 200 OK
{ "status": "success", "data": { "totalPlays": 523, "totalWins": 78, "winRate": 14.9, "tiers": [ { "name": "Gold", "wins": 5, "maxWins": 10, "remaining": 5 }, { "name": "Silver", "wins": 23, "maxWins": 50, "remaining": 27 }, { "name": "Bronze", "wins": 50, "maxWins": 200, "remaining": 150 } ] }}Redeem Win Code
Section titled “Redeem Win Code”POST /v1/campaigns/{slug}/instant-win/redeemRedeems an instant-win code that a user received after winning a game. Each win code can only be redeemed once.
Authentication
Section titled “Authentication”| Header | Required | Value |
|---|---|---|
X-API-Secret | Yes | Your secret key |
Content-Type | Yes | application/json |
Request Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
winCode | string | Yes | The win code to redeem |
userId | string | Yes | User ID redeeming the code |
Request Examples
Section titled “Request Examples”curl -X POST https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem \ -H "X-API-Secret: sk_live_your_secret_key" \ -H "Content-Type: application/json" \ -d '{ "winCode": "SUMM-WIN-AX7K9M2P", "userId": "user_12345" }'const response = await fetch( 'https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem', { method: 'POST', headers: { 'X-API-Secret': 'sk_live_your_secret_key', 'Content-Type': 'application/json', }, body: JSON.stringify({ winCode: 'SUMM-WIN-AX7K9M2P', userId: 'user_12345', }), });
const data = await response.json();console.log(`Redeemed ${data.data.prizeTier}: ${data.data.pointsEarned} pts`);import requests
response = requests.post( "https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem", headers={ "X-API-Secret": "sk_live_your_secret_key", "Content-Type": "application/json", }, json={ "winCode": "SUMM-WIN-AX7K9M2P", "userId": "user_12345", },)
data = response.json()print(f"Redeemed {data['data']['prizeTier']}: {data['data']['pointsEarned']} pts")import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.net.URI;
String body = """ { "winCode": "SUMM-WIN-AX7K9M2P", "userId": "user_12345" } """;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem")) .header("X-API-Secret", "sk_live_your_secret_key") .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(body)) .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());payload := strings.NewReader(`{ "winCode": "SUMM-WIN-AX7K9M2P", "userId": "user_12345"}`)
req, _ := http.NewRequest("POST", "https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem", payload)req.Header.Set("X-API-Secret", "sk_live_your_secret_key")req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)if err != nil { log.Fatal(err)}defer resp.Body.Close()
var result map[string]interface{}json.NewDecoder(resp.Body).Decode(&result)fmt.Println(result["data"])$ch = curl_init('https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem');curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ 'X-API-Secret: sk_live_your_secret_key', 'Content-Type: application/json', ], CURLOPT_POSTFIELDS => json_encode([ 'winCode' => 'SUMM-WIN-AX7K9M2P', 'userId' => 'user_12345', ]),]);
$response = curl_exec($ch);curl_close($ch);
$data = json_decode($response, true);echo "Redeemed {$data['data']['prizeTier']}: {$data['data']['pointsEarned']} pts\n";require 'net/http'require 'json'
uri = URI('https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem')req = Net::HTTP::Post.new(uri)req['X-API-Secret'] = 'sk_live_your_secret_key'req['Content-Type'] = 'application/json'req.body = { winCode: 'SUMM-WIN-AX7K9M2P', userId: 'user_12345' }.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }data = JSON.parse(res.body)puts "Redeemed #{data['data']['prizeTier']}: #{data['data']['pointsEarned']} pts"using var client = new HttpClient();client.DefaultRequestHeaders.Add("X-API-Secret", "sk_live_your_secret_key");
var content = new StringContent( JsonSerializer.Serialize(new { winCode = "SUMM-WIN-AX7K9M2P", userId = "user_12345" }), Encoding.UTF8, "application/json");
var response = await client.PostAsync( "https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem", content);var json = await response.Content.ReadAsStringAsync();Console.WriteLine(json);import 'dart:convert';import 'package:http/http.dart' as http;
final response = await http.post( Uri.parse('https://api.gamifyhost.com/v1/campaigns/summer-promo/instant-win/redeem'), headers: { 'X-API-Secret': 'sk_live_your_secret_key', 'Content-Type': 'application/json', }, body: jsonEncode({ 'winCode': 'SUMM-WIN-AX7K9M2P', 'userId': 'user_12345', }),);
final data = jsonDecode(response.body);print('Redeemed ${data['data']['prizeTier']}: ${data['data']['pointsEarned']} pts');Response
Section titled “Response”Status: 200 OK
{ "status": "success", "data": { "prizeTier": "Gold", "pointsEarned": 1000, "message": "Win code redeemed successfully" }}Errors
Section titled “Errors”| Code | Message |
|---|---|
400 | Invalid or expired win code |
400 | Win code has already been redeemed |
404 | Campaign not found |