|
import os |
|
|
|
import requests |
|
|
|
|
|
class OperationService: |
|
base_url = os.environ.get("BILLING_API_URL", "BILLING_API_URL") |
|
secret_key = os.environ.get("BILLING_API_SECRET_KEY", "BILLING_API_SECRET_KEY") |
|
|
|
@classmethod |
|
def _send_request(cls, method, endpoint, json=None, params=None): |
|
headers = {"Content-Type": "application/json", "Billing-Api-Secret-Key": cls.secret_key} |
|
|
|
url = f"{cls.base_url}{endpoint}" |
|
response = requests.request(method, url, json=json, params=params, headers=headers) |
|
|
|
return response.json() |
|
|
|
@classmethod |
|
def record_utm(cls, tenant_id: str, utm_info: dict): |
|
params = { |
|
"tenant_id": tenant_id, |
|
"utm_source": utm_info.get("utm_source", ""), |
|
"utm_medium": utm_info.get("utm_medium", ""), |
|
"utm_campaign": utm_info.get("utm_campaign", ""), |
|
"utm_content": utm_info.get("utm_content", ""), |
|
"utm_term": utm_info.get("utm_term", ""), |
|
} |
|
return cls._send_request("POST", "/tenant_utms", params=params) |
|
|