개요
- POST accounts/:account_id/cards Tweets:
- POST accounts/:account_id/tweets - Tweet에 카드를 추가하려면 card_uri 매개변수를 사용합니다. 예약된 Tweet:
- POST accounts/:account_id/scheduled_tweets
카드
이미지
- Website: 1:1 및 1.91:1
- Image App Download: 1:1 및 1.91:1
- Poll: 1.91:1
- Image Conversation: 1.91:1
- Image Direct Message: 1.91:1
동영상
- 비디오 웹사이트: 16:9 및 1:1
- 비디오 App 다운로드: 16:9 및 1:1
- 투표: 16:9
- 비디오 대화: 16:9
- 비디오 다이렉트 메시지: 16:9
프로모티드 비디오
media_id를 사용해 POST accounts/:account_id/videos 엔드포인트로 해당 비디오를 광고 계정에 연결합니다. 비디오의 id는 때때로 media_key라고도 하며 이후 요청에서 사용됩니다. 이는 정수형 값으로 시작하고, 그 뒤에 밑줄이 오며, 마지막에 긴 숫자 값이 오는 문자열입니다. 예시는 다음과 같습니다: 13_875943225764098048.
Tweet에서 Promoted Video 사용
id와 함께 POST accounts/:account_id/tweet 엔드포인트를 사용하세요. 이 단계에서 동영상 제목, 설명, 콜투액션(CTA)도 함께 지정할 수 있습니다. 이 값들은 사용자에게 직접 노출됩니다.
카드 내 프로모티드 비디오
- POST accounts/:account_id/cards/video_website
- POST accounts/:account_id/cards/video_app_download
- POST accounts/:account_id/cards/video_conversation
id와, 선택적으로 이미지의 media_id(포스터 이미지용)를 사용합니다.
마지막으로 POST accounts/:account_id/tweet 엔드포인트를 사용해 Tweet을 생성합니다. 카드는 card_uri 매개변수를 사용해 Tweet에 연결됩니다.
일반 정보
- (2015-10-22 기준) 프로모션용 콘텐츠에 사용할 동영상을 업로드할 때는, POST media/upload (chunked) 엔드포인트에 대한 모든
INIT명령 요청에서media_category매개변수 값을amplify_video로 설정해야 합니다. 이 매개변수를 사용하면 동영상이 비동기적으로 사전 처리되어 프로모션용 콘텐츠에 사용할 수 있도록 준비됩니다. 동영상 업로드 후 비동기 처리 완료 여부는STATUS명령으로 확인할 수 있습니다. - 현재 허용되는 프로모션 동영상의 최대 길이는 10분이며, 파일 크기는 500MB 이하여야 합니다.
- 업로드하는 동영상 형식은 mp4 또는 mov여야 합니다.
- 업로드된 동영상은 일반적으로 빠르게 처리되지만, 처리 시간은 동영상 길이와 파일 크기에 따라 달라질 수 있습니다.
- 업로드하는 포스터 이미지는 png 또는 jpg 형식이어야 합니다. 종횡비나 크기 요구 사항은 없지만, 포스터 이미지는 동영상 플레이어에 맞게 조정됩니다.
가이드
예약 Tweet
소개
- 새로 예약할 Tweet 생성, 수정 및 조회
- Scheduled Tweet을 라인 아이템에 연결
- 기존 Scheduled Tweet 조회 및 관리
- Scheduled Tweet이 라이브 상태가 되면 라이브 Tweet
id조회
API Endpoints
예약된 Tweet 관리
- GET accounts/:account_id/scheduled_tweets (모든 예약된 Tweet 목록 조회)
- GET accounts/:account_id/scheduled_tweets/:scheduled_tweet_id (
id로 특정 예약된 Tweet 조회) - POST accounts/:account_id/scheduled_tweets (새 예약된 Tweet 생성)
- PUT accounts/:account_id/scheduled_tweets/:scheduled_tweet_id (기존 예약된 Tweet 수정)
- DELETE accounts/:account_id/scheduled_tweets/:scheduled_tweet_id (
id로 예약된 Tweet 삭제) - GET accounts/:account_id/scheduled_tweets/preview/:scheduled_tweet_id (기존 예약된 Tweet 미리보기)
예약된 프로모션 Tweet
- GET accounts/:account_id/scheduled_promoted_tweets (모든 예약된 프로모션 Tweet 목록을 조회합니다)
- GET accounts/:account_id/scheduled_promoted_tweets/:scheduled_promoted_tweet_id (
id를 사용해 예약된 프로모션 Tweet을 조회합니다) - POST accounts/:account_id/scheduled_promoted_tweets (새 예약된 프로모션 Tweet을 생성합니다)
- DELETE accounts/:account_id/scheduled_promoted_tweets/:scheduled_promoted_tweet_id (
id를 사용해 기존 예약된 프로모션 Tweet을 삭제합니다)
예약 Tweet 보기
Scheduled Tweet 생성:
- 인증된 사용자가 지정된 @handle에 대해 유기적(organic) Tweet을 생성할 수 있는 권한이 있는지 확인합니다. Promoted-Only Tweet 생성 권한을 사용하려면 인증된 사용자가 Tweet composer permissions을 보유한 계정 사용자여야 합니다.
scheduled_at시간 기준으로 앞뒤 15분 구간 안에 생성되도록 예약된 Tweet이 30개를 초과하지 않는지 확인합니다.SCHEDULED_TWEET_LIMIT_EXCEEDED오류 메시지는 동일한 향후 15분 시간대에 너무 많은 Scheduled Tweet이 예약되었음을 의미합니다. 광고주는 기존 Scheduled Tweet을 삭제하거나scheduled_at시간을 더 이르거나 늦은 시점으로 변경해야 합니다.
Scheduled Tweet가 “라이브” 상태가 되는 경우:
- 이러한 유효성 검사는 scheduled_at 시간에 실행되며, API에서 일반 Tweet을 생성할 때 적용되는 규칙과 동일합니다. 예를 들어, 예약된 Tweet에 이미지와 GIF가 모두 포함되어 있으면 해당 Scheduled Tweet은 게시되지 않고 scheduled_status 가 FAILED 로 설정됩니다
워크플로
scheduled_at 시간과, Tweet에 미디어 엔티티가 포함되지 않은 경우 Tweet의 text를 필수 파라미터로 요구합니다. 또한 이 엔드포인트는 as_user_id 파라미터를 사용해 다른 @handle을 대신하여 예약된 Tweet을 생성할 수 있는 옵션과, 카드(card_uri) 및 미디어(media_ids)를 추가할 수 있는 몇 가지 추가 옵션을 제공합니다. 참고로 하나의 Tweet에는 동일한 type의 엔티티만 포함될 수 있으며, 즉 Video, Gif 또는 Image 중 하나만 사용할 수 있습니다. nullcast 파라미터는 해당 Tweet이 “Promoted-Only” Tweet인지 여부를 제어합니다. 새로 생성되는 모든 예약된 Tweet은 기본적으로 “Promoted-Only”(nullcast=true)입니다. nullcast=false인 경우 오가닉(Organic) 예약된 Tweet이 생성됩니다.
예약된 Tweet이 성공적으로 생성되면, 응답에는 예약된 Tweet 자체의 고유 식별자를 나타내는 id 필드가 포함됩니다. 이 필드 외에도 tweet_id라는 또 다른 필드가 함께 반환됩니다. 이 필드는 초기에는 null이지만, Tweet이 실제로 게시되어 live 상태가 되면 해당 “live” Tweet의 ID로 채워집니다.
tweet_id 필드에는 “라이브” Tweet의 ID가 설정됩니다.
예약된 Tweet 보기
GET accounts/:account_id/tweet_previews 엔드포인트는 이전 단계에서 얻은 예약된 Tweet의 id와 함께 사용하여 Tweet 미리 보기를 생성할 수 있습니다. API 응답에는 예약된 Tweet 미리 보기를 렌더링하는 데 즉시 사용할 수 있는 iframe URL이 포함됩니다. 관련 CSS와 이미지는 X를 통해 직접 제공됩니다.
nullcast=true) Tweet을 생성하도록도 허용하며, 둘 중 어느 것이든 라인 아이템에 연결할 수 있습니다. 이를 위해 POST accounts/:account_id/scheduled_promoted_tweets 엔드포인트도 제공합니다. 이 엔드포인트는 단일 API 호출에서 하나의 Promoted Scheduled Tweet만 라인 아이템에 연결할 수 있도록 허용합니다. 여러 개의 예약 Tweet을 동일한 라인 아이템에 연결하려면 여러 번의 API 호출이 필요합니다.
기존에 생성된 Scheduled Promoted Tweet은 수정할 수 없습니다.
SCHEDULED 상태인지, 그리고 주어진 objective에 대해 해당 Scheduled Tweet이 유효한지만 검증하며, 그 외의 검증은 수행되지 않습니다. 라인 아이템과 Scheduled Tweet에 적용되는 나머지 검증 규칙은 Tweet이 “live” 상태가 될 때 실행됩니다.
캠페인 송출에 문제가 발생하지 않도록 하려면, Scheduled Tweet의 scheduled_at 시간이 캠페인/라인 아이템 플라이트 시작 날짜보다 앞서도록 설정하는 것이 좋습니다.
예를 들어, Scheduled Tweet이 캠페인 시작일 이후에 live 되도록 설정되어 있고(또한 단일 라인 아이템에 단 하나의 Tweet만 연관되어 있는 경우), 이때 캠페인은 ACTIVE 상태가 되지만 Scheduled Tweet이 아직 live가 아니기 때문에 송출 가능한 크리에이티브가 존재하지 않게 됩니다.
Scheduled Tweet 관리
나머지 endpoint 집합을 통해 API 사용자는 모든 Scheduled Tweet 및 Scheduled Promoted Tweet을 관리할 수 있습니다. 이러한 API는 선택적으로 특정 상태로 필터링된 모든 Scheduled Tweet의 리스트를 반환하거나, id로 특정 Scheduled Tweet을 조회하는 데 사용할 수 있습니다.
예약된 Tweet이 라이브 상태가 되면 어떻게 되나요?
scheduled_at 시점에 다음과 같은 업데이트가 이루어집니다:
- “라이브(live)” Tweet이 생성되지만, 최대 1초까지 지연(latency)이 발생할 수 있습니다.
tweet_id가 다음 엔터티에 추가됩니다:- Scheduled Tweet
- Promoted Scheduled Tweet
- 새로운 Promoted Tweet 엔터티가 생성됩니다.
모범 사례
- 예약된 Tweet을 생성할 때 해당 Tweet이 유효한지 확인하세요 (예: 하나의 Tweet에는 이미지, 동영상, GIF 중 하나만 포함할 수 있으며, 세 가지를 조합해서 사용할 수는 없습니다)
- 캠페인 플라이트 날짜(즉,
start_time및end_time)가 예약된 Tweet의scheduled_at시간과 일치하는지 확인하세요 - 예약된 Tweet은 최대 1년(365일) 이내의 시점으로만 예약해야 합니다
- 현재 예약된 Tweet에 대해서는 Tweet 미리보기가 지원되지 않습니다(생성 전에 예약된 Tweet을 미리 확인하는 기능)
미디어 라이브러리
소개
API 엔드포인트
- POST media/upload (미디어 업로드) 또는 POST media/upload (chunked) (청크 단위로 미디어 업로드)
- POST accounts/:account_id/media_library (Media Library에 미디어를 추가)
라이브러리에 추가하기
요청 매개변수
속성
media_key라는 개념을 공식적으로 도입합니다. 이는 라이브러리 내 객체에 대한 고유 식별자입니다. media key는 다음과 같은 형식의 문자열 값입니다: 13_875943225764098048. 이러한 media key는 모든 카드 엔드포인트에서 지원됩니다.
추가로, Media Library 응답에는 문자열로 표현된 media_id가 포함됩니다. 이는 현재 media key를 허용하지 않는 리소스에 대해 제공됩니다: Tweets, Tweet preview, 그리고 Scheduled Tweets. 우리는 media key가 모든 곳에서 지원되도록 작업을 진행 중입니다.
aspect_ratio 속성은 GIF 및 동영상에 대해 반환됩니다. 이는 특정 가로세로 비율만 허용하는 카드에서 사용할 미디어를 필터링하는 데 사용할 수 있습니다.
*이러한 엔드포인트는 media key인 video_id 파라미터를 지원합니다.
사용 방법
media_key를 참조해 웹사이트 카드를 생성합니다.
card_uri를 사용해 이 card를 Tweet과 연결합니다.
카드 식별
소개
참고: Ads API 버전 3부터 새로 생성된 card에 대해서는 card_uri만 생성되어 cards 응답에 반환됩니다.
참고: Ads API 버전 5부터 cards 응답에는 더 이상 preview_url이 반환되지 않습니다.
Tweet 객체 응답 내 참조 유형은 Tweet이 생성된 방식에 따라 달라집니다. 다시 말해, Tweet이 card_uri 요청 매개변수를 사용해 생성된 경우 응답에 card URI 값이 포함됩니다. 반면 preview_url이 Tweet 텍스트의 일부로 포함된 경우 응답에는 preview URL이 포함됩니다.
card_uri로 Tweet 식별하기
card_uri 응답 속성에서 해당 카드에 대한 참조를 확인할 수 있습니다. 아래 예시 응답은 GET accounts/:account_id/tweets 엔드포인트를 사용한 것입니다.
preview_url로 Tweet 식별하기
카드 가져오기
미디어 식별하기
소개
Media key는 ID 앞에 숫자 접두사와 밑줄이 붙은 값입니다.
이미지
Image cards와 Account Media 이미지에는 어떤 미디어 식별자에 대한 참조도 포함되지 않습니다. Tweet에는 미디어 ID만 포함됩니다. Scheduled 및 Draft Tweet에는 미디어 ID와 미디어 key가 모두 포함됩니다. Media Library 역시 둘 다 반환합니다.
Tweet의 경우, entities[“media”] 배열 내 객체의 id 및 id_str 필드는 미디어 ID에 해당합니다. 하나의 Tweet에 여러 이미지를 포함하는 경우, 각 미디어 엔티티에 대한 참조는 extended_entities[“media”]에서만 찾을 수 있습니다.
식별자에 대한 참조 외에도, 이미지의 URL에 접근할 수 있는지 여부가 중요한 경우가 많습니다.
- 이 URL 위치는 Tweet에 단일 이미지가 포함되어 있는지, 여러 이미지가 포함되어 있는지에 따라 달라집니다.
image라는 응답 속성이 있습니다. (이미지 앱 다운로드 카드의 경우 이름은 wide_app_image입니다.)
Tweet의 경우, 미디어 URL 위치는 미디어 유형과 사용 중인 endpoint에 따라 달라집니다. 단일 이미지를 가진 Tweet의 경우 URL은 entities[“media”][0][“media_url”]에서 찾을 수 있습니다. 이는 Ads API와 Standard API 모두에 해당합니다. 그러나 Tweet에 여러 이미지가 포함되어 있는 경우에는 URL을 extended_entities[“media”][i][“media_url”]에서만 찾을 수 있습니다. 이는 Standard API에서만 제공됩니다.
동영상
동영상 카드(동영상이 포함된 설문조사 카드는 예외)의 경우 응답 속성으로
video_content_id가 포함되지만, 반환되는 값의 유형에 일관성이 없습니다. 어떤 경우에는 미디어 ID이고, 다른 경우에는 미디어 키입니다.
동영상 URL에 접근하는 방법은 아래에 나와 있습니다.
동영상 카드는 응답 속성으로
video_url과 video_hls_url을 포함하며, 각각 .vmap 및 .m3u8 URL을 제공합니다.
Media Library
video_content_id가 media key인 카드의 경우입니다. 값이 media ID인 경우에도 에셋은 Media Library에 존재하지만, 이를 조회하려면 해당 값 앞에 숫자 접두사와 밑줄을 붙여야 합니다. ** 트윗은 media ID만 반환합니다. 에셋이 Media Library에 존재하는 것은 보장되지만, 이를 가져오려면 media ID 앞에 숫자 접두사와 밑줄을 붙여야 합니다.
- AMPLIFY_VIDEO 에셋이 Media Library에 추가되면, 자동으로 PREROLL 크리에이티브 타입의 Account Media 에셋으로 추가됩니다.
- 특정 크기(자세한 내용은 열거형 페이지의 “Creative Types” 참고)의 이미지를 Media Library에 추가하면, 자동으로 Account Media 에셋으로 추가됩니다. 크리에이티브 타입(예: INTERSTITIAL)은 이미지 크기에 따라 달라집니다.
Tweet
소개
널캐스트된 Tweet
nullcast 파라미터를 지원하며, 이를 통해 API 사용자는 널캐스트된 Tweet 또는 오가닉 Tweet을 생성할 수 있습니다. 널캐스트된 Tweet은 해당 사용자 본인 또는 그 사용자를 대신해 Tweet을 생성할 권한이 있는 누구나 생성할 수 있습니다. 오가닉 Tweet은 full promotable user만 생성할 수 있습니다.
Tweet 업데이트
예약 및 초안 Tweet의 nullcast 속성은 업데이트할 수 있습니다. 예약 Tweet의 경우 Tweet의 scheduled_at 시간 전까지 편집할 수 있습니다. 초안 Tweet은 무기한 편집할 수 있습니다. 그러나 한 번 게시된 이후에는 Tweet을 널캐스트에서 오가닉으로, 또는 그 반대로 변경할 수 없습니다.
Tweet 프로모션
Tweet ID
캐러셀
소개
- 미디어 업로드
- 카드 생성
- Tweet 생성
- Tweet 프로모션
엔드포인트
JSON POST Body
SWIPEABLE_MEDIA컴포넌트 1개 — 미디어 키 배열을 입력으로 받습니다.- 아래 중 하나:
- 웹사이트 정보를 지정하는
DETAILS컴포넌트 - App 정보를 지정하는
BUTTON컴포넌트
SWIPEABLE_MEDIA 컴포넌트에는 2개에서 6개 사이의 이미지 또는 동영상을 지정할 수 있는 media_keys 배열이 반드시 포함되어야 합니다. 미디어 키를 전달하는 순서에 따라 렌더링 순서가 결정됩니다.
이를 모두 조합하면, 웹사이트 캐러셀에 대한 예시 JSON POST 본문은 아래와 같습니다.
BUTTON 컴포넌트 내 App 목적지 객체에는 국가 코드와 하나 이상의 앱 식별자가 필요합니다. 선택적으로 딥 링크를 포함할 수 있습니다. 이러한 필드에 대한 설명은 reference documentation을 참조하세요.
이를 종합하면, 아래는 App 캐러셀 JSON POST 요청 본문의 예시입니다.
예시
media_type 요청 파라미터를 사용해 결과를 특정 미디어 유형으로 한정합니다.
card_uri가 포함되어 있습니다.
Tweet
POST accounts/:account_id/tweet 엔드포인트를 사용하여 Tweet을 생성합니다. 이전 요청에서 반환된 card_uri를 사용하세요. (가독성을 위해 응답 일부가 생략되었습니다.)
크리에이티브 메타데이터 태그 지정
소개
크리에이티브 에셋 태깅
exiftool -ver를 입력하여 도구의 버전 번호가 반환되는지 확인함으로써 도구가 올바르게 설치되었는지 검증할 수 있습니다. ExifTool 명령 파라미터에 대한 자세한 내용은 ExifTool 문서를 참고하세요.
크리에이티브 파트너는 새 크리에이티브 에셋이나 기존 크리에이티브 에셋에 대해 X app_id를 contributor XMP 태그와 date 태그의 메타데이터 값으로 지정할 수 있습니다. 크리에이티브 에셋은 미디어 업로드 시 기존 크기 제한을 따르게 됩니다.
참고: X에서 contributor XMP 태그를 사용하는 것은 메타데이터가 X에서 진행되는 캠페인에 대한 값만을 캡처하도록 보장하기 위한 것입니다.
exiftool -contributor="<YOUR APP ID>" -creative_file.jpg
exiftool -date="<date>" -creative_file.jpg
app_id는 개발자 콘솔의 Projects & Apps 아래에서 찾을 수 있습니다. 예: 16489123
다음 예시는 이미지에 대해 app_id를 contributor 태그로, date를 date 태그로 추가하는 방법을 보여줍니다:
exiftool -xmp:all -G1 <filename>
예시:
exiftool -xmp:all -G1 eiffel_tower.jpg
질문이 있으신가요?
API 참조 문서
계정 미디어
GET accounts/:account_id/account_media
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/account_media
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media?account_media_ids=3wpx
예시 응답
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/account_media/:account_media_id
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media/2pnfd
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/account_media/:account_media_id
Parameters
요청 예제
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media/2pnfd
응답 예시
카드
card_uri 매개변수를 POST accounts/:account_id/tweet, POST statuses/update, POST accounts/:account_id/scheduled_tweets, 또는 POST accounts/:account_id/draft_tweets 엔드포인트와 함께 사용합니다.
현재 계정과 연결된 카드 중 일부 또는 전체에 대한 세부 정보를 조회합니다.
참고: 이 호출은 POST accounts/:account_id/cards 엔드포인트를 사용해 생성된 카드만 반환합니다. 다른 엔드포인트를 사용해 생성된 카드는 반환되지 않습니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards?count=1
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/:card_id
매개변수
예제 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264
응답 예시
POST accounts/:account_id/cards
Content-Type은 application/json으로 설정해야 합니다.
자세한 사용 예시는 Carousels 가이드를 참고하세요.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards
매개변수
JSON POST 요청 본문에는 카드의name과 components 배열이 반드시 포함되어야 합니다. 각 component는 객체로 표현되며, 카드에서 광고주가 보게 되는 속성을 정의합니다.
다음 예시는 페이로드의 전반적인 구조를 보여 주지만, 실제로 동작하는 정보는 아닙니다.
구성 요소
type 필드가 포함되어야 합니다. Ads API는 미디어 기반 구성 요소와 설명 기반 구성 요소로 구분된 다음 구성 요소 type을 지원합니다.
- 미디어:
MEDIA: 단일 비디오 또는 이미지SWIPEABLE_MEDIA: 2~6개의 비디오 또는 이미지- 설명:
DETAILSBUTTON
type 키 외에) 필수 필드 집합이 있습니다. 이는 다음 표에 나와 있습니다.
다음은
components 배열 내에서의 BUTTON 구성 요소 예시입니다(name 키는 의도적으로 생략되어 있습니다). (줄임표는 더 많은 정보를 지정해야 하는 위치를 나타냅니다.)
DETAILS 또는 BUTTON 구성 요소 중 하나를 사용해 생성해야 합니다. 설명 기반 구성 요소는 미디어 아래에 렌더링되며, URL이나 모바일 App 등의 목적지와 연결됩니다.
Label
Label은 버튼에 표시되는 텍스트를 정의하므로 BUTTON 구성 요소에만 적용됩니다. Label 객체에는 필수 키인 type과 value가 있습니다. type은 ENUM으로 설정해야 하고, value는 BOOK, CONNECT, INSTALL, OPEN, ORDER, PLAY, SHOP 중 하나여야 합니다.
이전 예제를 기반으로 아래는 BUTTON 구성 요소 안에 있는 label 객체의 예시입니다.
DETAILS 또는 BUTTON 컴포넌트 안에 포함되어야 합니다. 목적지 type에는 WEBSITE과 APP 두 가지가 있습니다.
참고: 웹사이트 목적지는 DETAILS 컴포넌트에서만 사용할 수 있고, 앱 목적지는 BUTTON 컴포넌트에서만 사용할 수 있습니다.
웹사이트 목적지(Website Destination)
앱 목적지(App Destination)
요청 예시
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards
응답 예시
Content-Type은 application/json으로 설정해야 합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/1321554298900107264
매개변수
JSON POST 본문에는 업데이트할 매개변수가 포함되어야 합니다. 이 요청은 페이로드에 지정된 매개변수로 각 필드를 대체합니다. 컴포넌트는 객체로 표현되며, 카드의 광고주용 속성을 설명합니다. 다음 예시는 페이로드의 전체적인 구조를 보여 주지만, 실제로 동작하지 않는 정보가 포함되어 있습니다.예시 요청
name 값을 업데이트하고, components 필드의 media_keys 중 하나를 제거합니다.
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/:card_id
매개변수
예시 요청
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264
응답 예시
Cards Fetch
card_uri를 기준으로 조회합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/all
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/all?card_uris=card://1044294149527166979,card://1044301099031658496
예시 응답
card_id 값을 사용해 현재 계정에 연결된 특정 카드를 조회합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/all/:card_id
Parameters
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/all/508pf
응답 예시
임시 저장된 Tweet
GET accounts/:account_id/draft_tweets
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/draft_tweets
매개변수
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets?count=1
예시 응답
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id
매개변수
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994788364334325760
예시 응답
POST accounts/:account_id/draft_tweets
as_user_id 매개변수로 지정한 사용자에 대한 임시 Tweet을 생성합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/draft_tweets
매개변수
예시 요청
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets?as_user_id=756201191646691328&text=Just setting up my X.
예시 응답
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id
매개변수
예시 요청
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994747471329873920?text=just setting up my twttr
예시 응답
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id
매개변수
요청 예시
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994787835663155200
예시 응답
POST accounts/:account_id/draft_tweets/preview/:draft_tweet_id
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/draft_tweets/preview/:draft_tweet_id
매개변수
예시 요청
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/preview/996132315829948416
응답 예시
이미지 대화 카드
card_uri 파라미터를 POST accounts/:account_id/tweet, POST statuses/update, 또는 POST accounts/:account_id/scheduled_tweets 엔드포인트 중 하나와 함께 사용하세요.
GET accounts/:account_id/cards/image_conversation
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation
Parameters
예제 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation?card_ids=59woh
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id
매개변수
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/59woh
응답 예시
POST accounts/:account_id/cards/image_conversation
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation
매개변수
요청 예시
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation?media_key=3_957113581522141184&name=image conversation card&first_cta=#moon&first_cta_tweet=stars&thank_you_text=thanks&title=Full moon
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id
Parameters
요청 예시
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/59woh?name=moon card
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id
매개변수
예시 요청
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/4i0qe
응답 예시
미디어 라이브러리
GET accounts/:account_id/media_library
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/media_library
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library?count=1
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/13_909110614026444802
예시 응답
AMPLIFY_VIDEO 미디어 카테고리의 동영상을 추가하면 자동으로 PREROLL account_media 에셋으로 사용할 수 있습니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/media_library
매개변수
요청 예시
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library?media_key=3_931236738554519552
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key
매개변수
예시 요청
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/16_844800354743074820?title=cat GIF&description=in space
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key
Parameters
예시 요청
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/7_860318603387600896
예시 응답
투표 카드
GET accounts/:account_id/cards/poll
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/poll
매개변수
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll?card_ids=57i77
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/poll/:card_id
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll/57i8t
응답 예시
POST accounts/:account_id/cards/poll
PROMOTED_MEDIA_POLLS 계정 기능이 필요합니다.
참고: 투표 카드는 PUT을 사용해 업데이트할 수 없습니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/poll
Parameters
예시 요청
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll?duration_in_minutes=10080&first_choice=East&second_choice=West&media_key=13_950589518557540353&name=best coast poll
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/poll/:card_id
매개변수
예시 요청
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll/57i9t
예시 응답
Preroll Call To Actions
GET accounts/:account_id/preroll_call_to_actions
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions?line_item_ids=8v53k
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id
매개변수
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0
예시 응답
POST accounts/:account_id/preroll_call_to_actions
PREROLL_VIEWS 라인 아이템에 대한 선택적 CTA(Call-to-Action)를 설정합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions
매개변수
예시 요청
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions?line_item_id=8v53k&call_to_action=VISIT_SITE&call_to_action_url=https://www.x.com
응답 예시
PREROLL_VIEWS 라인 아이템의 선택적 Call-to-Action(CTA)을 업데이트합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id
매개변수
요청 예시
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0?call_to_action=WATCH_NOW
예시 응답
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id
매개변수
예시 요청
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0
응답 예시
예약된 Tweet
GET accounts/:account_id/scheduled_tweets
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets
매개변수
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets?count=1
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id
매개변수
예제 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/917438609065623552
응답 예시
POST accounts/:account_id/scheduled_tweets
as_user_id 매개변수로 지정한 사용자에 대한 예약된 Tweet을 생성합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets
Parameters
예제 요청
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets?as_user_id=756201191646691328&media_keys=3_917438348871983104&scheduled_at=2018-01-01
예시 응답
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id
매개변수
요청 예시
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/875057751231037440?text=winter solstice
예시 응답
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id
매개변수
예시 요청
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/875064008595787776
응답 예시
Tweet 미리보기
GET accounts/:account_id/tweet_previews
- 하나의 API 요청으로 여러 Tweet(최대 200개까지) 미리보기를 지원합니다.
- Tweet 레이아웃과 스타일을 정확하고 최신 상태로 렌더링합니다.
- 최신 포맷과 모든 카드 유형을 지원합니다.
- iframe을 반환합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/tweet_previews
매개변수
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tweet_previews?tweet_ids=1122911801354510336,1102836745790316550&tweet_type=PUBLISHED
응답 예시
Tweets
GET accounts/:account_id/tweets
user_id 매개변수에 지정된 사용자의 Tweet 상세 정보를 가져옵니다. 이 사용자는 계정에 포함된 promotable users 중 어느 것이든 될 수 있습니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/tweets
매개변수
요청 예시
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tweets?tweet_ids=1166476031668015104&tweet_type=PUBLISHED&trim_user=true
응답 예시
POST accounts/:account_id/tweet
as_user_id 매개변수에 지정된 사용자에 대해 Tweet을 생성합니다. nullcasted(기본값) 및 오가닉 Tweet 생성이 모두 지원됩니다. Nullcasted Tweet은 공개 타임라인에 표시되지 않으며 팔로워에게 노출되지 않습니다. 두 유형 모두 캠페인에서 사용할 수 있습니다.
인증된 사용자가 이 계정의 FULL 프로모션 가능 사용자가 아닌 경우, GET accounts/:account_id/authenticated_user_access 엔드포인트에 요청을 보내 이 사용자를 대신해 Tweet을 작성할 권한이 있는지 확인해야 합니다. TWEET_COMPOSER 권한이 있으면, 사용자가 이 엔드포인트를 사용해 FULL 프로모션 가능 사용자를 대신하여 nullcasted Tweet을 생성할 수 있음을 의미합니다.
미디어에 대해 upload.x.com 엔드포인트를 사용할 때는, 이 엔드포인트에 전달하는 as_user_id 값과 동일한 user_id 값을 additional_owners 매개변수에 전달해야 합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/tweet
매개변수
요청 예시
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/tweet?text=hello, world&as_user_id=756201191646691328&trim_user=true
응답 예시
name을 업데이트합니다.
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/tweets/:tweet_id/name
Parameters
예제 요청
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/tweets/994747471329873920/name?name=new Tweet name
예시 응답
비디오 대화 카드
card_uri 매개변수를 POST accounts/:account_id/tweet, POST statuses/update, 또는 POST accounts/:account_id/scheduled_tweets 엔드포인트와 함께 사용하세요.
GET accounts/:account_id/cards/video_conversation
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation?card_ids=5a86h
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id
매개변수
예시 요청
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/5a86h
응답 예시
POST accounts/:account_id/cards/video_conversation
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation
매개변수
요청 예시
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation?first_cta=#APIs&first_cta_tweet=Ads API&name=video conversation card&thank_you_text=Build it&title=Developers&media_key=13_958388276489895936
응답 예시
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id
매개변수
요청 예시
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/5a86h?name=developers card
예시 응답
리소스 URL
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id
매개변수
요청 예시
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/4i0ya