#!/usr/bin/env python3
"""Buat 2 tag GA4 Event di container GTM-WQX6PGNR memakai trigger yang sudah dibuat."""
import json, os
from google.oauth2 import service_account
from googleapiclient.discovery import build

creds = service_account.Credentials.from_service_account_file(
    os.path.expanduser("~/.hermes/gsc_service_account.json"),
    scopes=["https://www.googleapis.com/auth/tagmanager.edit.containers",
            "https://www.googleapis.com/auth/tagmanager.publish"])
gtm = build("tagmanager", "v2", credentials=creds, cache_discovery=False)
CONTAINER = "accounts/6303077991/containers/224445829"
GA4 = "G-5YGFJFBNH1"
WS = CONTAINER + "/workspaces/2"

trg = {t["name"]: t["triggerId"] for t in gtm.accounts().containers().workspaces().triggers().list(parent=WS).execute().get("trigger", [])}
print("trigger tersedia:", trg)

PASANGAN = [("manual_event_CONTACT", "GA4 - manual_event_CONTACT (WhatsApp/Telepon)", "Custom Event - manual_event_contact"),
            ("qualify_lead", "GA4 - qualify_lead (kirim formulir)", "Custom Event - qualify_lead")]
for event_name, tag_name, trigger_name in PASANGAN:
    body = {
        "name": tag_name,
        "type": "gaawe",
        "parameter": [
            {"type": "TEMPLATE", "key": "eventName", "value": event_name},
            {"type": "TEMPLATE", "key": "measurementIdOverride", "value": GA4},
        ],
        "firingTriggerId": [trg[trigger_name]],
    }
    try:
        t = gtm.accounts().containers().workspaces().tags().create(parent=WS, body=body).execute()
        print(f"✅ tag dibuat: {tag_name} → id {t['tagId']} | trigger {trg[trigger_name]}")
    except Exception as e:
        print(f"❌ gagal bikin tag {tag_name}: {str(e)[:220]}")

print("\n--- isi workspace sekarang ---")
for t in gtm.accounts().containers().workspaces().tags().list(parent=WS).execute().get("tag", []):
    print("  TAG:", t["tagId"], t["name"], "|", t["type"], "| trigger", t.get("firingTriggerId"))
