async def read_ad_creative(ad_creative_id: str, meta_access_token: Optional[str] = None) -> str:
if not ad_creative_id:
return _json({"error": "No creative ID provided"})
payload = await make_api_request(ad_creative_id, meta_access_token, {"fields": _CREATIVE_FIELDS.replace(",image_urls_for_viewing", "")})
if isinstance(payload, dict) and payload.get("id"):
try:
dynamic_payload = await make_api_request(ad_creative_id, meta_access_token, {"fields": "dynamic_creative_spec"})
if isinstance(dynamic_payload, dict) and "dynamic_creative_spec" in dynamic_payload:
payload["dynamic_creative_spec"] = dynamic_payload["dynamic_creative_spec"]
except Exception: # noqa: BLE001
pass
return _json(payload)