components | array of object or string | No | - | Card components as a JSON array matching the X Ads API payload; order defines the render order. A card needs exactly one media component plus a DETAILS or BUTTON component: - {“type”: “MEDIA”, “media_key”: ”…”} (single image or video from x_ads_upload_media) - {“type”: “SWIPEABLE_MEDIA”, “media_keys”: [”…”, ”…”]} (2 to 6 items, carousel) - {“type”: “DETAILS”, “title”: ”…”, “destination”: {“type”: “WEBSITE”, “url”: “https://...”}} (website cards) - {“type”: “BUTTON”, “label”: {“type”: “ENUM”, “value”: “INSTALL”}, “destination”: {“type”: “APP”, “country_code”: “US”, “ios_app_store_identifier”: ”…”, “googleplay_app_id”: ”…”, “ios_deep_link”: ”…”, “googleplay_deep_link”: ”…”}} (app cards; label values: BOOK, CONNECT, INSTALL, OPEN, ORDER, PLAY, SHOP) WEBSITE destinations only go on DETAILS; APP destinations only on BUTTON. Cannot be combined with slides. Example website card: [{“type”: “MEDIA”, “media_key”: “13_123”}, {“type”: “DETAILS”, “title”: “Shop now”, “destination”: {“type”: “WEBSITE”, “url”: “https://example.com”}}] |