#!/usr/bin/env python3 """List all Webgains programs we have access to.""" import requests WEBGAINS_API = "https://platform-api.webgains.com" PUBLISHER_ID = "1347930" TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxMDAwMzEiLCJqdGkiOiIwNjM5ODEwYzQ0YzM1MTBlZmZiMGRkYWNiM2EyNWFlNTg2YzFmNmQ5ODNjNGQ2MDA4NzkwZmM0NTkzY2EyNjg4ZGViZDE4NTgwOThmYjJjYiIsImlhdCI6MTc3MTUxNjc4OS44MzAxMzUsIm5iZiI6MTc3MTUxNjc4OS44MzAxMzcsImV4cCI6MjA4NzA0OTU4OS44MjcwODgsInN1YiI6IjIwMTcwOCIsInNjb3BlcyI6W119.ZxlCDsyBI7_SNUWjO-PUxDYKvQVfuUBzU5n-SgqHdAZCnOj9253yVcJIS5NRXJLrnyx0E_9bn8ymfXS71cvPISA4hPAlKCSMjdkv9f2k2FFwdAlQQ6mdhBB2m9dzHUIn34QwA8s4-ikB1ATKIZeqiJL-3Gh9eiMYPpvaJdCCjN-oGPMhhlehkgA04cZSgwy6HfKgb6uPvUSG9w_tvN8U06uEHKV11DedQHNWWGzuXpd2FEL3baV0z9KjSNMZsJZHx2yHUb6gVWJwaR7_louahMvrPXG-YLgnGvNMcPDPjm-z5HJ-JKcPv9_FBqAYGItZxgeGgVoS8MVhW6lc1a-6CvYtVanfXF42MPPNP-Qq76qRtHPLRBdkIATMuBxVJrMzlprT3n4F0sUUltGR4ixZuzMUm5LeyPMHgmjy2UfYzsl9eVqx0oJCmKUyY9maBXwFLJa8J1NHM_nWp3hPpCGkMyhzHK1DIf_z8Wirg1hp5vKts93eERWJBlQwhucUUS_KnZeC_gVaQ7kT4jCwaEWkpPxPxyXWRoK0mcYS_JGz3JbpVhRLj5DVYIB9k54DXqjYlCx8ezJZE9sf2SX3VWvPvD1xSQD1caTCm0To0B-MkeU1YpEfWdUslpCJXrpOy2Wbs8iDHR1BzNrMnOEr4zbz_EoB4JJe3tGTGjzNLNIw6XI" HEADERS = {"Authorization": f"Bearer {TOKEN}", "Accept": "application/json"} CAMPAIGNS = ["1622230", "1622250", "1622240", "1622260"] for camp_id in CAMPAIGNS: print(f"\n=== Campaign {camp_id} - Programs ===") url = f"{WEBGAINS_API}/auth/publishers/{PUBLISHER_ID}/campaigns/{camp_id}/programs" r = requests.get(url, headers=HEADERS, timeout=30) if r.status_code == 200: data = r.json() programs = data if isinstance(data, list) else data.get('data', []) print(f"Programs: {len(programs)}") for p in programs: pid = p.get('id', '?') name = p.get('name', '?') status = p.get('status', '?') keywords = ['sneaker', 'shoe', 'schoen', 'sport', 'nike', 'adidas', 'puma', 'foot', 'kick', 'baskets', 'patta', 'snipes', 'arendonk', 'fashion'] is_relevant = any(kw in str(name).lower() for kw in keywords) marker = ' ***' if is_relevant else '' print(f" [{pid}] {name} (status: {status}){marker}") else: print(f"Error: {r.status_code} - {r.text[:300]}")