import requests

AISENSY_API_URL = "https://backend.aisensy.com/campaign/t1/api/v2"
AISENSY_API_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY4NDI4Y2UwMjBhMWFhMGMyM2QwZmNjNiIsIm5hbWUiOiIgSEFSTU9OSSBDQUxMSU5HIFNFUlZJQ0VTIChPUEMpIFBSSVZBVEUgTElNSVRFRCIsImFwcE5hbWUiOiJBaVNlbnN5IiwiY2xpZW50SWQiOiI2ODQyOGNlMDIwYTFhYTBjMjNkMGZjYzEiLCJhY3RpdmVQbGFuIjoiQkFTSUNfTU9OVEhMWSIsImlhdCI6MTc1MDg1MzUzMn0.628yLNGBEwFcH1XSFv2pRfAQVdB_QkYYBfVylQNg7sk"

def send_otp_via_whatsapp(country_code, mobile, otp):
    full_number = f"{country_code}{mobile}"

    deeplink = f"https://chatpythonscript-testing.harmonicalling.com/verify-otp/{otp}/"

    payload = {
        "apiKey": AISENSY_API_KEY,
        "campaignName": "otp_verification",
        "destination": full_number,
        "userName": "HARMONI CALLING SERVICES (OPC) PRIVATE LIMITED",
        "templateParams": [str(otp)],
        "source": "new-landing-page form",
        "media": {},
        "buttons": [
            {
                "type": "button",
                "sub_type": "url",
                "index": 0,
                "parameters": [
                    {
                        "type": "text",
                        "text": str(otp)
                    }
                ]
            }
        ],
        "carouselCards": [],
        "location": {},
        "attributes": {},
        "paramsFallbackValue": {
            "FirstName": "user"
        }
    }

    headers = {
        "Content-Type": "application/json"
    }

    response = requests.post(AISENSY_API_URL, json=payload, headers=headers)

    if response.status_code != 200:
        raise Exception(f"AiSensy WhatsApp OTP failed: {response.text}")