India Coupons

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec(“CREATE TABLE IF NOT EXISTS deals (
id INTEGER PRIMARY KEY AUTOINCREMENT,
campaign_id INTEGER UNIQUE,
title TEXT,
link TEXT,
tracked_link TEXT,
category TEXT,
image_url TEXT,
epc TEXT,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
)”);
} catch (PDOException $e) {
die(“Database Connection Error: ” . $e->getMessage());
}

// — HELPER FUNCTION: CUELINKS API REQUEST —
function callCuelinksAPI($endpoint, $params = [], $method = ‘GET’) {
$url = CUELINKS_API_BASE . $endpoint;
if ($method === ‘GET’ && !empty($params)) {
$url .= ‘?’ . http_build_query($params);
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
‘Authorization: Token ‘ . CUELINKS_API_KEY,
‘Content-Type: application/json’
]);

if ($method === ‘POST’) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
}

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode >= 200 && $httpCode < 300) { return json_decode($response, true); } return null; } // --- SYNC CAMPAIGNS & DEALS FROM CUELINKS API --- if (isset($_GET['fetch'])) { // Fetch top open campaigns sorted by 7-day EPC (Earnings Per Click) $apiData = callCuelinksAPI('/campaigns', [ 'access_status' => ‘open’,
‘sort’ => ‘epc_7d’,
‘order’ => ‘desc’,
‘per_page’ => 24
]);

if ($apiData && isset($apiData[‘data’])) {
$stmt = $db->prepare(“INSERT INTO deals (campaign_id, title, link, tracked_link, category, image_url, epc)
VALUES (:campaign_id, :title, :link, :tracked_link, :category, :image_url, :epc)
ON CONFLICT(campaign_id) DO UPDATE SET
title=excluded.title, link=excluded.link, tracked_link=excluded.tracked_link, epc=excluded.epc”);

$count = 0;
foreach ($apiData[‘data’] as $item) {
$trackingUrl = $item[‘tracking_url’] ?? $item[‘url’] ?? ‘#’;

$stmt->execute([
‘:campaign_id’ => $item[‘id’],
‘:title’ => $item[‘name’] ?? ‘E-Commerce Store Deal’,
‘:link’ => $item[‘url’] ?? ‘#’,
‘:tracked_link’=> $trackingUrl,
‘:category’ => $item[‘category_name’] ?? ‘Shopping’,
‘:image_url’ => $item[‘logo_url’] ?? ‘https://via.placeholder.com/300×160?text=Cuelinks+Store’,
‘:epc’ => isset($item[‘epc_7d’]) ? ‘₹’ . number_format($item[‘epc_7d’], 2) : ‘High EPC’
]);
$count++;
}
echo “

Synced {$count} live Cuelinks campaigns successfully!

“;
} else {
echo “

Failed to fetch campaigns. Please verify your API Key scopes.

“;
}
}

// — RETRIEVE STORED DEALS —
$deals = $db->query(“SELECT * FROM deals ORDER BY id DESC LIMIT 24”)->fetchAll(PDO::PDO_FETCH_ASSOC);
?>






Cuelinks Deals Aggregator