跳转到主要内容

概览

创意指的是在广告系列中可推广的任何实体。Post 可以包含文本、图片、GIF、视频或卡片。卡片可以包含图片或视频。 图片、GIF 或视频类型的创意可通过 POST media/upload(一个仅支持图片的简单上传端点)或 POST media/upload(分片)端点进行上传。上传后可将其添加到 卡片:
  • POST accounts/:account_id/cards Tweets:
  • POST accounts/:account_id/tweets - 要将卡片添加到 Tweets,请使用 card_uri 参数。 计划 Tweets:
  • POST accounts/:account_id/scheduled_tweets
有关卡片的更多详情,请参阅 Cards 页面。Promoted Video 页面提供了将视频与卡片或 Tweets 关联的详细说明。

Cards

Ads API 支持多种可用于 Tweet 的卡片类型,之后可在广告活动中推广。注意:一旦发布为 Tweet,卡片详情将对公众可见。这可能包含拥有该卡片的用户相关信息。

图片

以下图片规范适用于用于 Cards 的素材。图片大小须不超过 3MB,且宽度至少为 800px。此外,我们支持以下宽高比:
  • 网站:1:1 和 1.91:1
  • 图片应用下载:1:1 和 1.91:1
  • 图片会话:1.91:1
  • 图片私信:1.91:1
  • 投票:1.91:1
我们支持以下图片格式:.bmp、.jpeg、.png。

视频

以下视频规格适用于 Cards 所使用的素材。我们支持以下宽高比:
  • 视频网站:16:9 和 1:1
  • 视频应用下载:16:9 和 1:1
  • 投票:16:9
  • 视频会话:16:9
  • 视频私信:16:9
本文档简要介绍如何通过 Ads API 上传并推广视频。 Ads API 在 Tweets 中以及以下卡片中支持推广视频: 首先,使用 POST media/upload(分片) 端点上传视频。然后使用 media_id 通过 POST accounts/:account_id/videos 端点将该视频与广告账户关联。视频的 id(有时称为 media_key)将用于后续请求。该值是一个以整数开头、后接下划线、并以较长数值结尾的字符串,例如:13_875943225764098048 要创建一条 Tweet,请使用 POST accounts/:account_id/tweet 端点,并提供该视频的 id。在此步骤中,你还可以提供视频标题、描述和号召性用语(CTA)。这些信息将对用户可见。 视频 App 下载卡片和视频会话卡片支持添加封面图。使用 POST media/upload 端点上传用于这些卡片的图片。 使用以下端点之一创建卡片: 使用该视频的 id,以及可选的图片 media_id(作为封面图)。 最后,使用 POST accounts/:account_id/tweet 端点创建 Tweet。通过 card_uri 参数将卡片附加到 Tweet。

常规信息

有关通过 API 上传视频的详细指南,请参阅视频上传指南 视频也可作为片头贴片素材进行投放。详见视频观看片头贴片目标指南
  • (截至 2015-10-22)上传用于推广内容的视频时,发送至 POST media/upload (chunked) 端点的所有 INIT 命令请求,必须将 media_category 参数设为 amplify_video。使用此新参数可确保视频以异步方式预处理,并为用于推广内容做好准备。视频上传后,可使用 STATUS 命令检查异步处理是否完成。
  • 目前允许的推广视频最长为 10 分钟,文件大小不超过 500MB。
  • 上传视频应为 mp4 或 mov 格式。
  • 上传视频通常处理较快,但处理时间可能因视频长度和文件大小而异。
  • 上传的封面图应为 png 或 jpg 格式。宽高比和尺寸不作要求,但封面图会调整以适配视频播放器。

使用指南

计划发布的 Tweet

介绍

Scheduled Tweets 允许广告主或用户创建可在稍后时间发布的 Tweet。除了创建和管理这些 Tweet,API 还支持将这些 Tweet 与 line item 关联,以便在 Tweet 上线后进行推广。这使广告主能够提前创建原生 Tweet,并在任何关键节点前规划活动素材。例如,将某条 Tweet 创意设置为在新品发布宣布的同时即时上线。 Scheduled Tweets API 端点提供的完整功能集如下:
  • 创建、修改并查看新近安排的 Tweet
  • 将 Scheduled Tweet 与 line item 关联
  • 查询并管理现有的已安排 Tweet
  • Scheduled Tweet 上线后,检索对应的上线 Tweet 的 id

API 端点

与上述功能相关的所有端点如下:

预定 Tweet 管理

预定投放的推广 Tweet

预定 Tweet 视图

由于预定 Tweet 与“实时”Tweet 是相互独立的实体,对这些 Tweet 的创建或编辑会执行两套不同的验证。第一套验证规则在创建预定 Tweet 时运行,具体包括:

计划创建 Scheduled Tweet:

  • 验证已认证用户是否有权限为指定 @handle 创建自然(非付费)Tweets。创建“仅推广”Tweet 的权限要求已认证用户为该账户用户,并具有 Tweet composer permissions
  • 验证在 scheduled_at 指定时间前后 15 分钟的窗口内,计划创建的 Tweets 不超过 30 条。出现 SCHEDULED_TWEET_LIMIT_EXCEEDED 错误表示在同一未来 15 分钟时间段内安排了过多的计划 Tweet。广告主需要删除现有的计划 Tweet,或将 scheduled_at 时间适当前移或后移。

预定的 Tweet 进入“发布”状态:

  • 这些验证规则会在 scheduled_at 指定的时间运行,与在 API 中创建常规 Tweet 时适用的规则相同。例如,如果预定的 Tweet 同时包含图片和 GIF,则它不会发布,scheduled_status 将被设置为 FAILED

工作流程

创建新的 Scheduled Tweet 可以使用 POST accounts/:account_id/scheduled_tweets 端点创建新的 Scheduled Tweet。该端点要求提供以下必填参数:scheduled_at 时间;如果 Tweet 未包含任何媒体实体,还需提供 Tweet 的 text。此外,该端点还提供一些可选项,允许你通过 as_user_id 参数代表其他 @handle 创建 Scheduled Tweet,并可添加卡片(card_uri)以及媒体(media_ids)。注意,单个 Tweet 只能包含同一类型的实体,即视频、GIF 或图片中的一种。nullcast 参数用于控制该 Tweet 是否为“仅推广”Tweet。所有新创建的 Scheduled Tweet 默认都是“仅推广”(nullcast=true)。如果 nullcast=false,则会创建自然 Scheduled Tweet。 成功创建 Scheduled Tweet 后,响应会包含一个 id 字段,表示该 Scheduled Tweet 本身的唯一标识符。除此之外,还会返回一个名为 tweet_id 的字段。该字段最初为 null,但当 Tweet 发布后,该字段将填入该“已发布”Tweet 的 ID。
twurl -H 'ads-api.x.com' -X POST "/6/accounts/:account_id/scheduled_tweets" -d 'scheduled_at=2017-12-24T23:59:00Z&text=节日快乐!'
这将创建以下预定发布的 Tweet:
{
  "request": {
    "params": {
      "text": "节日快乐!",
      "scheduled_at": "2017-12-24T23:59:00Z"
    }
  },
  "data": {
    "completed_at": null,
    "id_str": "917507899668099072",
    "text": "节日快乐!",
    "user_id": "3271358660",
    "scheduled_status": "SCHEDULED",
    "id": 917507899668099100,
    "nullcast": true,
    "created_at": "2017-10-09T21:51:44Z",
    "scheduled_at": "2017-12-24T23:59:00Z",
    "card_uri": null,
    "updated_at": "2017-10-09T21:51:44Z",
    "tweet_id": null,
    "media_keys": []
  }
}
一旦此 Scheduled Tweet 发布,tweet_id 字段将被填入该“live”Tweet 的 ID。 查看 Scheduled Tweet 随后可使用 GET accounts/:account_id/tweet_previews 端点,结合上一步中的 Scheduled Tweet id 生成该 Tweet 的预览。API 响应将包含一个 iframe URL,可直接用于渲染该 Scheduled Tweet 的预览。相关 CSS 和图像将由 X 直接提供。
twurl -H ads-api.x.com -X GET "/6/accounts/18ce54bgxky/tweet_previews?tweet_type=SCHEDULED&tweet_ids=917507899668099072
{
  "request": {
    "params": {
      "tweet_type": "SCHEDULED",
      "tweet_ids": [
        "917507899668099072"
      ],
      "account_id": "18ce54bgxky"
    }
  },
  "data": [
    {
      "tweet_id": "1126633863155871744",
      "preview": "<\iframe class='tweet-preview' src='https://ton.smf1.x.com/ads-manager/tweet-preview/index.html?data=H4sIAAAAAAAAAK1WTW%2FjNhD9Kyyv9dqSZdmOgALJbhJsCyxaIDkUWBUEJY0lNhSpklRSN%2FV%2F71CyZbm297S%2BWJxPzpt5I71T9wbgaELeaW6AOygYxyN9rlryhW9JcEPmUbKIkuiG%2FBjgj8yD8IZOqChoEobz5TKK1ssojOP1KlwtFl7BrDMY4oIW%2FTatlMzB3z7JZ940W%2FJZS1Hwrf0Btc60Kve3oMmGSwsTWgjbSL7tXJjhqgSafA0mYfzHhIJywgmwNHmnFbeV4yU%2Bf0WN3daZlvtDa8Gw2htrdRCZXrlDU92aHIPStA2CKOekMrD5KaWVc02SztIZps%2Bh0rIAg27TXNcpJQYk2ii90VLqt7R3ht%2B4cQoMeVClUIAPd03Th01nvDfx0ClmoJFYk0aouGst82gqROaKskf03KCr7LLvXnXN02K3QTHFaziovYdH0seL5qswitfLZTBq6FGIRfSe9Lm1FTfkY%2BX%2FFcpPAlNRC7eufdFSY1%2BxASh84oo8YitzYXM9IZ%2FuaNcQ1HjMbQc61l0VXDmYlsJVbTYVGq0KwPCi2cf5tQFFnjR2zyDU6YycwX%2Fr3oRzvfKpwTaSZ8NfQUoU%2FUsetanxAV79VElhHbm1oIrSiILcvvgquqSN0Q7y8Uz2TQdjWa5bhZP8IUShEeh8IvIxkVB7SY%2FyKctaIL%2B0kgQrMp8n0SKJ10eWxZ4t%2FBXHUzg4idu6nOnNxsIQ1Yka2D9aDc0sQTNQPJP%2B2sgqvPUrGLERozL68ToNLRELvBj4VuZaOSOy1mmsdAi2dxaWOeyhlRzVl6TYozMnhHIjJLCM5y%2BlwaweHOn96afg%2FuHhnl60ETUvgR1HpJsQntkptrcuO0bOOhuLg1NBPfyH6Swrpw2W9O24rBu8kwH8DuEdns9Kv1hLc5rsxBaTLcN1HIdhHIVRuFov5wtMXH748vO2%2BP0jUzjFXE7%2FbMa3%2BFZl3z1ZxhWyjv2fwlfy9NaY6LhO0lm4WC3WcRSvlqO4UqiXYT7C%2B7vwcT7SWlFAxg3LtMHNfH2ODnZ4kIPVPRo9jnN1r5eDNup%2BIy2y5GxuDrQqYMNb6dje9or44HOyQYTnWs%2FXXoD7%2Ba8WrGO4hwZuK%2B2Qt%2F32tAPhB%2B4xt238qjVQtpIbuuvIP6wbjfAIhStncO3eZ0f9keMHmYHuo%2BCwFoJ%2BDfktdEF0JPfebbxgct30b%2BdhY%2B51u%2FGm2U2IR7rW%2FbJU%2FdcBfpEchHjwoO52%2FwENmVvErwgAAA%3D%3D'>"
    }
  ]
}
上方显示了新创建的预定 Tweet 的示例视图 将预定 Tweet 关联到一个 line item 虽然预定 Tweets 可用于创建 Organic Tweets,我们也允许合作伙伴创建“仅推广”(nullcast=true)的 Tweet,这两种类型的任意一种都可以与一个 line item 关联。为此,我们还提供了一个 POST accounts/:account_id/scheduled_promoted_tweets 端点。该端点仅允许在一次 API 调用中将单个“预定推广”Tweet 关联到一个 line item。若需将多个预定 Tweets 关联到同一个 line item,需要进行多次 API 调用。 请注意,无法修改现有的预定推广 Tweet。
twurl -H 'ads-api.x.com' -X POST "/6/accounts/:account_id/scheduled_promoted_tweets" -d 'line_item_id=a44qc&scheduled_tweet_id=917507899668099072'
{
  "data": {
    "line_item_id": "a44qc",
    "id": "26576",
    "created_at": "2017-10-09T22:24:16Z",
    "updated_at": "2017-10-09T22:24:16Z",
    "scheduled_tweet_id": "917507899668099072",
    "tweet_id": null,
    "deleted": false
  },
  "request": {
    "params": {
      "line_item_id": "a44qc",
      "scheduled_tweet_id": 917507899668099100,
      "account_id": "aaaaa"
    }
  }
}
此端点仅用于在指定的预定 Tweet 与某个线项之间建立关联。一旦广告系列/线项的投放窗口进入当前周期,该线项将自动开始投放相应的“上线”Tweet。我们会在此步骤验证预定 Tweet 是否处于 SCHEDULED 状态,以及该预定 Tweet 是否符合所设定的投放目标,但不会执行其他验证。适用于线项和预定 Tweet 的其余验证规则会在该 Tweet 实际“上线”时执行。 为确保广告系列正常投放,建议将预定 Tweet 的 scheduled_at 时间设置在广告系列/线项投放期开始之前。 例如,若预定 Tweet 设定在广告系列开始日期之后上线(且仅有一个 Tweet 与一个线项关联),则广告系列的状态将为 ACTIVE,但由于预定 Tweet 尚未上线,将没有可用于投放的创意。 预定 Tweet 管理 其余一组端点允许 API 使用方管理其所有预定 Tweet 和预定推广 Tweet。这些 API 可用于返回所有预定 Tweet 的列表(可按给定状态进行可选筛选),以及通过其 id 查询指定的预定 Tweet。

预定的 Tweet 上线时会发生什么?

当某条预定的 Tweet 即将上线(即到达 scheduled_at 时间)时,将进行以下更新:
  • 会创建“已上线”的 Tweet,但可能会有最长 1 秒的延迟
  • 会将 tweet_id 添加到以下实体:
  • 预定的 Tweet
  • 推广的预定 Tweet
  • 会创建一个新的推广 Tweet 实体

最佳实践

在创建或投放计划发布的 Tweet 时,建议遵循以下最佳实践:
  • 在创建计划发布的 Tweet 时,确保该 Tweet 合规有效(例如,Tweet 只能包含图片、视频或 GIF 三者之一,不能组合使用)
  • 确保广告投放周期(即 start_timeend_time)与该计划发布 Tweet 的 scheduled_at 时间一致
  • 计划发布的 Tweet 的发布时间不应设置为距离当前超过一年(365 天)
  • 目前计划发布的 Tweet 不支持预览(即在创建前预览计划发布的 Tweet 的功能)

媒资库

简介

Media Library 端点用于管理 X Ads 账户中的图片、GIF 和视频。库中的媒体资产可用于 Tweet 和创建卡片,也可在多个创意中复用,从而无需反复上传同一资产。

API 端点

添加到库

将媒体添加到库共分两步。首先,使用 POST media/upload 端点或一组 POST media/upload(分块) 端点上传资产。(有关我们多部分上传流程的详细信息,请参见分块媒体上传指南。)
twurl -X POST -H upload.x.com "/1.1/media/upload.json?additional_owners=756201191646691328" --file latte.jpeg --file-field "media"
{
   "media_id":966947208837742592,
   "media_id_string":"966947208837742592",
   "size":74194,
   "expires_after_secs":86400,
   "image":{
      "image_type":"image/jpeg",
      "w":800,
      "h":418
   }
}
接下来,使用该媒体 ID,通过 POST accounts/:account_id/media_library 端点将媒体添加到广告账户的媒体库。
twurl -X POST -H ads-api.x.com "/9/accounts/18ce54d4x5t/media_library?file_name=latte.jpeg&media_category=TWEET_IMAGE&media_key=966947208837742592&name=Latte"
{
   "request":{
      "params":{
         "name":"Latte",
         "file_name":"latte.jpeg",
         "media_category":"TWEET_IMAGE",
         "account_id":"18ce54d4x5t",
         "media_key":966947208837742592
      }
   },
   "data":{
      "tweeted":false,
      "name":"Latte",
      "file_name":"latte.jpeg",
      "media_url":"https://pbs.twimg.com/media/DWtJXQNUQAAdPZj.jpg",
      "media_category":"TWEET_IMAGE",
      "media_key":"3_966947208837742592",
      "created_at":"2018-02-23T08:05:54Z",
      "media_status":"TRANSCODE_COMPLETED",
      "media_key":"966947208837742592",
      "media_type":"IMAGE",
      "updated_at":"2018-02-23T08:06:17Z",
      "deleted":false
   }
}
注意: 上传完成后直接发布包含图片、GIF 或视频的 Tweet,也会将这些媒体添加到媒体库。

请求参数

所有 Media Library 的 POST 请求都需要一个媒体标识符。该值会在上传步骤中返回。使用 media_id(如上例所示)时,还必须同时指定 media_category。类别共有四种可选取值:AMPLIFY_VIDEO、TWEET_GIF、TWEET_IMAGE 和 TWEET_VIDEO。 可选地,可以为 Media Library 中的对象设置 name 和 file_name 值。这些属性有助于用户在库中区分不同的媒体变体。 对于视频,还可以设置标题和描述。这两个值旨在在调用 POST accounts/:account_id/tweet 端点时,作为 video_title 和 video_description 请求参数传递。在 Tweet 中,这些文本会显示在视频下方。

属性

Media Library 正式引入了 media_key 概念。它是库中对象的唯一标识符。Media key 是如下格式的字符串值:13_875943225764098048。我们的所有卡片端点均完全支持它们。 此外,Media Library 的响应还包含以字符串表示的 media_id。对于当前尚不接受 media key 的资源,会包含该字段:TweetsTweet previewScheduled Tweets。我们正致力于在所有位置支持 media key。 属性 aspect_ratio 会针对 GIF 和视频返回。此属性可用于筛选仅接受特定纵横比的卡片所用媒体。 *这些端点支持 video_id 参数,该参数即为 media key。

用法

在本节中,以下图像将用于一条 Tweet,并用于创建一个网站卡片。
twurl -H ads-api.x.com "/9/accounts/18ce54d4x5t/media_library/3_966947208837742592"
{
   "request":{
      "params":{
         "account_id":"18ce54d4x5t",
         "media_key":"3_966947208837742592"
      }
   },
   "data":{
      "tweeted":false,
      "name":"Latte",
      "file_name":"latte.jpeg",
      "media_url":"https://pbs.twimg.com/media/DWtJXQNUQAAdPZj.jpg",
      "media_category":"TWEET_IMAGE",
      "media_key":"3_966947208837742592",
      "created_at":"2018-02-23T08:05:54Z",
      "media_status":"TRANSCODE_COMPLETED",
      "media_key":"966947208837742592",
      "media_type":"IMAGE",
      "updated_at":"2018-02-23T08:06:17Z",
      "deleted":false
   }
}
Tweet 我们可以通过使用 media_keys 引用图片来创建 Tweet。
twurl -X POST -H ads-api.x.com "/9/accounts/18ce54d4x5t/tweet?text=coffee&media_keys=966947208837742592&as_user_id=756201191646691328&trim_user=true"
{
   "data":{
      "created_at":"Fri Feb 23 08:20:05 +0000 2018",
      "id":966950781302665218,
      "id_str":"966950781302665218",
      "text":"coffee https://t.co/T772Hx5GNT",
      "truncated":false,
      "entities":{
         "hashtags":[

         ],
         "symbols":[

         ],
         "user_mentions":[

         ],
         "urls":[

         ],
         "media":[
            {
               "id":966947208837742592,
               "id_str":"966947208837742592",
               "indices":[
                  7,
                  30
               ],
               "media_url":"http://pbs.twimg.com/media/DWtJXQNUQAAdPZj.jpg",
               "media_url_https":"https://pbs.twimg.com/media/DWtJXQNUQAAdPZj.jpg",
               "url":"https://t.co/T772Hx5GNT",
               "display_url":"pic.x.com/T772Hx5GNT",
               "expanded_url":"https://x.com/apimctestface/status/966950781302665218/photo/1",
               "type":"photo",
               "sizes":{
                  "thumb":{
                     "w":150,
                     "h":150,
                     "resize":"crop"
                  },
                  "large":{
                     "w":800,
                     "h":418,
                     "resize":"fit"
                  },
                  "medium":{
                     "w":800,
                     "h":418,
                     "resize":"fit"
                  },
                  "small":{
                     "w":680,
                     "h":355,
                     "resize":"fit"
                  }
               }
            }
         ]
      },
      "source":"Ads API Internal Test App",
      "in_reply_to_status_id":null,
      "in_reply_to_status_id_str":null,
      "in_reply_to_user_id":null,
      "in_reply_to_user_id_str":null,
      "in_reply_to_screen_name":null,
      "user":{
         "id":756201191646691328,
         "id_str":"756201191646691328"
      },
      "geo":null,
      "coordinates":null,
      "place":null,
      "contributors":[
         2417045708
      ],
      "retweet_count":0,
      "favorite_count":0,
      "favorited":false,
      "retweeted":false,
      "possibly_sensitive":false,
      "scopes":{
         "followers":false
      },
      "lang":"en"
   },
   "request":{
      "params":{
         "as_user_id":756201191646691328,
         "text":"coffee",
         "account_id":"18ce54d4x5t",
         "media_keys":[
            966947208837742592
         ],
         "trim_user":true
      }
   }
}
Website Card 我们的所有卡片端点均支持媒体键。我们将通过引用图像的 media_key 来创建Website Card
twurl -X POST -H ads-api.x.com "/11/accounts/18ce54d4x5t/cards"
{
  "name": "组件创建卡片",
  "components": [
    {
      "type": "MEDIA",
      "media_key": "3_1323490622599176192"
    },
    {
      "type": "BUTTON",
      "label": {
        "type": "ENUM",
        "value": "INSTALL"
      },
      "destination": {
        "type": "APP",
        "country_code": "US",
        "googleplay_app_id": "com.twitter.android"
      }
    }
  ]
}
接着,我们使用其 card_uri 将该卡片与 Tweet 关联。

识别卡片类型

介绍

Cards 是可自定义的广告格式,使用媒体,并且可以与网站、应用或行动号召(CTA)关联,以推动特定用户互动,例如发起 Direct Message。它们可以附加到 Tweets、Scheduled Tweets 或 Draft Tweets。 在 Tweet 对象中,可以通过两种方式引用 Cards:通过卡片的 card_uri 或其 preview_url。以下给出了每种方式的示例值。
card_uripreview_url
card://1043282691834048513https://cards.x.com/cards/18ce54d4x5t/68w3s
注意:自 Ads API 版本 3 起,新创建卡片的 cards 响应中仅生成并返回 card_uri。 注意:自 Ads API 版本 5 起,cards 响应中不再返回 preview_url。 Tweet 对象响应中包含的引用类型取决于 Tweet 的创建方式。也就是说,如果使用 card_uri 请求参数创建 Tweet,响应中会出现该卡片的 URI 值。相反,如果在 Tweet 文本中包含了 preview_url,则响应中会出现该预览 URL。

使用 card_uri 识别 Tweet

对于使用卡片 URI 值创建的 Tweet,请在 card_uri 响应属性中查找对该卡片的引用。下面的示例响应使用 GET accounts/:account_id/tweets 端点。
$ twurl -H ads-api.x.com "/9/accounts/18ce54d4x5t/tweets?trim_user=true&tweet_type=PUBLISHED&tweet_ids=1043551275923591168"
{
  "request": {
    "params": {
      "tweet_ids": [
        "1043551275923591168"
      ],
      "tweet_type": "PUBLISHED",
      "trim_user": true,
      "account_id": "18ce54d4x5t"
    }
  },
  "next_cursor": null,
  "data": [
    {
      "coordinates": null,
      "retweeted": false,
      "source": "Ads API 内部测试应用",
      "entities": {
        "hashtags": [],
        "symbols": [],
        "user_mentions": [],
        "urls": []
      },
      "display_text_range": [
        0,
        15
      ],
      "favorite_count": 0,
      "in_reply_to_status_id_str": null,
      "geo": null,
      "id_str": "1043551275923591168",
      "scopes": {
        "followers": false
      },
      "in_reply_to_user_id": null,
      "truncated": false,
      "retweet_count": 0,
      "scheduled_status": null,
      "id": 1043551275923591168,
      "in_reply_to_status_id": null,
      "nullcast": true,
      "created_at": "Sat Sep 22 17:23:07 +0000 2018",
      "place": null,
      "scheduled_at": null,
      "tweet_type": "PUBLISHED",
      "favorited": false,
      "card_uri": "card://1043282691834048513",
      "full_text": "跟踪卡片",
      "lang": "en",
      "contributors": [
        2417045708
      ],
      "in_reply_to_screen_name": null,
      "in_reply_to_user_id_str": null,
      "user": {
        "id": 756201191646691328,
        "id_str": "756201191646691328"
      },
      "tweet_id": "1043551275923591168"
    }
  ]
}
如果使用 Standard API,请在请求中添加 include_card_uri=true。 无论调用哪个 endpoint,只有当 Tweet 是通过 card URI 创建时,才会返回并呈现 card_uri 响应属性。 对于已计划发送和草稿状态的 Tweet 对象,响应将始终包含 card_uri 响应属性。

使用 preview_url 识别 Tweet

对于在 Tweet 文本中包含预览 URL 创建的 Tweet,可在 entities[“urls”][i][“expanded_url”] 中找到该 URL(text 字段包含缩短的 t.co URL),其中 i 为数组索引(一个 Tweet 可以包含多个 URL)。 对于已安排发布和草稿的 Tweet 对象,预览 URL 将始终出现在 text 字段中。

获取卡片

要检索特定卡片的更多信息,我们提供两个端点:GET accounts/:account_id/cards/allGET accounts/:account_id/cards/all/:card_id。前者可通过 card_uri 获取卡片,后者则可通过卡片的 ID 获取。卡片的 ID 位于 preview_url 的末尾。在上述示例中,ID 为 68w3s。

媒体识别

简介

可以将媒体(图片、GIF 和视频)添加到 Tweet 和卡片中。此外,视频可用作前贴片素材,图片可在 X Audience Platform 上进行推广。本节说明如何在这些实体中定位媒体引用。 媒体标识符有两种类型:ID 和 key。下面给出了每种类型的示例值。
媒体 ID媒体 key
102982557953180797113_1029825579531807971
媒体 key 由 ID 加上数字前缀和下划线组成。

图像

下表展示了当前各类与图像相关的资源在响应中可用的标识符类型及相应的属性名称。
资源标识符属性
Image cards
Tweet两者皆有entities["media"]["id_str"] entities["media"]["media_key"]
Scheduled Tweet两者皆有media_ids and media_keys
Draft Tweet两者皆有media_ids and media_keys
Account Media
Media Library两者皆有media_id and media_key
Image cards 和 Account Media 的图像不包含对任何媒体标识符的引用。Tweets 仅包含媒体 ID。Scheduled 和 Draft Tweets 同时包含媒体 ID 和媒体 key。Media Library 也同时返回二者。 对于 Tweets,entities[“media”] 数组中对象的 id 和 id_str 字段对应媒体 ID。在一个 Tweet 包含多张图片的情况下,对每个媒体实体的引用只能在 extended_entities[“media”] 中找到。 除了标识符引用之外,通常还需要获取图像的 URL。
资源属性格式
Image cardsimage.jpg
Tweet*entities["media"][0]["media_url"] or extended_entities["media"][i]["media_url"].jpg
Scheduled Tweet
Draft Tweet
Account Mediamedia_url.jpg
Media Librarymedia_url.jpg
  • 此 URL 的位置取决于 Tweet 是否包含单张或多张图片。
所有 Image cards 都包含一个名为 image 的响应属性,其中包含 X 的图像 URL。(对于 image app download cards,属性名为 wide_app_image。) 对于 Tweets,媒体 URL 的位置取决于媒体类型以及所使用的端点。对于仅包含单张图片的 Tweets,URL 位于 entities[“media”][0][“media_url”]。这对 Ads API 和 Standard API 均适用。然而,当 Tweets 包含多张图片时,URL 只能在 extended_entities[“media”][i][“media_url”] 中找到。此位置仅在 Standard API 中可用。

视频

下表显示了当前每个与视频相关的资源响应中可用的标识符类型及其对应的属性名称。
资源标识符属性
视频卡片可能为任一类型video_content_id
含投票的视频卡片
Tweet两者皆有entities["media"]["id_str"] entities["media"]["media_key"]
预定的 Tweet两者皆有media_idsmedia_keys
草稿 Tweet两者皆有media_idsmedia_keys
账户媒体Media keyvideo_id
媒体库两者皆有media_idmedia_key
尽管视频卡片(含视频的投票卡片除外)包含一个 video_content_id 响应属性,但其返回值类型并不一致:有些情况下是 media ID,其他情况下是 media key。 以下是访问视频 URL 的方式。
资源属性格式
视频卡片video_urlvideo_hls_url.vmap .m3u8
含视频的 Tweetextended_entities["media"][i]["video_info"]["variants"][j]["url"].mp4
预定的 Tweet
草稿 Tweet
账户媒体
媒体库media_url.mp4
视频卡片包含 video_urlvideo_hls_url 响应属性,分别提供 .vmap 和 .m3u8 的 URL。

媒体库

有时需要获取媒体资产的更多信息。一个常见场景是:对于视频卡片,需要获取 mp4 URL 而不是 vmap。这类信息可在媒体库中找到。有关可用信息的详细说明,请参阅我们的媒体库指南。属于广告账户的 FULL 可推广用户的大多数资产都可在媒体库中找到,但也有一些例外。 获取媒体 如上所述,图片卡片不包含对 media ID 或 media key 的引用。因此,无法通过媒体库获取其资产。Account Media 中的图片同样如此。 视频卡片要求在创建之前,视频资产必须已加入媒体库(或其前身 Videos 资源)。因此,这些资产始终可以在媒体库中检索。Account Media 的 PREROLL 资产亦是如此。 最后,Tweet 中的媒体始终保证在媒体库中存在。 下表总结了哪些资产可在媒体库中检索,并说明资源响应是否包含可用于查询的标识符。
资源是否在媒体库中
图片卡片
视频卡片是*
Tweets(任意媒体)**
计划发送的 Tweets
草稿 Tweets
Account Media 图片
Account Media 视频(PREROLL
  • 适用于其 video_content_id 为 media key 的卡片。若该值为 media ID,资产仍存在于媒体库中,但检索时需要在其前添加数字前缀和下划线。 ** Tweets 仅返回 media ID。虽然资产保证存在于媒体库中,但获取时需要在其前添加数字前缀和下划线。
与 Account Media 的交互 在以下两种情况下,添加到媒体库的媒体资产会自动添加到 Account Media 资源中。
  • 当 AMPLIFY_VIDEO 资产添加到媒体库时,会作为 PREROLL 创意类型自动添加为 Account Media 资产。
  • 当具有特定尺寸的图片(参见我们枚举页面中的“Creative Types”)被添加到媒体库时,会自动添加为 Account Media 资产。创意类型(如 INTERSTITIAL)取决于图片尺寸。

Tweets

简介

X Ads API 支持三种类型的 Tweet:已发布、已排程和草稿。

Nullcasted 推文

推文可以是 nullcasted(亦称“仅推广”)或自然推文。Nullcasted 推文发布后不会出现在用户的公开时间线中,但仍为公开内容。相对地,自然推文会分发给用户的关注者,并显示在用户的公开时间线中。 创建推文 三个 Tweet 创建端点均支持一个布尔型 nullcast 参数,供 API 使用者选择创建 nullcasted 或自然推文。Nullcasted 推文可以由用户本人创建,或由任何获授权代表该用户创建推文的人创建。自然推文只能由完全可推广用户创建。 更新推文 可更新已排程和草稿推文的 nullcast 属性。对于已排程的推文,可在该推文的 scheduled_at 时间之前进行编辑。草稿推文可不限期编辑。但一旦发布,就无法在 nullcasted 与自然之间相互更改该推文的属性。

推广 Tweet

只有已发布和已排期的 Tweet 可以推广。这些内容可以是 nullcasted 或 organic;没有限制。广告主可以推广自己的 Tweet,也可以在获得许可的情况下推广其他用户的 Tweet。(参见:Promoting another user’s Tweets 以了解更多信息。) 在单个广告系列中可以推广多个 Tweet。同样,一个 Tweet 也可以在一个或多个广告系列中推广。 要推广已发布的 Tweet,请使用 POST accounts/:account_id/promoted_tweets 端点。这会将已发布的 Tweet 关联到一个 line item。要推广已排期的 Tweet,请使用 POST accounts/:account_id/scheduled_promoted_tweets 端点

Tweet ID

已发布、已排期和草稿 Tweet 的 ID 为数字——它们是 64 位无符号整数。例如,下面这条已发布 Tweet 的 ID 为 1166476031668015104。 当已发布或已排期的 Tweet 被推广时,会创建一个对应的推广 Tweet 实体。该实体有其自身的 ID,为字母数字组合,并以 base-36 编码表示。例如,将上述已发布的 Tweet 推广——即将其与明细项 6c62d 关联——会返回如下 API 响应。
$ twurl -X POST -H ads-api.x.com "/9/accounts/18ce54d4x5t/promoted_tweets?line_item_id=6c62d&tweet_ids=1166476031668015104"
{
  "request": {
    "params": {
      "tweet_ids": [
        1166476031668015104
      ],
      "line_item_id": "6c62d",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": [
    {
      "line_item_id": "6c62d",
      "id": "3qwlq6",
      "entity_status": "ACTIVE",
      "created_at": "2019-09-12T21:39:10Z",
      "updated_at": "2019-09-12T21:39:10Z",
      "approval_status": "ACCEPTED",
      "tweet_id": "1166476031668015104",
      "deleted": false
    }
  ],
  "total_count": 1
}
除了在创建请求中传入的 Tweet ID 和 line item ID 之外,响应还包含一个值为 3qw1q6 的 id 字段,该字段表示被推广的 Tweet 的 ID。

轮播

介绍

X Ads API 支持创建和获取视频轮播和图片轮播。轮播是一种卡片类型,可包含 2 到 6 个媒体素材。轮播卡片可以将用户引导至网站,或引导其安装移动应用。有关轮播、其优势、最佳实践和常见问题的更多信息,请参阅我们的 Carousel Ads on X 页面。 与其他卡片类型一样,轮播可以用于 Tweet,这些 Tweet 随后可以被推广。工作流程与您已熟悉的相同:
  1. 上传媒体
  2. 创建卡片
  3. 创建 Tweet
  4. 推广 Tweet
唯一的区别在于卡片的创建方式。其他卡片创建请求可以使用查询参数,而轮播卡片创建请求仅接受 JSON 格式的 POST 请求体。

端点

Ads API 支持创建和获取轮播卡片。 要创建任意类型的轮播卡片,请使用 POST accounts/:account_id/cards 端点。要获取轮播卡片,请使用 GET accounts/:account_id/cards 端点。

JSON POST 正文

轮播由两个组件构成:第一个用于指定要使用的媒体资源,第二个用于指定网站或应用的信息。 具体来说,轮播卡片按以下顺序由这些组件构成:
  • 一个 SWIPEABLE_MEDIA 组件,接受一个媒体键数组
  • 以下二选一:
  • 一个 DETAILS 组件,用于指定网站信息
  • 一个 BUTTON 组件,用于指定应用信息
SWIPEABLE_MEDIA 组件必须包含一个 media_keys 数组,可在其中指定 2 到 6 张图片或视频。传入媒体键的顺序将决定它们的渲染顺序。
{
  "type": "SWIPEABLE_MEDIA",
  "media_keys": [
    "13_1089771253848666112",
    "13_1191948012077092867"
  ]
}
提醒:您可以通过调用 GET accounts/:account_id/media_library 端点来获取媒体 key。 第二个组件对象的构成取决于您是希望将用户引导至网站,还是鼓励他们安装应用。下表总结了这两种选项。(注意:所列出的所有键均为必填。)
网站应用
指定组件类型"type": "DETAILS""type": "BUTTON"
标题/标签"title": "X""label": { "type": "ENUM", "value": "INSTALL" }
目标"destination": { "type": "WEBSITE", "url": "https://www.x.com" }"destination": { "type": "APP", ... }
将上述内容整合后,下面给出一个网站轮播的 JSON POST 请求体示例。
{
  "name": "网站轮播图",
  "components": [
    {
      "type": "SWIPEABLE_MEDIA",
      "media_keys": [
        "13_1089771253848666112",
        "13_1191948012077092867"
      ]
    },
    {
      "type": "DETAILS",
      "title": "X",
      "destination": {
        "type": "WEBSITE",
        "url": "https://www.x.com"
      }
    }
  ]
}
BUTTON 组件中的应用(App)目标对象需要提供国家/地区代码以及至少一个应用标识符;还可以选填深度链接。有关这些字段的说明,请参阅参考文档 综合以上要求,下面给出一个应用轮播的 JSON POST 请求体示例。
{
  "name": "应用轮播",
  "components": [
    {
      "type": "SWIPEABLE_MEDIA",
      "media_keys": [
        "13_1089771253848666112",
        "13_1191948012077092867"
      ]
    },
    {
      "type": "BUTTON",
      "label": {
        "type": "ENUM",
        "value": "INSTALL"
      },
      "destination": {
        "type": "APP",
        "country_code": "US",
        "googleplay_app_id": "com.twitter.android",
        "iphone_app_id": "333903271"
      }
    }
  ]
}

示例

本节演示如何创建视频网站轮播卡片,以及如何在 Tweet 中使用它。如上所述,工作流程与您已熟悉的相同:上传媒体、创建卡片、发布 Tweet。唯一的区别在于卡片的创建方式。 媒体 首先,上传新的媒体资产或使用现有资产。有关如何上传新的媒体资产并将其添加到 Media Library 的详细信息,请参阅我们的 Media Library 指南 当您的媒体资产添加到 Media Library 后,使用 GET accounts/:account_id/media_library 端点进行获取。使用 media_type 请求参数将结果限定为特定媒体类型。
$ twurl -H ads-api.x.com "/10/accounts/18ce54d4x5t/media_library?media_type=VIDEO"
{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "media_type": "VIDEO"
    }
  },
  "next_cursor": null,
  "data": [
    {
      "tweeted": true,
      "duration": 5283,
      "name": "Sunrise",
      "file_name": "sunrise.mp4",
      "description": null,
      "media_url": "https://video.twimg.com/amplify_video/1089771253848666112/vid/1280x720/tyL-pUBP7GgkS9bl.mp4?tag=9",
      "poster_media_key": "3_1089771253848666112",
      "media_key": "13_1089771253848666112",
      "created_at": "2019-01-28T06:24:48Z",
      "media_status": "TRANSCODE_COMPLETED",
      "poster_media_url": "https://pbs.twimg.com/amplify_video_thumb/1089771253848666112/img/WOYvToSRZFXUSDzd.jpg",
      "title": null,
      "media_type": "VIDEO",
      "aspect_ratio": "16:9",
      "updated_at": "2019-08-23T19:05:33Z",
      "deleted": false
    },
    {
      "tweeted": true,
      "duration": 15248,
      "name": "snow",
      "file_name": "snow.mp4",
      "description": "Two, three, and to the four",
      "media_url": "https://video.twimg.com/amplify_video/1191948012077092867/vid/1280x720/2cOvadcctqqea6Hx.mp4?tag=13",
      "poster_media_key": "3_1191948012077092867",
      "media_key": "13_1191948012077092867",
      "created_at": "2019-11-06T05:18:46Z",
      "media_status": "TRANSCODE_COMPLETED",
      "poster_media_url": "https://pbs.twimg.com/amplify_video_thumb/1191948012077092867/img/IUbhTRd62SEeIVTf.jpg",
      "title": "One",
      "media_type": "VIDEO",
      "aspect_ratio": "16:9",
      "updated_at": "2020-03-27T22:23:18Z",
      "deleted": false
    }
  ]
}
创建轮播 使用 POST accounts/:account_id/cards 端点创建轮播。使用上一个请求返回的 media key。请注意,传入 media key 的顺序将决定它们的渲染顺序。
$ twurl -A "Content-Type: application/json" -X POST -H ads-api.x.com "/10/accounts/18ce54d4x5t/cards" -d '{"name":"网站轮播图","components":[{"type": "SWIPEABLE_MEDIA","media_keys":["13_1089771253848666112","13_1191948012077092867"]},{"type": "DETAILS","title": "X","destination":{"type":"WEBSITE", "url":"https://www.x.com"}}]}'
{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
    "name": "网站轮播图",
    "components": [
      {
        "type": "SWIPEABLE_MEDIA",
        "media_keys": [
          "13_1089771253848666112",
          "13_1191948012077092867"
        ]
      },
      {
        "type": "DETAILS",
        "title": "X",
        "destination": {
          "type": "WEBSITE",
          "url": "https://www.x.com/",
          "tco_url": "https://t.co/dyTMHWKWZb"
        }
      }
    ],
    "id": "ars7m",
    "created_at": "2020-11-11T07:51:47Z",
    "card_uri": "card://1326432421105995776",
    "updated_at": "2020-11-11T07:51:47Z",
    "deleted": false,
    "card_type": "UNIFIED"
  }
}
请注意,与其他卡片类似,轮播卡片的响应会包含一个 card_uri,创建 Tweet 时将会用到该值。 Tweet 使用 POST accounts/:account_id/tweet 端点创建你的 Tweet,并使用上一个请求返回的 card_uri。(为便于阅读,响应已截断。)
$ twurl -H ads-api.x.com "/9/accounts/18ce54d4x5t/tweet_previews?tweet_type=PUBLISHED&tweet_ids=1326434098324385792"
{
  "data": {
    "created_at": "Wed Nov 11 07:58:27 +0000 2020",
    "id": 1326434098324385792,
    "id_str": "1326434098324385792",
    "text": "滑动",
    "truncated": false,
    "entities": {
      "hashtags": [],
      "symbols": [],
      "user_mentions": [],
      "urls": []
    },
    "source": "Ads API 内部测试应用",
    "in_reply_to_status_id": null,
    "in_reply_to_status_id_str": null,
    "in_reply_to_user_id": null,
    "in_reply_to_user_id_str": null,
    "in_reply_to_screen_name": null,
    "user": {
      "id": 756201191646691300,
      "id_str": "756201191646691328",
      ...
    },
    "geo": null,
    "coordinates": null,
    "place": null,
    "contributors": [
      2417045708
    ],
    "retweet_count": 0,
    "favorite_count": 0,
    "favorited": false,
    "retweeted": false,
    "possibly_sensitive": false,
    "scopes": {
      "followers": false
    },
    "lang": "en"
  },
  "request": {
    "params": {
      "text": "滑动",
      "as_user_id": 756201191646691300,
      "card_uri": "card://1326432421105995776",
      "account_id": "18ce54d4x5t"
    }
  }
}
Tweet 预览 使用 GET accounts/:account_id/tweet_previews 端点以查看您的 Tweet。

创意元数据标注

介绍

本指南面向创意合作伙伴、代理商和创意开发者,旨在为 X 推广活动中的素材添加标签,以更好地了解单个素材的价值和表现。 注意: 媒体素材只能由其创建该媒体素材的合作伙伴或开发者进行标注。若媒体素材的使用者并非其创作者,请勿实施元数据标记。 Creative Metadata Tagging 可为由 Creative Partners 创建的图像和视频提供归因,无论素材被上传到 X 的何处、或由何主体上传。为在创意素材与创意合作伙伴之间建立关联,我们采用 XMP 标准。

标记创意素材

下表显示了当前在每个与图像相关的资源响应中可用的标识符类型及其对应的属性名称。为创意素材添加标签需要使用标注工具。推荐使用 ExifTool,它是一款跨平台的 Perl 库及其命令行应用,用于读取、写入和编辑元信息。查看其支持的所有文件类型 请按照提供的ExifTool 安装说明进行安装。Homebrew 也提供了软件包,通过为 macOS 和 Linux 提供 exiftool 安装命令以进一步简化安装。你可以在命令行输入 exiftool -ver 返回工具的版本号,以确认安装成功。在 ExifTool 文档中了解更多命令参数。 创意合作伙伴可以在新的或现有的创意素材上,将其 X 应用 id 写入 contributor XMP 标签和 date 标签。创意素材在上传媒体时将遵循现有的大小限制。 注意: X 对 contributor XMP 标签的使用可确保元数据仅用于 X 上的广告活动。 exiftool -contributor="<YOUR APP ID>" -creative_file.jpg exiftool -date="<date>" -creative_file.jpg 应用 id 可在开发者门户的 Projects & Apps 下找到。示例:16489123 以下示例为一张图片添加应用 id 作为 contributor 标签,以及 date 作为 date 标签:
app_id:858382169
日期:2022-03-13
creative_file: eiffel_tower.jpg
exiftool -contributor=858382169 eiffel_tower.jpg
   已更新 1 个图片文件
exiftool -date=2022-03-13 eiffel_tower.jpg
  已更新 1 个图片文件
验证你的图像是否已正确添加标记: exiftool -xmp:all -G1 <filename> 示例: exiftool -xmp:all -G1 eiffel_tower.jpg
[XMP]        XMP Toolkit            : Image::ExifTool 12.30
[XMP]        Contributor            : 858382169
[XMP]        日期                   : 2022:03:13

有疑问?

如果您想确认标记和归因是否正确,请将已打标的示例素材发送至 adsapi-program@x.com,以便 X 的代表进行审核。

API 参考文档

账号媒体

GET accounts/:account_id/account_media

获取与当前账户关联的部分或全部账户媒体的详细信息。

资源网址

https://ads-api.x.com/12/accounts/:account_id/account_media

参数

名称描述
account_id 必填被使用的账户标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
account_media_ids 可选通过指定以逗号分隔的标识符列表,仅返回所需的账户媒体。最多可提供 200 个 ID。 类型:string 示例:3wpx
count 可选指定每个请求尝试检索的记录数。 类型:int 默认值:200 最小值/最大值:1/1000
creative_types 可选仅返回匹配指定创意类型的账户媒体。可通过逗号分隔的枚举值指定多个创意类型。 类型:enum 可能的取值:BANNERBANNER_TABLETINTERSTITIALINTERSTITIAL_LANDSCAPEINTERSTITIAL_LANDSCAPE_TABLETINTERSTITIAL_TABLETMEDIUM_RECTANGLEPREROLLVAST_PREROLL
cursor 可选指定用于获取下一页结果的游标。详见 Pagination。 类型:string 示例:8x7v00oow
sort_by 可选按受支持的属性进行升序或降序排序。详见 Sorting。 类型:string 示例:created_at-asc
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse
with_total_count 可选包含 total_count 响应属性。 注意:此参数与 cursor 互斥。注意:包含 total_count 的请求将有较低的速率限制,目前为每 15 分钟 200 次。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media?account_media_ids=3wpx

示例响应

{
  "request": {
    "params": {
      "account_media_ids": [
        "3wpx"
      ],
      "account_id": "18ce54d4x5t"
    }
  },
  "next_cursor": null,
  "data": [
    {
      "video_id": "13_771791717175468032",
      "media_url": null,
      "creative_type": "PREROLL",
      "id": "3wpx",
      "created_at": "2016-09-02T19:27:52Z",
      "updated_at": "2016-09-02T19:27:52Z",
      "deleted": false
    }
  ]
}
获取与当前账户关联的特定账户媒体对象。

资源网址

https://ads-api.x.com/12/accounts/:account_id/account_media/:account_media_id

参数

名称说明
account_id 必填该杠杆账户的标识符。出现在资源路径中,且通常是除 GET accounts 外所有 Advertiser API 请求的必填参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
account_media_id 必填本次请求中所操作的账户媒体的引用。 类型:string 示例:2pnfd
with_deleted 可选在响应中包含已删除的结果。 类型:boolean 默认:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media/2pnfd

示例响应

{
  "request": {
    "params": {
      "account_media_id": "2pnfd",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
    "video_id": null,
    "media_url": "https://pbs.twimg.com/ad_img/890749735862026242/Up07zMym?format=jpg&name=orig",
    "creative_type": "INTERSTITIAL_LANDSCAPE_TABLET",
    "id": "2pnfd",
    "created_at": "2017-07-28T01:44:41Z",
    "updated_at": "2017-07-28T01:44:41Z",
    "deleted": false
  }
}
删除当前账户名下的指定账户媒体对象。

资源网址

https://ads-api.x.com/12/accounts/:account_id/account_media/:account_media_id

参数

名称描述
account_id 必填目标账号的标识符。该参数出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必填参数。指定的账号必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
account_media_id 必填本次请求中所操作的账号媒体资源引用。 类型:string 示例:2pnfd

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media/2pnfd

示例响应

{
  "data": {
    "video_id": null,
    "media_url": "https://pbs.twimg.com/ad_img/890749735862026242/Up07zMym?format=jpg&name=orig",
    "creative_type": "INTERSTITIAL_LANDSCAPE_TABLET",
    "id": "2pnfd",
    "created_at": "2017-07-28T01:44:41Z",
    "updated_at": "2017-08-25T17:16:26Z",
    "deleted": true
  },
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "account_media_id": "2pnfd"
    }
  }
}

卡片

注意:要将卡片与 Tweet 关联,请在以下任一端点中使用 card_uri 参数:POST accounts/:account_id/tweetPOST statuses/updatePOST accounts/:account_id/scheduled_tweetsPOST accounts/:account_id/draft_tweets 获取与当前账户关联的部分或全部卡片的详细信息。 注意:仅返回通过 POST accounts/:account_id/cards 端点创建的卡片。通过其他端点创建的卡片不会返回。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards

参数

名称说明
account_id 必填所使用账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型: string 示例: 18ce54d4x5t
card_types 可选通过指定以逗号分隔的枚举值列表,将响应限定为所需的卡片类型。 类型: enum 可能的取值: IMAGE_APP, IMAGE_CAROUSEL_APP, IMAGE_CAROUSEL_WEBSITE, IMAGE_MULTI_DEST_CAROUSEL_WEBSITE, IMAGE_WEBSITE, MIXED_MEDIA_MULTI_DEST_CAROUSEL_WEBSITE, MIXED_MEDIA_SINGLE_DEST_CAROUSEL_APP, MIXED_MEDIA_SINGLE_DEST_CAROUSEL_WEBSITE, VIDEO_APP, VIDEO_CAROUSEL_APP, VIDEO_CAROUSEL_WEBSITE, VIDEO_MULTI_DEST_CAROUSEL_WEBSITE, VIDEO_WEBSITE
card_id 可选通过指定以逗号分隔的标识符列表,将响应限定为所需的卡片。最多可提供 200 个卡片 ID。 类型: string 示例: 1044294149527166979,1044301099031658496
card_uris 可选通过指定以逗号分隔的标识符列表,将响应限定为所需的卡片。最多可提供 200 个卡片 URI 值。 类型: string 示例: card://1044294149527166979,card://1044301099031658496
count 可选指定每次请求尝试检索的记录数。 类型: int 默认值: 100 最小/最大值: 1200
cursor 可选指定用于获取下一页结果的游标。更多信息参见 分页。 类型: string 示例: 8x7v00oow
include_legacy_cards 可选在响应中包含旧版网站卡和应用卡。旧版卡片是指其资源 URL 符合以下格式:accounts/:account_id/cards/:card_type。更多背景信息参见此开发者论坛帖子。 类型: boolean 默认值: false 可能的取值: true, false
q 可选可选查询,用于按 name 限定卡片。省略此参数以检索全部。最大长度:80 个字符。注意:执行不区分大小写的前缀匹配。 类型: string 示例: dtc
sort_by 可选按支持的属性进行升序或降序排序。更多信息参见排序。 类型: string 示例: created_at-asc
with_deleted 可选在请求中包含已删除的结果。 类型: boolean 默认值: false 可能的取值: true, false

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards?count=1

示例响应示例

{
  "request": {
    "params": {
      "count": 1,
      "account_id": "18ce54d4x5t"
    }
  },
  "next_cursor": "8wzvldqtc",
  "data": [
    {
      "name": "deep link",
      "components": [
        {
          "type": "SWIPEABLE_MEDIA",
          "media_keys": [
            "3_1073727809120419840",
            "3_1075096386931052545"
          ]
        },
        {
          "type": "BUTTON",
          "label": {
            "type": "ENUM",
            "value": "OPEN"
          },
          "destination": {
            "type": "APP",
            "country_code": "US",
            "googleplay_app_id": "com.twitter.android",
            "googleplay_deep_link": "twitter://user?screen_name=apimctestface"
          }
        }
      ],
      "created_at": "2020-10-28T20:47:52Z",
      "card_uri": "card://1321554298900107264",
      "id": "1321554298900107264",
      "updated_at": "2020-10-28T20:47:52Z",
      "deleted": false,
      "card_type": "IMAGE_CAROUSEL_APP"
    }
  ]
}
获取与当前账户关联的单张卡片的详细信息。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/:card_id

参数

名称描述
account_id 必填杠杆账户的标识符。该参数出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必填参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
card_id 必填卡片的 id。 类型:string 示例:1044294149527166979
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264

示例响应

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "card_id": "1321554298900107264"
    }
  },
  "data": [
    {
      "name": "deep link",
      "components": [
        {
          "type": "SWIPEABLE_MEDIA",
          "media_keys": [
            "3_1073727809120419840",
            "3_1075096386931052545"
          ]
        },
        {
          "type": "BUTTON",
          "label": {
            "type": "ENUM",
            "value": "OPEN"
          },
          "destination": {
            "type": "APP",
            "country_code": "US",
            "googleplay_app_id": "com.twitter.android",
            "googleplay_deep_link": "twitter://user?screen_name=apimctestface"
          }
        }
      ],
      "created_at": "2020-10-28T20:47:52Z",
      "card_uri": "card://1321554298900107264",
      "id": "1321554298900107264",
      "updated_at": "2020-10-28T20:47:52Z",
      "deleted": false,
      "card_type": "IMAGE_CAROUSEL_APP"
    }
  ]
}

POST accounts/:account_id/cards

创建与指定账户关联的新卡片。 卡片创建请求只接受 JSON 格式的 POST 请求体。Content-Type 必须设置为 application/json 有关详细用法示例,请参阅我们的轮播指南

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards

参数

JSON POST 请求体必须包含卡片的 name 和一个 components 数组。组件以对象形式表示,用于描述面向广告主的卡片属性。 下面的示例展示了有效负载的一般结构(但包含不可用的信息)。
{
  "name": "某个名称",
  "components": [
    {
      "type": "TYPE_ENUM",
      "key": "值"
    }
  ]
}
下面是组件的补充信息。
NameDescription
account_id required被利用账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求所需的参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
name required卡片名称。最大长度:80 个字符。 类型:string 示例:component based card
components sometimes required用于创建卡片的组件说明。详见下文。不能与 slides 同时指定。 注意:组件的顺序很重要。 类型:array of objects
slides sometimes required使用此二维数组创建 Multi-Destination Carousel。将每张卡片描述为组件的分组。每个幻灯片都应完整呈现一张卡片。不能与 components 同时指定。 注意:每个幻灯片的顺序很重要。 类型:array of array

组件

每个组件必须包含一个 type 字段,用于确定对象的模式(schema)。Ads API 支持以下组件类型,分为媒体类组件和描述类组件。
  • 媒体:
  • MEDIA:单个视频或图片
  • SWIPEABLE_MEDIA:2 至 6 个视频或图片
  • 描述:
  • DETAILS
  • BUTTON
每个组件都有一组必填字段(除 type 键之外)。如下表所示。
组件 type字段值类型
MEDIAmedia_keystring
SWIPEABLE_MEDIAmedia_keysarray of strings
DETAILStitle destinationstring object
BUTTONlabel destinationobject object
下面是在 components 数组中的一个 BUTTON 组件示例(有意省略 name 键)。(省略号表示还需提供更多信息的地方。)
{
  "components": [
    {
      "type": "BUTTON",
      "label": {
        ...
      },
      "destination": {
        ...
      }
    }
  ]
}
指定组件对象的顺序决定了它们自上而下的渲染顺序。卡片必须由一个媒体类组件配合 DETAILSBUTTON 组件创建。描述类组件渲染在媒体下方,并带有目标链接,既可以是 URL,也可以是移动应用。 标签 标签定义按钮上显示的文本,因此仅适用于 BUTTON 组件。标签对象有两个必填键:typevaluetype 必须设置为 ENUMvalue 可以是以下之一:BOOKCONNECTINSTALLOPENORDERPLAYSHOP 在前述示例基础上,下面展示了 BUTTON 组件中的 label 对象。
{
  "components": [
    {
      "type": "BUTTON",
      "label": {
        "type": "ENUM",
        "value": "INSTALL"
      },
      "destination": {
        ...
      }
    }
  ]
}
目标页面 目标页面指广告主希望将用户引导至的地点。它在 DETAILSBUTTON 组件中始终为必填项。目标页面类型有两种:WEBSITEAPP 注意:网站目标仅可与 DETAILS 组件搭配使用,应用目标仅可与 BUTTON 组件搭配使用。 网站目标
NameDescription
type required目标类型,用于确定其模式。 类型:enum 可能的取值:WEBSITE
url required将用户重定向至的网站 URL。 类型:string 示例:https://devcommunity.x.com/c/advertiser-api
应用目标
NameDescription
type required目标类型,用于确定其模式。 类型:enum 可能的取值:APP
country_code required应用销售所在国家/地区的 ISO 3166-1 alpha-2 双字母代码。 类型:string 示例:US
googleplay_app_id sometimes requiredGoogle Play 应用包名。 注意:以下字段至少需提供一项:ios_app_store_identifiergoogleplay_app_id。 类型:string 示例:com.twitter.android
ios_app_store_identifier sometimes requirediOS App Store 标识符。 注意:以下字段至少需提供一项:ios_app_store_identifiergoogleplay_app_id。 类型:string 示例:333903271
googleplay_deep_link optional通往所推广 Android 应用的深度链接。 注意:仅在已提供 googleplay_app_id 时可用。 类型:string
ios_deep_link optional通往所推广 iOS 应用的深度链接。 注意:仅在已提供 ios_app_store_identifier 时可用。 类型:string

示例请求

POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards
{
  "name": "组件创建卡片",
  "components": [
    {
      "type": "MEDIA",
      "media_key": "3_1323490622599176192"
    },
    {
      "type": "BUTTON",
      "label": {
        "type": "ENUM",
        "value": "INSTALL"
      },
      "destination": {
        "type": "应用",
        "country_code": "US",
        "googleplay_app_id": "com.twitter.android"
      }
    }
  ]
}

示例回复

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
    "name": "组件创建卡片",
    "components": [
      {
        "type": "MEDIA",
        "media_key": "3_1323490622599176192"
      },
      {
        "type": "BUTTON",
        "label": {
          "type": "ENUM",
          "value": "安装"
        },
        "destination": {
          "type": "APP",
          "country_code": "US",
          "googleplay_app_id": "com.twitter.android"
        }
      }
    ],
    "created_at": "2020-11-11T05:42:25Z",
    "card_uri": "card://1326399865065238531",
    "id": "1321554298900107264",
    "updated_at": "2020-11-11T05:42:25Z",
    "deleted": false,
    "card_type": "IMAGE_APP"
  }
}
更新与当前账号关联的指定对象。 卡片编辑请求仅接受 JSON 格式的 POST 请求体。Content-Type 必须设置为 application/json

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/1321554298900107264

参数

JSON POST 请求正文必须包含将要更新的参数。该请求会用负载中指定的参数替换每个字段。组件以对象表示,用于描述卡片面向广告主的属性。 以下示例展示了负载的一般结构(但其中的信息不可用)。
{
  "name": "某个名称",
  "components": [
    {
      "type": "TYPE_ENUM",
      "key": "值"
    }
  ]
}
有关 POST accounts/:account_id/cards 中组件与幻灯片的补充信息。
NameDescription
account_id 必填目标(被使用)账户的标识符。出现在资源路径中,通常是除 GET accounts 以外所有 Advertiser API 请求的必需参数。指定的账户必须与已验证用户关联。 类型:string 示例:18ce54d4x5t
name 可选卡片名称。最大长度:80 个字符。 类型:string 示例:component based card
components 可选用于更新卡片的组件说明,详见下文。不可与 slides 同时指定。注意:组件的顺序很重要。类型:array of objects
slides 可选使用此二维数组更新 Multi-Destination Carousels。将每张卡片描述为组件的分组。每个幻灯片应完整表示一张卡片。不可与 components 同时指定。注意:每个幻灯片的顺序很重要。类型:array of array

示例请求

此示例将同时更新名称,并从上例的 components 字段中移除一个 media_keys。 PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264
{
  "name": "更改后的名称",
  "components": [
    {
      "type": "SWIPEABLE_MEDIA",
      "media_keys": [
        "3_1075096386931052545"
      ]
    },
    {
      "type": "BUTTON",
      "label": {
        "type": "ENUM",
        "value": "OPEN"
      },
      "destination": {
        "type": "APP",
        "country_code": "US",
        "googleplay_app_id": "com.twitter.android",
        "googleplay_deep_link": "twitter://user?screen_name=apimctestface"
      }
    }
  ]
}

示例响应

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "card_id": "1321554298900107264"
    }
  },
  "data": [
    {
      "name": "更改后的名称",
      "components": [
        {
          "type": "SWIPEABLE_MEDIA",
          "media_keys": [
            "3_1075096386931052545"
          ]
        },
        {
          "type": "BUTTON",
          "label": {
            "type": "ENUM",
            "value": "OPEN"
          },
          "destination": {
            "type": "APP",
            "country_code": "US",
            "googleplay_app_id": "com.twitter.android",
            "googleplay_deep_link": "twitter://user?screen_name=apimctestface"
          }
        }
      ],
      "created_at": "2020-10-28T20:47:52Z",
      "card_uri": "card://1321554298900107264",
      "id": "1321554298900107264",
      "updated_at": "2020-10-29T20:47:52Z",
      "deleted": false,
      "card_type": "IMAGE_CAROUSEL_APP"
    }
  ]
}
删除当前账户的指定卡片。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/:card_id

参数

名称说明
account_id 必填使用中的账户标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求所必需的参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
card_id 必填要删除的卡片的 id。 类型:string 示例:1044294149527166979

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264

示例回复

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "card_id": "1321554298900107264"
    }
  },
  "data": [
    {
      "name": "深度链接",
      "components": [
        {
          "type": "SWIPEABLE_MEDIA",
          "media_keys": [
            "3_1073727809120419840",
            "3_1075096386931052545"
          ]
        },
        {
          "type": "BUTTON",
          "label": {
            "type": "ENUM",
            "value": "OPEN"
          },
          "destination": {
            "type": "APP",
            "country_code": "US",
            "googleplay_app_id": "com.twitter.android",
            "googleplay_deep_link": "twitter://user?screen_name=apimctestface"
          }
        }
      ],
      "created_at": "2020-10-28T20:47:52Z",
      "card_uri": "card://1321554298900107264",
      "id": "1321554298900107264",
      "updated_at": "2020-10-29T20:47:52Z",
      "deleted": true,
      "card_type": "IMAGE_CAROUSEL_APP"
    }
  ]
}

获取卡片

根据与当前账户关联的 card_uri,检索多个卡片。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/all

参数

名称描述
account_id 必填相关账户的标识符。该值出现在资源路径中,且通常是除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
card_uris 必填通过指定以逗号分隔的标识符列表,将响应限定为所需的卡片。最多可提供 200 个卡片 URI 值。 类型:string 示例:card://1044294149527166979,card://1044301099031658496
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/all?card_uris=card://1044294149527166979,card://1044301099031658496

示例响应

{
  "request": {
    "params": {
      "card_uris": [
        "card://1044294149527166979",
        "card://1044301099031658496"
      ],
      "account_id": "18ce54d4x5t"
    }
  },
  "data": [
    {
      "name": "X 应用",
      "googleplay_app_id": "com.twitter.android",
      "image_display_height": "836",
      "country_code": "US",
      "id": "692xn",
      "wide_app_image": "https://pbs.twimg.com/media/Dc263l9VwAAAeEH.jpg",
      "created_at": "2018-09-24T18:35:01Z",
      "image_display_width": "1600",
      "card_uri": "card://1044294149527166979",
      "updated_at": "2018-09-24T18:35:01Z",
      "app_cta": "安装",
      "deleted": false,
      "card_type": "图片应用下载"
    },
    {
      "video_poster_height": "9",
      "name": "开发者平台",
      "website_shortened_url": "https://t.co/zadeUSVD18",
      "video_height": "9",
      "video_url": "https://video.twimg.com/amplify_video/vmap/991374284135137280.vmap",
      "content_duration_seconds": "24",
      "video_owner_id": "756201191646691328",
      "video_content_id": "13_991374284135137280",
      "website_display_url": "developer.x.com",
      "id": "6933h",
      "video_width": "16",
      "video_hls_url": "https://video.twimg.com/amplify_video/991374284135137280/pl/sQrBsE9mFvNep9Cx.m3u8?tag=2",
      "website_dest_url": "https://developer.x.com",
      "created_at": "2018-09-24T19:02:38Z",
      "card_uri": "card://1044301099031658496",
      "title": "开发者平台",
      "website_url": "https://developer.x.com",
      "updated_at": "2018-09-24T19:02:38Z",
      "video_poster_url": "https://pbs.twimg.com/amplify_video_thumb/991374284135137280/img/YbbGQHvWRjoFgrLz.jpg",
      "video_poster_width": "16",
      "deleted": false,
      "card_type": "视频网站"
    }
  ]
}
根据 card_id 获取与当前账户关联的指定卡片。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/all/:card_id

参数

名称描述
account_id 必填目标账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
card_id 必填你在请求中所操作的卡片的引用。 类型:string 示例:508pf
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/all/508pf

示例示例

{
  "request": {
    "params": {
      "card_id": "508pf",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
    "video_poster_height": "9",
    "name": "视频网站卡",
    "video_height": "9",
    "video_url": "https://video.twimg.com/amplify_video/vmap/867520357225418752.vmap",
    "content_duration_seconds": "21",
    "video_owner_id": "756201191646691328",
    "video_content_id": "13_867520357225418752",
    "website_display_url": "developer.x.com",
    "id": "508pf",
    "video_width": "16",
    "video_hls_url": "https://video.twimg.com/amplify_video/867520357225418752/pl/TPHeH5ZlHFCa2TeJ.m3u8",
    "website_dest_url": "https://developer.x.com/en/docs/ads/creatives/api-reference/video-website#post-accounts-account-id-cards-video-website",
    "created_at": "2017-11-10T09:00:35Z",
    "card_uri": "card://928910245920829440",
    "title": "VWC",
    "website_url": "https://t.co/F81hp59pUF",
    "updated_at": "2018-01-05T05:43:31Z",
    "video_poster_url": "https://pbs.twimg.com/amplify_video_thumb/867520357225418752/img/E3pnXM0sCKnRsFih.jpg",
    "video_poster_width": "16",
    "deleted": false,
    "card_type": "VIDEO_WEBSITE"
  }
}

Tweet 草稿

GET accounts/:account_id/draft_tweets

获取与当前账户关联的部分或全部草稿 Tweet 的详细信息。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/draft_tweets

参数

名称说明
account_id 必填被使用账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
count 可选指定每个请求尝试检索的记录数。 类型:int 默认值:100 最小值、最大值:1200
cursor 可选指定用于获取下一页结果的游标。更多信息参见 Pagination。 类型:string 示例:c-jh1g0ryb
user_id 可选指定要检索草稿 Tweet 的用户。未设置时,默认为该账户上的 FULL 可投放用户。 类型:string 示例:756201191646691328

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets?count=1

示例回复

{
  "request": {
    "params": {
      "count": 1
    }
  },
  "data": [
    {
      "name" null,
      "text": "你好,世界",
      "user_id": "756201191646691328",
      "id": "994791681219231744",
      "nullcast": true,
      "created_at": "2018-05-11T04:09:53Z",
      "card_uri": null,
      "updated_at": "2018-05-11T04:09:53Z",
      "media_keys": []
    }
  ],
  "next_cursor": "c-jh1g0ryb"
}
获取与当前帐户关联的特定草稿 Tweet。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id

参数

名称描述
account_id 必填投放账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必填参数。指定的账户必须与已通过身份验证的用户关联。类型:string 示例:18ce54d4x5t
draft_tweet_id 必填本次请求所操作的 Draft Tweet 的引用。类型:string 示例:994788364334325760

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994788364334325760

示例响应

{
  "request": {
    "params": {
      "draft_tweet_id": "994788364334325760"
    }
  },
  "data": {
    "name": null,
    "text": "#TwitterDev",
    "user_id": "756201191646691328",
    "id": "994788364334325760",
    "nullcast": true,
    "created_at": "2018-05-11T03:56:42Z",
    "card_uri": "card://958225772740714496",
    "updated_at": "2018-05-11T03:56:42Z",
    "media_keys": []
  }
}

POST accounts/:account_id/draft_tweets

为该账户的完整可推广用户(默认)或通过 as_user_id 参数指定的用户创建一条 Tweet 草稿。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/draft_tweets

参数

名称描述
account_id 必填已授权账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求所必需的参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
as_user_id 必填代表其发布 Tweet 的广告主的用户 ID。广告主必须通过 ads.x.com 向你的账号(或多个账号)授予其广告账户的访问权限。该权限允许你使用自己账号的 OAuth 令牌而非广告主的令牌调用 API。 类型:string 示例:756201191646691328
text 有时必填状态更新的文本。如果未指定 media_keys,则为必填。 类型:string 示例:Just setting up my X.
card_uri 可选使用任一卡片响应中的 card_uri 值(如果可用)将卡片与 Tweet 关联。 类型:string 示例:card://960880280705392541
media_keys 可选通过指定以逗号分隔的标识符列表,将媒体与 Tweet 关联。最多可包含 4 张图片、1 个动画 GIF 或 1 个视频。 注意:媒体资产必须位于该账户的 Media Library 中。 类型:string 示例:13_1153584529292270722
nullcast 可选是否创建 nullcast(或“仅推广”)Tweet。 类型:boolean 默认值:true 可能的取值:truefalse
name 可选草稿 Tweet 的名称。最大长度:80 个字符。 类型:string 示例:Tweet with name

示例请求

POST https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets?as_user_id=756201191646691328&text=Just setting up my X.

示例回复

{
  "request": {
    "params": {
      "text": "刚刚设置好我的 X。",
      "as_user_id": "756201191646691328"
    }
  },
  "data": {
    "name": null,
    "text": "刚刚设置好我的 X。",
    "user_id": "756201191646691328",
    "id": "994747471329873920",
    "nullcast": true,
    "created_at": "2018-05-11T01:14:13Z",
    "card_uri": null,
    "updated_at": "2018-05-11T01:14:13Z",
    "media_keys": []
  }
}
更新当前账户下指定的草稿 Tweet。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id

参数

名称说明
account_id 必填被使用账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必填参数。指定的账户必须与已验证用户关联。 类型:string 示例:18ce54d4x5t
draft_tweet_id 必填你在请求中操作的 Draft Tweet 的引用。 类型:string 示例:994747471329873920
card_uri 可选使用任一卡片响应中的 card_uri 值(如果可用)为该 Tweet 关联卡片。 注:通过仅提供参数但不赋值来取消设置(移除)。 类型:string 示例:card://970582057284129151
media_keys 可选通过指定以逗号分隔的标识符列表,为该 Tweet 关联媒体。最多可包含 4 张图片、1 个动图 GIF 或 1 个视频。 注:媒体资产必须位于该账户的 Media Library。 注:通过仅提供参数但不赋值来取消设置(移除)。 类型:string 示例:13_1153584529292270722
nullcast 可选是否创建 nullcast(“仅推广”)Tweet。 类型:boolean 可能的取值:truefalse
text 可选状态更新的文本。 类型:string 示例:just setting up my twttr
name 可选Draft Tweet 的名称。最大长度:80 个字符。 类型:string 示例:Tweet with name

示例请求

PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994747471329873920?text=just setting up my twttr

示例回复

{
  "request": {
    "params": {
      "draft_tweet_id": 994747471329873920,
      "text": "正在设置我的 twttr"
    }
  },
  "data": {
    "name": null,
    "text": "正在设置我的 twttr",
    "user_id": "756201191646691328",
    "id": "994747471329873920",
    "nullcast": true,
    "created_at": "2018-05-11T01:14:13Z",
    "card_uri": null,
    "updated_at": "2018-05-11T01:16:59Z",
    "media_keys": []
  }
}
永久删除当前账户中指定的 Draft Tweet。 注意:我们强烈建议在使用其元数据创建 Tweet 或 Scheduled Tweet 后删除草稿。 注意:这是一次硬删除,无法恢复。因此,已删除的 Draft Tweet 无法找回。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id

参数

名称说明
account_id 必填被操作账户的标识符。出现在资源路径中,且通常是除 GET accounts 外所有 Advertiser API 请求所需的参数。指定的账户必须与已认证用户关联。类型:string 示例:18ce54d4x5t
draft_tweet_id 必填你在请求中所操作的 Draft Tweet 的引用。类型:string 示例:994787835663155200

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994787835663155200

示例结果

{
  "request": {
    "params": {
      "draft_tweet_id": "994787835663155200"
    }
  },
  "data": {
    "name": null,
    "text": "你好,世界",
    "user_id": "756201191646691328",
    "id": "994787835663155200",
    "nullcast": true,
    "status": "DELETED",
    "created_at": "2018-05-11T03:54:36Z",
    "card_uri": null,
    "updated_at": "2018-05-11T04:07:31Z",
    "media_keys": []
  }
}

POST accounts/:account_id/draft_tweets/preview/:draft_tweet_id

在移动设备上预览草稿 Tweet。 请求成功后,会向已登录该已认证用户的每台设备发送通知。点击通知会打开时间线,用户可以查看并与该草稿 Tweet 互动,以测试自动播放、音量、全屏、视频网站卡片停靠等行为。 注意:设备内预览仅对接收通知的用户可见。 注意:通知仅会发送到 X 官方应用。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/draft_tweets/preview/:draft_tweet_id

参数

名称说明
account_id 必填被使用账户的标识符。出现在资源路径中,且通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已验证的用户关联。 类型:string 示例:18ce54d4x5t
draft_tweet_id 必填你在请求中要操作的 Draft Tweet 的引用。 类型:string 示例:996132315829948416

示例请求

POST https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/preview/996132315829948416

示例响应

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "draft_tweet_id": "996132315829948416"
    }
  },
  "message": "在 X 应用中查看 @apimctestface 的通知以预览您的推文。"
}

图片会话卡片

注意:要将卡片与 Tweet 关联,请在调用 POST accounts/:account_id/tweetPOST statuses/updatePOST accounts/:account_id/scheduled_tweets 端点时使用 card_uri 参数。

GET accounts/:account_id/cards/image_conversation

检索与当前账户关联的部分或全部图像对话卡的详细信息。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation

参数

名称说明
account_id 必填该投放账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必填参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
card_ids 可选通过指定以逗号分隔的标识符列表,将响应限定为所需的图片会话卡片。最多可提供 200 个 ID。 类型:string 示例:59woh
count 可选指定每个请求尝试检索的记录数。 类型:int 默认值:200 最小值、最大值:11000
cursor 可选指定用于获取下一页结果的游标。参见 Pagination 了解更多信息。 类型:string 示例:8x7v00oow
q 可选可选查询参数,用于按 name 限定卡片。省略此参数以检索全部。最大长度:80 个字符。 注意:执行不区分大小写的前缀匹配。 类型:string 示例:night
sort_by 可选按支持的属性进行升序或降序排序。参见 Sorting 了解更多信息。 类型:string 示例:created_at-asc
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的值:truefalse
with_total_count 可选包含 total_count 响应属性。 注意:此参数与 cursor 互斥。 注意:包含 total_count 的请求将有更低的速率限制,目前为每 15 分钟 200 次。 类型:boolean 默认值:false 可能的值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation?card_ids=59woh

示例响应

{
  "request": {
    "params": {
      "card_type": "image_conversation",
      "card_ids": [
        "59woh"
      ],
      "account_id": "18ce54d4x5t"
    }
  },
  "next_cursor": null,
  "data": [
    {
      "name": "图片对话卡",
      "first_cta": "#moon",
      "image_display_height": "670",
      "media_url": "https://pbs.twimg.com/media/DUhZuzxUQAAWZqr.jpg",
      "thank_you_text": "谢谢",
      "id": "59woh",
      "first_cta_tweet": "星星",
      "media_key": "3_957113581522141184",
      "created_at": "2018-01-27T04:58:42Z",
      "image_display_width": "1280",
      "card_uri": "card://923498485702009837",
      "title": "满月",
      "updated_at": "2018-01-27T04:58:42Z",
      "deleted": false,
      "card_type": "IMAGE_CONVERSATION"
    }
  ]
}
检索当前账户关联的特定图像会话卡片。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id

参数

名称说明
account_id 必填使用的账户标识符。出现在资源路径中,通常在除 GET accounts 之外的所有 Advertiser API 请求中均为必填参数。指定的账户必须与已验证用户关联。 类型:string 示例:18ce54d4x5t
card_id 必填你在请求中操作的图片会话卡片的引用。 类型:string 示例:59woh
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/59woh

示例响应

{
  "request": {
    "params": {
      "card_type": "image_conversation",
      "card_id": "59woh",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
    "name": "图片对话卡片",
    "first_cta": "#moon",
    "image_display_height": "670",
    "media_url": "https://pbs.twimg.com/media/DUhZuzxUQAAWZqr.jpg",
    "thank_you_text": "谢谢",
    "id": "59woh",
    "first_cta_tweet": "星星",
    "media_key": "3_957113581522141184",
    "created_at": "2018-01-27T04:58:42Z",
    "image_display_width": "1280",
    "card_uri": "card://923498485702009837",
    "title": "满月",
    "updated_at": "2018-01-27T04:58:42Z",
    "deleted": false,
    "card_type": "IMAGE_CONVERSATION"
  }
}

POST accounts/:account_id/cards/image_conversation

创建与指定账户关联的新的图像会话卡片。 有关向我们的端点上传图像的实用信息,请参阅上传媒体

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation

参数

名称说明
account_id 必填被使用账户的标识符。出现在资源路径中,通常除 GET accounts 外,所有 Advertiser API 请求都需要该参数。指定账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
first_cta 必填第一个选项的号召性(CTA)话题标签。最大长度:20 个字符(不含 #)。 类型:string 示例:#ShareNow
first_cta_tweet 必填点击第一个 CTA 时使用的 Tweet 文本。 类型:string 示例:I Heart @AdsAPI
media_key 必填此卡片所用图片的 media key。 注意:图片必须位于账户的 Media Library 中。 注意:图片最小宽度为 800px,且宽高比为 1.91:1。 类型:string 示例:3_1151345051104991073
name 必填卡片名称。 类型:string 示例:image conversation card
thank_you_text 必填点击 CTA 后显示的文本。最大长度:23 个字符。 类型:string 示例:Thank you
second_cta 有时必填第二个选项的号召性(CTA)话题标签。最大长度:20 个字符(不含 #)。 类型:string 注意:当未设置 title 时为必填。 示例:#ShareAgain
second_cta_tweet 有时必填点击第二个 CTA 时使用的 Tweet 文本。 注意:当已设置 second_cta 时为必填。 类型:string 示例:I Heart @AdsAPI Again
title 有时必填卡片标题,显示在图片下方、CTA 上方。最大长度:23 个字符。 类型:string 注意:当未设置 second_cta 时为必填。 示例:Start a conversation
third_cta 可选第三个选项的号召性(CTA)话题标签。最大长度:20 个字符(不含 #)。 类型:string 示例:#ShareMore
third_cta_tweet 有时必填点击第三个 CTA 时使用的 Tweet 文本。 类型:string 注意:当已设置 third_cta 时为必填。 示例:I Heart @TwitterDev
fourth_cta 可选第四个选项的号召性(CTA)话题标签。最大长度:20 个字符(不含 #)。 类型:string 示例:#ShareExtra
fourth_cta_tweet 有时必填点击第四个 CTA 时使用的 Tweet 文本。 类型:string 注意:当已设置 fourth_cta 时为必填。 示例:I Heart @TwitterDev Again
unlocked_image_media_key 可选在即时解锁场景中使用的图片 media_key。 这是一个只写字段。在响应中,API 会为该图片提供一个 X URL。 注意:图片必须位于账户的 Media Library 中。 注意:图片最小宽度为 800px,且宽高比为 5:2。 类型:string 示例:3_883112887618682880
thank_you_url 可选与致谢文本一起显示的 URL。 类型:string 示例:https://example.com/thankyou

示例请求

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

示例回复

{
  "data": {
    "name": "图片对话卡片",
    "first_cta": "#moon",
    "image_display_height": "670",
    "media_url": "https://pbs.twimg.com/media/DUhZuzxUQAAWZqr.jpg",
    "thank_you_text": "谢谢",
    "id": "59woh",
    "first_cta_tweet": "星星",
    "media_key": "3_957113581522141184",
    "created_at": "2018-01-27T04:58:42Z",
    "image_display_width": "1280",
    "card_uri": "card://923498485702009837",
    "title": "满月",
    "updated_at": "2018-01-27T04:58:42Z",
    "deleted": false,
    "card_type": "IMAGE_CONVERSATION"
  },
  "request": {
    "params": {
      "name": "图片对话卡片",
      "first_cta": "#moon",
      "image_display_height": "670",
      "media_url": "https://pbs.twimg.com/media/DUhZuzxUQAAWZqr.jpg",
      "thank_you_text": "谢谢",
      "media_key": "3_957113581522141184",
      "account_id": "18ce54d4x5t",
      "first_cta_tweet": "星星",
      "image_display_width": "1280",
      "title": "满月",
      "card_type": "IMAGE_CONVERSATION"
    }
  }
}
更新当前账户下的指定图片会话卡片。 有关向我们的端点上传图片的实用信息,请参阅上传媒体

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id

参数

名称描述
account_id 必填目标账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必填参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
card_id 必填请求中所操作的图片会话卡片的标识引用。 类型:string 示例:4i0qg
first_cta 可选第一个选项的号召性用语(CTA)话题标签。最大长度:20 个字符(不包含 #)。 类型:string 示例:#ShareNow
first_cta_tweet 可选点击第一个 CTA 时要使用的 Tweet 文本。 类型:string 示例:I Heart @AdsAPI
second_cta 可选第二个选项的号召性用语(CTA)话题标签。最大长度:20 个字符(不包含 #)。 类型:string 注意:当未设置 title 时为必填。 示例:#ShareAgain
second_cta_tweet 可选点击第二个 CTA 时要使用的 Tweet 文本。 注意:当设置了 second_cta 时为必填。 类型:string 示例:I Heart @AdsAPI Again
third_cta 可选第三个选项的号召性用语(CTA)话题标签。最大长度:20 个字符(不包含 #)。 类型:string 示例:#ShareMore
third_cta_tweet 可选点击第三个 CTA 时要使用的 Tweet 文本。 类型:string 注意:当设置了 third_cta 时为必填。 示例:I Heart @TwitterDev
fourth_cta 可选第四个选项的号召性用语(CTA)话题标签。最大长度:20 个字符(不包含 #)。 类型:string 示例:#ShareExtra
fourth_cta_tweet 可选点击第四个 CTA 时要使用的 Tweet 文本。 类型:string 注意:当设置了 fourth_cta 时为必填。 示例:I Heart @TwitterDev Again
media_key 可选在此卡片中使用的图片的媒体键。 注意:图片必须位于该账户的 媒体库 中。 注意:图片最小宽度为 800px,且宽高比为 1.91:1。 类型:string 示例:3_1151345051104991073
name 可选卡片名称。 类型:string 示例:moon card
thank_you_text 可选点击 CTA 后显示的文本。最大长度:23 个字符。 类型:string 示例:Thank you
thank_you_url 可选与感谢文本一同显示的 URL。 类型:string 示例:https://example.com/thankyou
title 可选卡片标题,显示在图片下方、CTA 上方。最大长度:23 个字符。 类型:string 注意:当未设置 second_cta 时为必填。 示例:Start a conversation
unlocked_image_media_key 可选在即时解锁场景中使用的图片 media_key。 此字段为仅写。在响应中,API 将为该图片提供一个 X URL。 注意:图片必须位于该账户的媒体库中。 注意:图片最小宽度为 800px,且宽高比为 5:2。 类型:string 示例:3_883112887618682880

示例请求

PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/59woh?name=moon card

示例响应

{
  "data": {
    "name": "月亮卡片",
    "id": "59woh",
    "created_at": "2018-01-27T04:58:42Z",
    "card_uri": "card://923498485702009837",
    "updated_at": "2018-01-29T21:04:39Z",
    "deleted": false,
    "card_type": "IMAGE_CONVERSATION"
  },
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "card_type": "IMAGE_CONVERSATION",
      "card_id": "59woh",
      "name": "月亮卡片"
    }
  }
}
永久删除当前账号下指定的图像会话卡片。 注意:这是不可恢复的硬删除操作,已删除的卡片无法找回。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id

参数

名称说明
account_id 必填被操作账户的标识符。该值出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。类型:string 示例:18ce54d4x5t
card_id 必填你在请求中操作的图像会话卡片(image conversation card)的引用。类型:string 示例:4i0qe

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/4i0qe

示例回复

{
  "data": {
    "name": "图片对话卡片",
    "id": "4i0qe",
    "created_at": "2017-07-07T00:03:01Z",
    "updated_at": "2017-08-23T13:26:23Z",
    "deleted": true,
    "card_type": "IMAGE_CONVERSATION"
  },
  "request": {
    "params": {
      "card_id": "4i0qe",
      "card_type": "image_conversation",
      "account_id": "18ce54d4x5t"
    }
  }
}

媒体库

GET accounts/:account_id/media_library

获取与当前账户关联的部分或全部媒体库对象的详细信息。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/media_library

参数

名称描述
account_id 必填被使用账户的标识符。出现在资源路径中,且通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
count 可选指定每个单独请求尝试检索的记录数量。 类型:int 默认:20 最小/最大:1/50
cursor 可选指定用于获取下一页结果的游标。参见 Pagination 以了解更多信息。 类型:string 示例:c-1
media_type 可选将响应限定为所需的媒体类型。 类型:enum 可能的取值:GIFIMAGEVIDEO
q 可选可选查询,用于按 nametitlefile_namedescription 字段限定资源范围。 注意:执行不区分大小写的术语匹配。 类型:string 最小/最大长度:1/255

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library?count=1

示例回复

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "count": 1
    }
  },
  "data": [
    {
      "tweeted": true,
      "name": null,
      "file_name": "coffee https://t.co/4tcPU9XUon",
      "media_url": "https://pbs.twimg.com/media/DJvnJf_UEAAXnzC.jpg",
      "media_category": "TWEET_IMAGE",
      "media_key": "3_908573900237180928",
      "created_at": "2017-09-15T06:11:12Z",
      "media_status": "TRANSCODE_COMPLETED",
      "media_type": "IMAGE",
      "updated_at": "2017-11-16T06:00:01Z",
      "deleted": false
    }
  ],
  "next_cursor": "c-1"
}
获取与当前账户关联的特定媒体库对象。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key

参数

名称描述
account_id 必填目标账户的标识符。该值出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
media_key 必填你在请求中要操作的媒体库对象的引用。 类型:string 示例:13_909110614026444802

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/13_909110614026444802

示例响应示例

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "media_key": "13_909110614026444802"
    }
  },
  "data": {
    "tweeted": true,
    "duration": 39973,
    "name": null,
    "file_name": "buildings https://t.co/xFdzrHM5QG",
    "description": null,
    "media_url": "https://video.twimg.com/amplify_video/909110614026444802/vid/1280x720/mfahmfkKVjjk1nGm.mp4",
    "media_category": "AMPLIFY_VIDEO",
    "poster_media_url": "https://pbs.twimg.com/amplify_video_thumb/909110614026444802/img/QZUNoaiCia0UFNrw.jpg",
    "poster_media_key": "3_909110614026444802",
    "media_key": "13_909110614026444802",
    "created_at": "2017-09-16T17:43:55Z",
    "media_status": "TRANSCODE_COMPLETED",
    "title": "buildings",
    "media_type": "VIDEO",
    "aspect_ratio": "16:9",
    "updated_at": "2017-09-27T13:04:00Z",
    "deleted": false
  }
}
将媒体对象关联到当前账户。有关更多信息,请参阅我们的媒体库指南 注意:当将 AMPLIFY_VIDEO 媒体类别的视频添加到媒体库时,它会自动作为 PREROLL account_media 资产可用。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/media_library

参数

名称说明
account_id 必填所使用账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
media_key 必填已上传内容的 media_key。当指定了 media_category 时,POST media/upload 的响应会返回一个 media_key。 类型:string 示例:3_931236738554519552
description 可选发布为 Tweet 时显示在视频下方的描述。最大长度:200 个字符。默认情况下,Tweet 中不会显示该内容。要显示视频的 description,请在 POST accounts/:account_id/tweet 端点中使用 video_description 参数。 注意:仅可用于视频。 类型:string 示例:This is the description under the video.
file_name 可选媒体库对象的文件名。最大长度:255。文件名可在 ads.x.com 的 Media Library 界面中每个媒体资产的媒体详情里看到。未设置 file_name 时将为空。 类型:string 示例:coffee.jpeg
name 可选媒体库对象的名称。最大长度:100。这是 ads.x.com 的 Media Library 界面中每个媒体资产下方的标签。未设置 name 时,标签将显示为“Untitled”。 类型:string 示例:Latte
poster_media_key 可选使用已上传图片的 media_key 为视频指定海报图。若未指定,将使用第一帧。 注意:仅可用于视频。 类型:string 示例:3_890599134483242005
title 可选发布为 Tweet 时显示在视频下方的标题(headline)。最大长度:70 个字符。默认情况下,Tweet 中不会显示该内容。要显示视频的 title,请在 POST accounts/:account_id/tweet 端点中使用 video_title 参数。 注意:仅可用于视频。 类型:string 示例:Video title

示例请求

POST https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library?media_key=3_931236738554519552

示例回复

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "media_key": "3_931236738554519552"
    }
  },
  "data": {
    "tweeted": false,
    "name": null,
    "file_name": null,
    "media_url": "https://pbs.twimg.com/media/DOxq4TtV4AAlvh_.jpg",
    "media_category": "TWEET_IMAGE",
    "media_key": "3_931236738554519552",
    "created_at": "2017-11-16T19:05:14Z",
    "media_status": "TRANSCODE_COMPLETED",
    "media_type": "IMAGE",
    "updated_at": "2017-11-16T19:05:23Z",
    "deleted": false
  }
}
更新当前账户的指定媒体库对象。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key

参数

名称说明
account_id 必填所使用账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已通过身份验证的用户关联。 类型:string 示例:18ce54d4x5t
media_key 必填你在请求中操作的媒体库对象的引用。 类型:string 示例:16_844800354743074820
description 可选在发布为 Tweet 时显示在视频下方的描述。最大长度:200 个字符。默认情况下不会在 Tweet 中呈现。要显示视频的 description,请在 POST accounts/:account_id/tweet 端点中使用 video_description 参数。注意:仅适用于视频。 类型:string 示例:This is the description under the video.
file_name 可选媒体库对象的文件名。最大长度:255。文件名可在 ads.x.com 的 Media Library 界面中每个媒体资产的媒体详情中查看。未设置 file_name 时,此字段为空。 类型:string 示例:coffee.jpeg
name 可选媒体库对象的名称。最大长度:100。这是 ads.x.com 的 Media Library 界面中每个媒体资产下方的标签。未设置 name 时,标签将显示为“Untitled”。 类型:string 示例:Latte
poster_media_key 可选使用已上传图片的 media_key 为视频指定封面图像。注意:仅适用于视频。 类型:string 示例:3_885003359340375465
title 可选在发布为 Tweet 时显示在视频下方的标题(headline)。最大长度:70 个字符。默认情况下不会在 Tweet 中呈现。要显示视频的 title,请在 POST accounts/:account_id/tweet 端点中使用 video_title 参数。注意:仅适用于视频。 类型:string 示例:Video title

示例请求

PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/16_844800354743074820?title=cat GIF&description=in space

示例响应

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "media_key": "16_844800354743074820",
      "title": "猫咪 GIF",
      "description": "在太空中"
    }
  },
  "data": {
    "tweeted": true,
    "duration": null,
    "name": null,
    "file_name": null,
    "description": "在太空中",
    "media_url": "https://video.twimg.com/tweet_video/C7lVclqVwAQqTCZ.mp4",
    "media_category": "TWEET_GIF",
    "poster_media_url": "https://pbs.twimg.com/tweet_video_thumb/C7lVclqVwAQqTCZ.jpg",
    "poster_media_key": "3_844800354743074820",
    "media_key": "16_844800354743074820",
    "created_at": "2017-10-20T09:51:54Z",
    "media_status": "TRANSCODE_COMPLETED",
    "title": "猫咪 GIF",
    "media_type": "GIF",
    "aspect_ratio": "125:79",
    "updated_at": "2017-10-23T06:37:56Z",
    "deleted": false
  }
}
删除当前账户中的指定媒体库对象。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key

参数

名称说明
account_id 必填被操作广告账户的标识符。该值出现在资源路径中,且通常是除GET accounts外所有 Advertiser API 请求的必填参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
media_key 必填你在请求中所操作的媒体库对象的引用。 类型:string 示例:7_860318603387600896

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/7_860318603387600896

示例回复

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "media_key": "7_860318603387600896"
    }
  },
  "data": {
    "tweeted": true,
    "duration": 14330,
    "name": "mountains-on-ads.x.com",
    "file_name": "mountains.mp4",
    "description": "",
    "media_url": "https://video.twimg.com/ext_tw_video/860318603387600896/pu/vid/1280x720/xI3DbvWKxdvICsFW.mp4",
    "media_category": "TWEET_VIDEO",
    "poster_media_url": "https://pbs.twimg.com/media/C_B3bTRVYAAFBFt.jpg",
    "poster_media_key": "3_860318839740915712",
    "media_key": "7_860318603387600896",
    "created_at": "2017-05-05T02:21:53Z",
    "media_status": "TRANSCODE_COMPLETED",
    "title": "uploaded on ads.x.com",
    "media_type": "VIDEO",
    "aspect_ratio": "16:9",
    "updated_at": "2017-05-05T02:26:58Z",
    "deleted": true
  }
}

投票卡

GET accounts/:account_id/cards/poll

获取与当前账号关联的部分或全部投票卡片的详细信息。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/poll

参数

名称说明
account_id 必填使用的账户标识符。出现在资源路径中,且通常是除 GET accounts 外所有 Advertiser API 请求所必需的参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
card_ids 可选通过指定以逗号分隔的标识符列表,将响应限定为所需的投票卡片。最多可提供 200 个 ID。 类型:string 示例:57i77
count 可选指定每个单次请求尝试检索的记录数量。 类型:int 默认值:200 最小值、最大值:11000
cursor 可选指定用于获取下一页结果的游标。更多信息参见 Pagination。 类型:string 示例:8x7v00oow
q 可选用于按 name 限定卡片的可选查询。省略此参数将检索全部。最大长度:80 个字符。注意:执行不区分大小写的前缀匹配。 类型:string 示例:night
sort_by 可选按受支持的属性进行升序或降序排序。更多信息参见 Sorting。 类型:string 示例:created_at-asc
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse
with_total_count 可选包含 total_count 响应属性。注意:此参数与 cursor 互斥。注意:包含 total_count 的请求将具有更低的速率限制,目前为每 15 分钟 200 次。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll?card_ids=57i77

示例回复

{
  "request": {
    "params": {
      "card_type": "poll",
      "card_ids": [
        "57i77"
      ],
      "account_id": "18ce54d4x5t"
    }
  },
  "next_cursor": null,
  "data": [
    {
      "video_poster_height": "9",
      "name": "最佳海岸投票",
      "start_time": "2018-01-09T04:51:34Z",
      "first_choice": "东海岸",
      "video_height": "9",
      "video_url": "https://video.twimg.com/amplify_video/vmap/950589518557540353.vmap",
      "content_duration_seconds": "8",
      "second_choice": "西海岸",
      "end_time": "2018-01-16T04:51:34Z",
      "id": "57i77",
      "video_width": "16",
      "video_hls_url": "https://video.twimg.com/amplify_video/950589518557540353/vid/1280x720/BRkAhPxFoBREIaFA.mp4",
      "created_at": "2018-01-09T04:51:34Z",
      "duration_in_minutes": "10080",
      "card_uri": "card://950590850777497601",
      "updated_at": "2018-01-09T04:51:34Z",
      "video_poster_url": "https://pbs.twimg.com/amplify_video_thumb/950589518557540353/img/nZ1vX_MXYqmvbsXP.jpg",
      "video_poster_width": "16",
      "deleted": false,
      "card_type": "VIDEO_POLLS"
    }
  ]
}
获取与当前账户关联的特定投票卡片。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/poll/:card_id

参数

名称说明
account_id 必填目标账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求所需的参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
card_id 必填请求中所操作的投票卡片的标识。 类型:string 示例:57i8t
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll/57i8t

示例回复

{
  "request": {
    "params": {
      "card_type": "poll",
      "card_id": "57i8t",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
    "name": "纯文字投票",
    "start_time": "2018-01-09T05:03:05Z",
    "first_choice": "上午",
    "second_choice": "晚间",
    "end_time": "2018-01-11T05:03:05Z",
    "id": "57i8t",
    "created_at": "2018-01-09T05:03:05Z",
    "duration_in_minutes": "2880",
    "card_uri": "card://950593749658189824",
    "updated_at": "2018-01-09T05:03:05Z",
    "deleted": false,
    "card_type": "TEXT_POLLS"
  }
}

POST accounts/:account_id/cards/poll

创建一个与指定账户关联的新的投票卡片。此端点支持创建带图片、带视频或无媒体的投票卡片。包含媒体的投票称为 Media Forward Polls。 注意:Media Forward Polls 产品处于测试阶段,且需要启用 PROMOTED_MEDIA_POLLS 账户功能。 注意:投票卡片无法更新(PUT)。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/poll

参数

名称说明
account_id 必填使用的账户标识符。出现在资源路径中,一般为除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
duration_in_minutes 必填投票保持开放的时长(分钟)。在达到指定的 duration_in_minutes 后,投票将关闭,不再接受投票。这对应响应中的 end_time。 注意:计时在卡片创建时即开始,而非添加到 Tweet 时开始。 类型:int 取值范围:最小 5,最大 10080
first_choice 必填第一个投票选项。最大长度:25 个字符。 类型:string 示例:One
name 必填卡片名称。 类型:string 示例:poll card
second_choice 必填第二个投票选项。最大长度:25 个字符。 类型:string 示例:Two
fourth_choice 可选第四个投票选项。最大长度:25 个字符。 注意:使用此参数时,必须同时设置第一、第二和第三个选项。 类型:string 示例:Four
media_key 可选将用于此卡片的媒体库图片或视频的 media_key。 这是只写字段。在响应中,API 将提供该媒体的 X URL。 注意:图片或视频必须位于该账户的媒体库中。 注意:图片最小宽度为 800px,且宽高比需为 1.91:1。
third_choice 可选第三个投票选项。最大长度:25 个字符。 注意:使用此参数时,必须设置第一和第二个选项。 类型:string 示例:Three

示例请求

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

示例回复

{
  "request": {
    "params": {
      "first_choice": "东海岸",
      "name": "最佳海岸投票",
      "second_choice": "西海岸",
      "media_key": "13_950589518557540353",
      "duration_in_minutes": 10080
    }
  },
  "data": {
    "video_poster_height": "9",
    "name": "最佳海岸投票",
    "start_time": "2018-01-09T04:51:34Z",
    "first_choice": "东海岸",
    "video_height": "9",
    "video_url": "https://video.twimg.com/amplify_video/vmap/950589518557540353.vmap",
    "content_duration_seconds": "8",
    "second_choice": "西海岸",
    "end_time": "2018-01-16T04:51:34Z",
    "id": "57i77",
    "video_width": "16",
    "video_hls_url": "https://video.twimg.com/amplify_video/950589518557540353/vid/1280x720/BRkAhPxFoBREIaFA.mp4",
    "created_at": "2018-01-09T04:51:34Z",
    "duration_in_minutes": "10080",
    "card_uri": "card://950590850777497601",
    "updated_at": "2018-01-09T04:51:34Z",
    "video_poster_url": "https://pbs.twimg.com/amplify_video_thumb/950589518557540353/img/nZ1vX_MXYqmvbsXP.jpg",
    "video_poster_width": "16",
    "deleted": false,
    "card_type": "VIDEO_POLLS"
  }
}
永久删除当前账户下的指定投票卡片。 注意:这是不可逆的硬删除,已删除的卡片无法恢复。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/poll/:card_id

参数

名称说明
account_id 必填被使用的账户标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。类型:string 示例:18ce54d4x5t
card_id 必填本次请求中所操作的投票卡片的引用。类型:string 示例:57i9t

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll/57i9t

示例回复

{
  "data": {
    "name": "图片投票",
    "start_time": "2018-01-09T05:10:51Z",
    "id": "57i9t",
    "created_at": "2018-01-09T05:10:51Z",
    "updated_at": "2018-01-09T05:11:04Z",
    "deleted": true,
    "card_type": "IMAGE_POLLS"
  },
  "request": {
    "params": {
      "card_id": "57i9t",
      "card_type": "投票",
      "account_id": "18ce54d4x5t"
    }
  }
}

片头前置广告行动号召

GET accounts/:account_id/preroll_call_to_actions

检索当前账户下各个投放项所关联的部分或全部前贴片号召性用语(CTA)的详细信息。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions

参数

名称描述
account_id 必填目标账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求所需的参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
line_item_ids 可选通过指定以逗号分隔的标识符列表,将响应限定为与指定广告项关联的前贴片 CTA。最多可提供 200 个 ID。 类型:string 示例:8v53k
count 可选指定每个请求尝试检索的记录数。 类型:int 默认值:200 最小值、最大值:11000
cursor 可选指定用于获取下一页结果的游标。参见分页了解详情。 类型:string 示例:8x7v00oow
preroll_call_to_action_ids 可选通过指定以逗号分隔的标识符列表,将响应限定为所需的前贴片 CTA。最多可提供 200 个 ID。 类型:string 示例:8f0
sort_by 可选按受支持的属性进行升序或降序排序。参见排序了解详情。 类型:string 示例:created_at-asc
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse
with_total_count 可选包含 total_count 响应属性。注意:此参数与 cursor 互斥。注意:包含 total_count 的请求将有更低的速率限制,目前为每 15 分钟 200 次。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions?line_item_ids=8v53k

示例回复

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "line_item_ids": [
        "8v53k"
      ]
    }
  },
  "next_cursor": null,
  "data": [
    {
      "line_item_id": "8v53k",
      "call_to_action_url": "https://www.x.com",
      "call_to_action": "VISIT_SITE",
      "id": "8f0",
      "created_at": "2017-07-07T19:28:40Z",
      "updated_at": "2017-07-07T19:28:40Z",
      "deleted": false
    }
  ]
}
检索与此帐号关联的特定号召性用语(CTA)。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id

参数

名称说明
account_id 必填被使用账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求所需的参数。指定的账户必须与已通过验证的用户关联。 类型:string 示例:18ce54d4x5t
preroll_call_to_action_id 必填你在该请求中操作的前贴片号召性用语(preroll call to action)的引用。 类型:string 示例:8f0
with_deleted 可选在请求中包含已删除的结果。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0

示例回复

{
  "request": {
    "params": {
      "preroll_call_to_action_id": "8f0",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
    "line_item_id": "8v53k",
    "call_to_action_url": "https://www.x.com",
    "call_to_action": "VISIT_SITE",
    "id": "8f0",
    "created_at": "2017-07-07T19:28:40Z",
    "updated_at": "2017-07-07T19:28:40Z",
    "deleted": false
  }
}

POST accounts/:account_id/preroll_call_to_actions

PREROLL_VIEWS 明细项设置可选的号召性用语(CTA)。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions

参数

名称说明
account_id 必填已授权账户的标识符。该值出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必填参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
call_to_action 必填广告中按钮的 CTA 文案。 类型:enum 可能的取值:GO_TOSEE_MORESHOPVISIT_SITEWATCH_NOW
call_to_action_url 必填点击 CTA 按钮后重定向用户的 URL。 类型:string 示例:https://www.x.com
line_item_id 必填请求中所操作投放单元(line item)的引用。 类型:string 示例:8v53k

示例请求

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

示例回复

{
  "data": {
    "line_item_id": "8v53k",
    "call_to_action_url": "https://www.x.com",
    "call_to_action": "VISIT_SITE",
    "id": "8f0",
    "created_at": "2017-07-07T19:28:40Z",
    "updated_at": "2017-07-07T19:28:40Z",
    "deleted": false
  },
  "request": {
    "params": {
      "line_item_id": "8v53k",
      "call_to_action": "VISIT_SITE",
      "call_to_action_url": "https://www.x.com",
      "account_id": "18ce54d4x5t"
    }
  }
}
PREROLL_VIEWS 订单项更新可选的号召性用语(CTA)。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id

参数

名称描述
account_id 必填被使用账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
preroll_call_to_action_id 必填此请求中所操作的前贴片 CTA 的引用。 类型:string 示例:8f0
call_to_action 可选广告中按钮显示的 CTA 文本。 类型:enum 可选值:GO_TOSEE_MORESHOPVISIT_SITEWATCH_NOW
call_to_action_url 可选点击 CTA 按钮后用于重定向用户的 URL。 类型:string 示例:https://www.x.com

示例请求

PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0?call_to_action=WATCH_NOW

示例响应

{
  "data": {
    "line_item_id": "8v53k",
    "call_to_action_url": "https://www.x.com",
    "call_to_action": "WATCH_NOW",
    "id": "8f0",
    "created_at": "2017-07-07T19:28:40Z",
    "updated_at": "2017-09-09T05:51:26Z",
    "deleted": false
  },
  "request": {
    "params": {
      "preroll_call_to_action_id": "8f0",
      "call_to_action": "WATCH_NOW",
      "account_id": "18ce54d4x5t"
    }
  }
}
删除当前账户下指定的前贴片号召性用语(CTA)。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id

参数

名称描述
account_id 必填目标账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已通过身份验证的用户关联。类型:string 示例:18ce54d4x5t
preroll_call_to_action_id 必填此请求中所操作的前贴片 CTA 的引用。类型:string 示例:8f0

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0

示例回复

{
  "data": {
    "line_item_id": "8v53k",
    "call_to_action_url": "https://www.x.com",
    "call_to_action": "VISIT_SITE",
    "id": "8f0",
    "created_at": "2017-07-07T19:28:40Z",
    "updated_at": "2017-08-30T06:08:21Z",
    "deleted": true
  },
  "request": {
    "params": {
      "preroll_call_to_action_id": "8f0",
      "account_id": "18ce54d4x5t"
    }
  }
}

定时发布的 Tweet

GET accounts/:account_id/scheduled_tweets

检索与当前账户关联的部分或全部已安排的 Tweet 详情。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets

参数

名称说明
account_id 必填账户标识符。该值出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求所必需的参数。指定的账户必须与已验证用户关联。 类型:string 示例:18ce54d4x5t
count 可选指定每个请求尝试获取的记录数量。 类型:int 默认值:100 最小值/最大值:1/200
cursor 可选指定用于获取下一页结果的游标。有关分页的更多信息,请参阅 Pagination。 类型:string 示例:c-j3cn6n40
user_id 可选指定要为其检索计划发布的 Tweet 的用户。未设置时,默认为该账户上的 FULL 可推广用户。 类型:long 示例:756201191646691328

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets?count=1

示例响应

{
  "request": {
    "params": {
      "count": 1
    }
  },
  "data": [
    {
      "name": "测试名称",
      "completed_at": "2017-06-18T22:00:05Z",
      "text": "你想去的地方",
      "user_id": "756201191646691328",
      "scheduled_status": "成功",
      "id": "875828692081037312",
      "nullcast": true,
      "created_at": "2017-06-16T21:33:27Z",
      "scheduled_at": "2017-06-18T22:00:00Z",
      "card_uri": null,
      "updated_at": "2017-06-19T18:02:20Z",
      "tweet_id": "876560168963645440",
      "media_keys": []
    }
  ],
  "next_cursor": "c-j41uw400"
}
检索与当前账户关联的特定已计划的 Tweet。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id

参数

名称说明
account_id 必填目标账户的标识符。出现在资源路径中,且通常是除 GET accounts 外所有 Advertiser API 请求所需的参数。指定的账户必须与已认证用户关联。类型:string 示例:18ce54d4x5t
scheduled_tweet_id 必填本次请求所操作的 Scheduled Tweet 的引用。类型:string 示例:917438609065623552

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/917438609065623552

示例响应

{
  "request": {
    "params": {
      "scheduled_tweet_id": "917438609065623552"
    }
  },
  "data": {
    "name": null,
    "completed_at": null,
    "text": "",
    "user_id": "756201191646691328",
    "scheduled_status": "SCHEDULED",
    "id": "917438609065623552",
    "nullcast": true,
    "created_at": "2017-10-09T17:16:24Z",
    "scheduled_at": "2018-01-01T00:00:00Z",
    "card_uri": null,
    "updated_at": "2017-10-09T17:16:24Z",
    "tweet_id": null,
    "media_keys": [
      "3_917438348871983104"
    ]
  }
}

POST accounts/:account_id/scheduled_tweets

为该账号的完整可推广用户(默认)或通过 as_user_id 参数指定的用户创建一个 Scheduled Tweet。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets

参数

名称说明
account_id 必填所使用账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
scheduled_at 必填Tweet 计划发布(上线)的时间,采用 ISO 8601 格式。 注意:Tweet 最多只能安排在未来一年内。 注意:Tweet 仅支持按分钟粒度安排;秒数将被忽略。 类型:string 示例:2017-12-31T23:59:00Z
as_user_id 必填代表其发布 Tweet 的广告主的用户 ID。广告主必须通过 ads.x.com 授予你的账号访问其广告账户的权限。此权限允许你使用自己账号的 OAuth 令牌调用 API,而非广告主的。 类型:long 示例:756201191646691328
text 视情况必填状态更新的文本。若未指定 media_keys,则必填。 类型:string 示例:just setting up my twttr
card_uri 可选使用任一卡片响应中的 card_uri 值(如可用)将卡片与 Tweet 关联。 类型:string 示例:card://855591459410511943
media_keys 可选通过指定以逗号分隔的标识符列表,将媒体与 Tweet 关联。可包含最多 4 张图片、1 个动画 GIF 或 1 个视频。 注意:媒体资产必须位于该账户的 Media Library 中。 类型:string 示例:13_1153584529292270722
nullcast 可选是否创建 nullcast(“仅推广”)Tweet。 类型:boolean 默认值:true 可能的取值:truefalse
name 可选计划发布的 Tweet 的名称。最大长度:80 个字符。 类型:string 示例:Tweet with name

示例请求

POST https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets?as_user_id=756201191646691328&media_keys=3_917438348871983104&scheduled_at=2018-01-01

示例回复

{
  "request": {
    "params": {
      "media_keys": [
        "3_917438348871983104"
      ],
      "scheduled_at": "2018-01-01T00:00:00Z",
      "as_user_id": 756201191646691328
    }
  },
  "data": {
    "name": null,
    "completed_at": null,
    "text": "",
    "user_id": "756201191646691328",
    "scheduled_status": "SCHEDULED",
    "id": "917438609065623552",
    "nullcast": true,
    "created_at": "2017-10-09T17:16:24Z",
    "scheduled_at": "2018-01-01T00:00:00Z",
    "card_uri": null,
    "updated_at": "2017-10-09T17:16:24Z",
    "tweet_id": null,
    "media_keys": [
      "3_917438348871983104"
    ]
  }
}
更新当前账户下的指定 Scheduled Tweet。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id

参数

名称描述
account_id 必填使用的账户标识符。出现在资源路径中,通常是除 GET accounts 以外所有 Advertiser API 请求必需的参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
scheduled_tweet_id 必填你在请求中操作的 Scheduled Tweet 的引用。 类型:string 示例:870321875435442177
card_uri 可选使用任一卡片响应中的 card_uri 值(如果可用)将卡片与 Tweet 关联。 注意:通过仅指定参数而不提供值来清除(移除)。 类型:string 示例:card://875146925316386347
media_keys 可选通过指定逗号分隔的标识符列表将媒体与 Tweet 关联。最多可包含 4 张图片、1 个动图(GIF)或 1 个视频。 注意:媒体资产必须位于该账户的 Media Library 中。 注意:通过仅指定参数而不提供值来清除(移除)。 类型:string 示例:13_1153584529292270722
nullcast 可选是否创建 nullcast(或“仅用于推广”)Tweet。 类型:boolean 可选值:truefalse
scheduled_at 可选Tweet 计划发布(上线)的时间,采用 ISO 8601 格式。 类型:string 示例:2017-12-31T23:59:59Z
text 可选状态更新的文本内容。 类型:string 示例:just setting up my twttr
name 可选Scheduled Tweet 的名称。最大长度:80 个字符。 类型:string 示例:Tweet with name

示例请求

PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/875057751231037440?text=winter solstice

示例回复

{
  "request": {
    "params": {
      "scheduled_tweet_id": "875057751231037440",
      "text": "冬至"
    }
  },
  "data": {
    "name": null,
    "completed_at": null,
    "scheduled_status": "SCHEDULED",
    "text": "冬至",
    "user_id": "756201191646691328",
    "id": "875057751231037440",
    "nullcast": true,
    "created_at": "2017-06-14T18:30:00Z",
    "scheduled_at": "2017-12-21T00:00:00Z",
    "card_uri": null,
    "updated_at": "2017-06-14T18:30:00Z",
    "tweet_id": null,
    "media_keys": []
  }
}
永久删除当前账户中指定的计划 Tweet。 注意:这是不可逆的硬删除。因此,无法恢复已删除的计划 Tweet。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id

参数

名称说明
account_id 必填被使用账户的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已通过验证的用户关联。 类型:string 示例:18ce54d4x5t
scheduled_tweet_id 必填你在该请求中操作的 Scheduled Tweet 的引用。 类型:string 示例:870321875435442177

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/875064008595787776

示例回复

{
  "request": {
    "params": {
      "scheduled_tweet_id": 875064008595787776
    }
  },
  "data": {
    "name": null,
    "completed_at": null,
    "scheduled_status": "DELETED",
    "text": "你好,世界",
    "user_id": "756201191646691328",
    "id": "875064008595787776",
    "nullcast": true,
    "created_at": "2017-06-14T18:54:52Z",
    "scheduled_at": "2017-06-15T00:00:00Z",
    "card_uri": null,
    "updated_at": "2017-06-14T19:01:16Z",
    "tweet_id": null,
    "media_keys": []
  }
}

Tweet 预览

GET accounts/:account_id/tweet_previews

预览已发布、已计划或草稿状态的 Tweet。
  • 支持在单个 API 请求中预览多个 Tweet,最多 200 条
  • 准确、实时地渲染 Tweet 的布局和样式
  • 支持所有最新格式和卡片类型
  • 返回一个 iframe

资源 URL

https://ads-api.x.com/12/accounts/:account_id/tweet_previews

参数

名称说明
account_id 必填被使用账号的标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求所必需的参数。指定的账号必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
tweet_ids 必填以逗号分隔的标识符列表。最多可提供 200 个 ID。 注意:这些 ID 应与指定的 tweet_type 相对应。例如,如果传入的是 Scheduled Tweet 的 ID,且指定了 tweet_type=PUBLISHED,将不会返回该 ID 的预览。 类型:long 示例:1122911801354510336,1102836745790316550
tweet_type 必填所指定 tweet_ids 对应的 Tweet 类型。 类型:enum 可能的取值:DRAFTPUBLISHEDSCHEDULED

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tweet_previews?tweet_ids=1122911801354510336,1102836745790316550&tweet_type=PUBLISHED

示例回答

{
  "request": {
    "params": {
      "tweet_ids": [
        "1122911801354510336",
        "1102836745790316550"
      ],
      "tweet_type": "PUBLISHED",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": [
    {
      "tweet_id": "1122911801354510336",
      "preview": "<iframe class='tweet-preview' src='https://ton.twimg.com/ads-manager/tweet-preview/index.html?data=H4sIAAAAAAAAANVYW2%2FbNhT%2BKwJf59iiZDuSgWLI0suyrUXbZBuGaiAoibbZUKRGUk7TIP99h6Jsy4mdC5CX%2BiUiz%2F0cfueQuUH2ijGLZsENKjSjlpWEwhK9VzI4qXUQpQE%2BnuF4FofBTyH8gijEKRogXqIZxlGUYpyEOJ6MJziM46kjEGM1qNhDBbl5IwSx7JszsuIlU8EVyw23DGhWN7JwPqDZnArDBqjkphb0uhUgmsoFQ7Mv4QDH%2Fw4Qk5Zbzgya3aAlNUtLF%2FD9BSjmusqV6BaNYZpUjlnJ9Zb2xFtgVY0uQCnKmjCMCxosNZu%2FytDS2trMslE2oqU5ojUf2ituLdPDQlUZCjQTwCXVXAmhrjIvzi48T3BSmuBUVbUC214x6PEsLnWSaFYLiEpBqqhtDHHZlJCZA0Sf0fsMbWz7ZTvSIUkD1WaSSFqxNdlJuFw6fceTKdQZp3g6nk5THEdJr7D3iRCU14ROPp4F74sLZuycFi7YHUMIElkVdksVCuoNhQHSOZXBWyhxwU2hBsHpCWoLtfauZKCJ1x3zmbQqcHq4XARUlgHYNSBQa2VZ0T9BvkBMG1KoRsKpO8KwqTmT5c6W4MYd%2Fm7H29xBxMWyCX5rRBDhACezyXQWJVtEtCebruAwwUne0dvYgqj53LCNVssrRr4ruUn8ginCJM1Fz%2B0V03zOexv%2BLOzqFgAI8IxJsF4oaTXPG6sg1LvauCEWUmsEBfK%2BXcjqPSHI5ZwLRnJaXC40WHXZEU4ehe0P7eXhFV0w0lauRZEHUW4cgKpFC59Ry2OykV2yavMXZ6N8MawhpIf1khabnXbzUuotrO%2BFvjeWetfYDi8YA3TE4yTGx%2BNJMgnTJJpko9cXvxefT%2BtzIpWuqBh%2BrftePBTZixvLqZTQGbYxPWjHc3tDdzCfjfAYvqbROMY9%2FYLLy8PnxEDHz6kmudIlePEoHyzEYa52KhykAlrunZ%2FtYGFz2ghLOuZD%2B3ekfDPhDnUeun4D2up%2FDTQjYti2eUhlAcG%2BvZkN9jcoJPa6dh1RukZw2zaBTdtRkB0uofVs5GAIFmxL30J9vadZO8jX3SH07ch1oz1bW4x3Yn3UK2N4DkMCYoGxzFfb6KEv137cbppqRwP%2FC6pLR%2BoafTRJpnEaHuPpDFJZKdLOerKd9f4AOqn2%2FOFwPI5DHKZpGOPpJBmnrqU6cpuouxh0hCNHOALCETdHJas1a%2B8OQy5XVMAQG6CcS8jjgsC68Y539olZKm2ZhN7eKr5BXTXOLz6ffXjnxhZkeC25AxQLAMlG32nJ%2Fjz%2F6zVOXO1cQaDypGy0b6WGwVZpnqA4GjsF7o4DcLjipV0%2BQQjGzVZobZyXT5GMSQroPR5HyRiuZfAVJWFP2ZLxxdI%2BQVHqhFZUcnv9xBSWbMUEHCDdv0k5LeualA5Bzy3HQa1dQOpKdlekR5Xuudb0EiPMs31rj3y%2Fq9KqFnx%2B7bGQje5XAhqvyEbmk%2F7FvEmrt6sPrE5Pvw2ruEl%2Bhuvtq8h5BLde17AedeT1OjXBR%2Bg4cxgG%2FWy%2FdKJBkNHqxXO0qmi9L1NDR%2BiZ9zPUwLzr2z97f%2FLujbtxt9TO%2Bg16ZPjtuEDssqny%2FcUCiWz0T56%2F%2B%2FTr6u%2FPX9Xbhf7jezdvOyxjYBygNayOI1hQ0c2I2zvu%2F7COE0H1j%2Bz%2Btx8wgHY0Pnt49aDbPs14zsglu%2B4mcatvo7xedw2w0P%2BGTsAL1pv18No9qTlqHy3Gv89w7LBJmxLeWTu8cBkom6J9xcF8bopLtonJGd6%2BaG4HAWpvDv5VJv2%2FDIKbzSYsrG7Y7e3%2FCm%2FIC8QQAAA%3D'>"
    },
    {
      "tweet_id": "1102836745790316550",
      "preview": "<iframe class='tweet-preview' src='https://ton.twimg.com/ads-manager/tweet-preview/index.html?data=H4sIAAAAAAAAAO1YbW%2FbNhD%2BK4K%2Bzo3eZdlAMQQttqZrt6FNEXRVIVASJTOhSIWkHDeB%2F%2FuOomXLb%2BuHdQWGzV8s3T13vCOPz539ZKsHjJU9t57sQmCkcJkheLWvO2y9RcJyI8udzkN%2F7ofWDy58LN%2F1ZvbEJqU99zzXT4J4GkbTmRt4cRS5WpFJJcDFCS3YVR2lmcIrvcgNWmJpLZRq5Tx1UkddFDx16mUU8Lv4UhQAV6JjhQ7LnleISjyxSyJbir70PjKBWI3t%2BSd3En2e2JgpogiW9vzJXiC5UKiG50%2BgkV%2BanNPNSyexyBoN5mwQiUHZ4JIgeHwyGbpumLjh1PcDfxZ6XpSE4wyPtXpnWEkKHcSneOLPBpcZLAEmOtk%2B1zaXF%2BqBNDXk3KSOTkY9ZEtSYp6pRdfkqXPCPdh1qQNWYPFz%2BfHls7v7y6s3dZm%2Fci9u29oeLZb1%2B7pZUv6ja%2B5SO3uOw6kZaEsKHYhSWJhQ9rB41SJWQiUe%2BR2boJY0hcJSVajAqSMVUp2EBI6rLnX6FEGnC%2BpLi3UEC644vEryaOqlz18%2FPMCp6zpebL4F1hgwKQRv7bXZ4a4ZoL5rsPE0GmErojRUNojSDTJODDBIgmMgRULX8cblBjn13UMkQCu4pZ3og16vP6%2F1dincb9e4%2FP8v4%2F9EGfeSf2UZm%2BMirOIaj2SLC03nwMlQcV480RVXdr2AZQ2hlEhdx9MYnC2RIIgp2dd3ThSgwHUSQBKgLTiDCwE1Mdqi1Gna8MQR98pzxfQXZQT61IlDdxXEcC7Rm1fsHl96H8sau%2Fer1xew2I%2FQfJ4HsCmjCP0o%2Fr4Rwo6svAQivLvqXn14mRD%2FD%2BnWuX91NkJv%2Bp1D1GWyghJJnbD56HePt%2FjXG%2FJbVd3cHsR4EBFqW0qKvjxSZ%2FWsaXH94d2bbxhdS1Nn5r17CF7cTMurt6%2Ffh7fJRRN0yRDT5wMyntioLIkOCNHM8NdQ3sDLVAetGQTLQpBWw4wANzkuS5RrAEw7MOE0nGFFHo2on3oM0UveiUK7STvXDQpkLQSunqejXFEp9wjJtgSmgGC84pTyh9SY4muDsS5LaXyBqdH0xJ8J3FKYsHhm6CjTPYTB4HZGafrIMaAftE7bblTnLGGPMGYZQw0e1NpC76X2N41iGEO9mReHcTzzAj8ZtbNjJSRlPNmXv19Zb4vrDd1q4hwvZO%2BRMWgpNxUGqveIWT%2FBuFkQWfCJ9eJyKDUT3f6xXjHFLe2HsNqCJmDBuhIMWsEV8NxomjXngoXMCt4xGIqfeSAUBDr6ngjoT8%2FmG4lZc39gX3TW645avmd5yTyK536yG9hjPXijJdQPgajGfjtVZLyqJN56VaTB2SOU4CCogacx09W4C3uJBanISGBqYd83heEcIsPMNnwiSN4pDqkeeiMyA%2F5hkiJQn5LqHnBoBHtZEYqzHBV3tYBV9e5QbW%2B7%2Fcc%2BiSENqvHhFIP2J4oeA01YLXCz%2FfZSJ68vWlZ%2Fxe%2BJgeUbuFdkSwY7%2FclcDqajPSwsBrcjCJPAg8kiidxZ4kep8%2FL6l%2BLdi%2FZ9xriAVr8Zh45W%2Bfoo9vcXyxFjwAyHJH5mHYM2Cx3ceWD2EJ5iPwy8kX9K2N35OpHQE3IkspyLEqL4Kg5e6HlU%2Fwv1rBZuy1H97H7k4gp1VGUb8Dn5gZUhE6Jvnbm6RgC0et8BGWUS78iDcQU32NCb3N797S0c2izTRLDuSWBLOxx2hzCgnq0dzMQF3ul3V32QCdz%2FzzCwg2voSLPRCdHujm%2FMxreeS0lyaBKQi4Rmu9xlD7zcmiF4S6pD%2Bxxz0Xpi6TNouOFTZv6LsJ62QnjRfXi9%2FhONbe6QHREAAA%3D%3D'>"
    }
  ]
}

Tweets

GET accounts/:account_id/tweets

检索该账户的完整“可投放用户”(默认)或由 user_id 参数指定的用户的 Tweet 详情。该用户可以是账户下的任一可投放用户

资源 URL

https://ads-api.x.com/12/accounts/:account_id/tweets

参数

名称描述
account_id 必填杠杆账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。类型:string 示例:18ce54d4x5t
tweet_type 必填指定所给 tweet_ids 对应的 Tweet 类型。类型:enum 可选值:DRAFTPUBLISHEDSCHEDULED
count 可选指定每个请求尝试检索的记录数。类型:int 默认值:200 取值范围:11000
cursor 可选指定用于获取下一页结果的游标。更多信息参见 Pagination。类型:string 示例:AAAAAFhLRpQLNF-sGBSgAA
include_mentions_and_replies 可选是否从可用的 Tweets 列表中过滤提及和回复。类型:boolean 默认值:false 可选值:truefalse
name 可选name 限定 Tweets 的可选查询。省略此参数以检索全部。最大长度:80 个字符。注意:执行不区分大小写的前缀匹配。类型:string 示例:dtc
timeline_type 可选返回 nullcast(又称“仅推广”)的 Tweets、有机 Tweets,或两者皆返回。类型:enum 默认值:NULLCAST 可选值:ALLNULLCASTORGANIC
trim_user 可选是否在 Tweet 响应中排除用户对象。启用时,返回的用户对象仅包含该 Tweet 作者的用户 ID。类型:boolean 默认值:false 可选值:truefalse
tweet_ids 可选以逗号分隔的标识符列表。最多可提供 200 个 ID。注意:这些 ID 应与指定的 tweet_type 对应。例如,如果传入的是已排期 Tweet 的 ID,则 tweet_type 必须为 SCHEDULED,该 Tweet 才会在响应中返回。类型:long 示例:1122911801354510336,1102836745790316550
user_id 可选指定要限定 Tweets 的用户。未设置时,默认为账户上的 FULL 可投放用户。类型:long 示例:756201191646691328

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tweets?tweet_ids=1166476031668015104&tweet_type=PUBLISHED&trim_user=true

示例响应结果

{
  "request": {
    "params": {
      "tweet_ids": [
        "1166476031668015104"
      ],
      "tweet_type": "PUBLISHED",
      "trim_user": true,
      "account_id": "18ce54d4x5t"
    }
  },
  "next_cursor": null,
  "data": [
    {
      "coordinates": null,
      "retweeted": false,
      "name": null,
      "source": "<a href="https://ads-api.x.com" rel="nofollow">Ads API Internal Test App</a>",
      "entities": {
        "hashtags": [],
        "symbols": [],
        "user_mentions": [],
        "urls": []
      },
      "display_text_range": [
        0,
        9
      ],
      "favorite_count": 0,
      "in_reply_to_status_id_str": null,
      "geo": null,
      "id_str": "1166476031668015104",
      "scopes": {
        "followers": false
      },
      "in_reply_to_user_id": null,
      "truncated": false,
      "retweet_count": 0,
      "id": 1166476031668015104,
      "in_reply_to_status_id": null,
      "conversation_settings": "EVERYONE",
      "nullcast": true,
      "created_at": "Tue Aug 27 22:22:12 +0000 2019",
      "place": null,
      "scheduled_at": null,
      "tweet_type": "PUBLISHED",
      "favorited": false,
      "full_text": "hello, v6",
      "lang": "es",
      "contributors": [
        2417045708
      ],
      "in_reply_to_screen_name": null,
      "in_reply_to_user_id_str": null,
      "user": {
        "id": 756201191646691328,
        "id_str": "756201191646691328"
      },
      "tweet_id": "1166476031668015104"
    }
  ]
}

POST accounts/:account_id/tweet

为账户的完整可推广用户(默认)或在 as_user_id 参数中指定的用户创建一条 Tweet。支持创建暗投(默认)和自然 Tweet。暗投 Tweet 不会出现在公共时间线中,也不会分发给关注者。两种类型都可用于广告系列。 如果经过身份验证的用户不是此账户的 FULL 可推广用户,请调用 GET accounts/:account_id/authenticated_user_access 端点以确定其是否有权代表该用户发布 Tweet。权限为 TWEET_COMPOSER 表示该用户可以使用此端点代表 FULL 可推广用户 创建暗投 Tweet。 当为媒体使用 upload.x.com 端点 时,请为 additional_owners 参数传入与此端点中 as_user_id 相同的 user_id 值。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/tweet

参数

名称说明
account_id 必填被使用的账户标识符。出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
as_user_id 必填代表其发布 Tweet 的广告主的用户 ID。广告主必须通过 ads.x.com 授予你的账号访问其广告账户的权限。此权限允许你使用自己账号的 OAuth 令牌调用 API,而非使用广告主的。 类型:long 示例:756201191646691328
text 有时必填状态更新的文本。若未指定 media_keys,则必填。 类型:string 示例:hello, world
card_uri 可选使用任意 cards 响应中的 card_uri 值(如有)将卡片与该 Tweet 关联。 类型:string 示例:card://853503245793641682
conversation_settings 可选选择谁可以回复此 Tweet。被提及的任何人始终可以回复。 注意:此字段在 POST 请求的响应中不会返回,但在进行 GET 请求时会返回。 注意:此参数仅适用于 Ads API v8 及以上版本。 类型:enum 默认值:EVERYONE 可能的取值:EVERYONEFOLLOWINGMENTIONED_USERS
media_keys 可选通过指定以逗号分隔的标识符列表将媒体与该 Tweet 关联。最多可包含 4 张图片、1 个动图 GIF 或 1 个视频。 类型:string 示例:13_1153584529292270722
name 可选Tweet 的名称。最大长度:80 个字符。 类型:string 示例:Tweet with name
nullcast 可选是否创建 nullcast(或“仅推广”)Tweet。 注意:自然分发的 Tweet(nullcast=false)只能为已认证用户创建。 类型:boolean 默认值:true 可能的取值:truefalse
trim_user 可选是否在 Tweet 响应中排除用户对象。启用后,返回的用户对象仅包含该 Tweet 作者的用户 ID。 类型:boolean 默认值:false 可能的取值:truefalse
tweet_mode 可选响应应为兼容模式或扩展模式。更多信息请参见此处。 类型:string 可能的取值:compatextended
video_cta 可选视频的 CTA。 类型:enum 可能的取值:VISIT_SITEWATCH_NOW
video_cta_value 可选视频上对应 CTA 的值。 类型:string 示例:https://dev.x.com
video_description 可选显示在视频下方的描述。最大长度:200 个字符。 类型:string 示例:集成 X 广告平台
video_title 可选显示在视频下方的标题。最大长度:70 个字符。 类型:string 示例:X Ads API

示例请求

POST https://ads-api.x.com/12/accounts/18ce54d4x5t/tweet?text=hello, world&as_user_id=756201191646691328&trim_user=true

示例回应

{
  "data": {
    "created_at": "Sat Jun 24 05:08:30 +0000 2017",
    "id": 878479925472251906,
    "id_str": "878479925472251906",
    "text": "你好,世界",
    "name": null,
    "truncated": false,
    "entities": {
      "hashtags": [],
      "symbols": [],
      "user_mentions": [],
      "urls": []
    },
    "source": "<a href='"https://ads-api.x.com"' rel='"nofollow"'>广告API内部测试应用</a>",
    "in_reply_to_status_id": null,
    "in_reply_to_status_id_str": null,
    "in_reply_to_user_id": null,
    "in_reply_to_user_id_str": null,
    "in_reply_to_screen_name": null,
    "user": {
      "id": 756201191646691328,
      "id_str": "756201191646691328"
    },
    "geo": null,
    "coordinates": null,
    "place": null,
    "contributors": null,
    "retweet_count": 0,
    "favorite_count": 0,
    "favorited": false,
    "retweeted": false,
    "scopes": {
      "followers": false
    },
    "lang": "en"
  },
  "request": {
    "params": {
      "text": "你好,世界",
      "trim_user": true,
      "as_user_id": 756201191646691328,
      "account_id": "18ce54d4x5t"
    }
  }
}
更新当前账户下指定的 Tweet 的 name

资源 URL

https://ads-api.x.com/12/accounts/:account_id/tweets/:tweet_id/name

参数

名称说明
account_id 必填所使用账户的标识符。该字段出现在资源路径中,一般是除 GET accounts 以外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
tweet_id 必填本次请求所操作的 Tweet 的引用。 类型:long 示例:994747471329873920
name 可选Tweet 的名称。最大长度:80 个字符。 类型:string 示例:Tweet with name

示例请求

PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/tweets/994747471329873920/name?name=new Tweet name

示例响应

{
  "request": {
    "params": {
      "tweet_id": 994747471329873920,
      "name": "新 Tweet 名称",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
      "coordinates": null,
      "retweeted": false,
      "name": "新 Tweet 名称",
      "conversation_settings": "EVERYONE",
      "source": "<a href="https://ads-api.x.com" rel="nofollow">Ads API Internal Test App</a>",
      "entities": {
        "hashtags": [],
        "symbols": [],
        "user_mentions": [],
        "urls": []
      },
      "display_text_range": [
        0,
        5
      ],
      "favorite_count": 0,
      "in_reply_to_status_id_str": null,
      "geo": null,
      "id_str": "994747471329873920",
      "scopes": {
        "followers": false
      },
      "in_reply_to_user_id": null,
      "truncated": false,
      "retweet_count": 0,
      "scheduled_status": null,
      "id": 994747471329873920,
      "in_reply_to_status_id": null,
      "nullcast": true,
      "created_at": "Wed Jan 01 00:00:00 +0000 2020",
      "place": null,
      "scheduled_at": null,
      "tweet_type": "PUBLISHED",
      "favorited": false,
      "full_text": "hello",
      "lang": "en",
      "contributors": null,
      "in_reply_to_screen_name": null,
      "in_reply_to_user_id_str": null,
      "user": {
        "utc_offset": null,
        "name": "Tushar Bhushan",
        "friends_count": 1065,
        "screen_name": "imit8me",
        "location": "San Francisco, CA",
        "protected": false,
        "url": "https://tushdante.github.io",
        "profile_image_url": "http://pbs.twimg.com/profile_images/618551153131786241/g-MIydXB_normal.jpg",
        "profile_background_color": "C0DEED",
        "profile_use_background_image": true,
        "is_translator": false,
        "geo_enabled": true,
        "description": "Open Sorcerer / Partner Engineer @twitter / Space Traveller | Former evangelist @sendgrid @keen_io",
        "profile_link_color": "1DA1F2",
        "id_str": "3271358660",
        "listed_count": 31,
        "default_profile_image": false,
        "followers_count": 407,
        "profile_image_url_https": "https://pbs.twimg.com/profile_images/618551153131786241/g-MIydXB_normal.jpg",
        "profile_sidebar_border_color": "C0DEED",
        "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
        "favourites_count": 5993,
        "following": null,
        "default_profile": true,
        "withheld_in_countries": [],
        "id": 3271358660,
        "profile_background_tile": false,
        "contributors_enabled": false,
        "follow_request_sent": null,
        "created_at": "Tue Jul 07 22:34:58 +0000 2015",
        "profile_sidebar_fill_color": "DDEEF6",
        "translator_type": "regular",
        "lang": null,
        "profile_text_color": "333333",
        "notifications": null,
        "verified": false,
        "time_zone": null,
        "profile_banner_url": "https://pbs.twimg.com/profile_banners/3271358660/1474853576",
        "statuses_count": 500,
        "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
        "is_translation_enabled": false
      },
      "tweet_id": "994747471329873920"
    }
}

视频会话卡片

注意:要将卡片与 Tweet 关联,请在以下任一端点中使用 card_uri 参数:POST accounts/:account_id/tweetPOST statuses/updatePOST 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

参数

名称描述
account_id 必填目标账户的标识符。出现在资源路径中,通常是除 GET accounts 之外所有 Advertiser API 请求的必需参数。指定的账户必须与已认证用户关联。 类型: string 示例: 18ce54d4x5t
card_ids 可选通过指定以逗号分隔的标识符列表,仅返回所需的视频对话卡片。最多可提供 200 个 ID。 类型: string 示例: 5a86h
count 可选指定每个请求尝试检索的记录数量。 类型: int 默认值: 200 最小值、最大值: 11000
cursor 可选指定用于获取下一页结果的游标。参见 Pagination 了解更多信息。 类型: string 示例: 8x7v00oow
q 可选name 限定卡片的可选查询。省略此参数以检索全部。最大长度:80 个字符。 注意:执行不区分大小写的前缀匹配。 类型: string 示例: night sky
sort_by 可选按支持的属性进行升序或降序排序。参见 Sorting 了解更多信息。 类型: string 示例: created_at-asc
with_deleted 可选在请求中包含已删除的结果。 类型: boolean 默认值: false 可能的取值: truefalse
with_total_count 可选包含 total_count 响应属性。 注意:此参数与 cursor 互斥。 注意:包含 total_count 的请求将具有更低的速率限制,目前为每 15 分钟 200 次。 类型: boolean 默认值: false 可能的取值: truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation?card_ids=5a86h

示例回复

{
  "request": {
    "params": {
      "card_type": "video_conversation",
      "card_ids": [
        "5a86h"
      ],
      "account_id": "18ce54d4x5t"
    }
  },
  "next_cursor": null,
  "data": [
    {
      "name": "视频对话卡",
      "first_cta": "#API",
      "video_height": "9",
      "media_url": "https://video.twimg.com/amplify_video/vmap/958388276489895936.vmap",
      "thank_you_text": "立即构建",
      "video_owner_id": "756201191646691328",
      "media_key": "13_958388276489895936",
      "id": "5a86h",
      "video_width": "16",
      "first_cta_tweet": "广告 API",
      "created_at": "2018-01-30T17:53:04Z",
      "card_uri": "card://958397665015775232",
      "title": "开发者",
      "updated_at": "2018-01-30T17:53:04Z",
      "poster_media_url": "https://pbs.twimg.com/amplify_video_thumb/958388276489895936/img/W-OL5rZ_MZ19A7Pa.jpg",
      "deleted": false,
      "card_type": "VIDEO_CONVERSATION"
    }
  ]
}
获取与当前账户关联的特定视频会话卡。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id

参数

名称说明
account_id 必填目标账户的标识符。该值出现在资源路径中,通常是除 GET accounts 外所有 Advertiser API 请求的必填参数。指定的账户必须与已通过认证的用户关联。 类型:string 示例:18ce54d4x5t
card_id 必填请求中所操作的视频会话卡片的标识引用。 类型:string 示例:4i0ya
with_deleted 可选是否在结果中包含已删除项。 类型:boolean 默认值:false 可能的取值:truefalse

示例请求

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/5a86h

示例响应

{
  "request": {
    "params": {
      "card_type": "video_conversation",
      "card_id": "5a86h",
      "account_id": "18ce54d4x5t"
    }
  },
  "data": {
    "name": "video conversation card",
    "first_cta": "#APIs",
    "video_height": "9",
    "media_url": "https://video.twimg.com/amplify_video/vmap/958388276489895936.vmap",
    "thank_you_text": "Build it",
    "video_owner_id": "756201191646691328",
    "media_key": "13_958388276489895936",
    "id": "5a86h",
    "video_width": "16",
    "first_cta_tweet": "Ads API",
    "created_at": "2018-01-30T17:53:04Z",
    "card_uri": "card://958397665015775232",
    "title": "Developers",
    "updated_at": "2018-01-30T17:53:04Z",
    "poster_media_url": "https://pbs.twimg.com/amplify_video_thumb/958388276489895936/img/W-OL5rZ_MZ19A7Pa.jpg",
    "deleted": false,
    "card_type": "VIDEO_CONVERSATION"
  }
}

POST accounts/:account_id/cards/video_conversation

创建一个与指定账户关联的新视频对话卡片。 请参阅 Uploading Media,了解向我们的端点上传图像的实用信息。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation

参数

名称说明
账户_id必需杠杆账户的标识符。显示在该资源内’在路径中使用,且通常为所有 Advertiser API 请求的必需参数,但不包括GET accounts(获取账户)。指定的账号必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
首先_行动号召必填第一个选项的号召性用语(CTA)标签。最大长度:20 个字符(不含 #)。类型:string 示例:#API
第一_CTA_Tweet必填项当第一个 CTA 被点击时使用的 Tweet 文本。类型:string 示例:广告 API
媒体_密钥必填用于此卡片的视频媒体键。注意事项: 视频必须在该账户中’s媒体库注意: 需要 16:9 的宽高比。 类型:string 示例:13_1168079965037467209
名称必填项卡片名称。 类型:字符串 示例:视频会话卡
谢谢_您_文本必填项点击 CTA 后显示的文本。最大长度:23 个字符。类型:string 示例:开始构建
标题有时为必填项卡片标题,显示在视频下方、CTA 上方。最大长度:23 个字符。类型:string注意:在以下情况下为必填second_ctanot已设置。示例:开发人员
秒_号召性用语有时为必填第二个选项的号召性用语(CTA)话题标签。最大长度:20 个字符(不计入 #)。类型:字符串注意:在以下情况下为必填项标题已设置。示例:#再次分享
秒_号召性用语_Tweet有时必填当用户点击第二个 CTA 时要使用的 Tweet 文本。注意事项:在以下情况下必填second_cta已设置。 类型:字符串 示例:我又爱上 @AdsAPI 了
发布者_媒体_键可选用于此卡片的海报图片的媒体键。如果未指定,将使用第一帧。注意事项: 视频必须位于该账号的媒体库中’s媒体素材库。类型:long 示例:3_882726458191298561
第三_号召性用语可选项第三个选项的号召性(CTA)话题标签。最大长度:20 个字符(不含 #)。 类型:string 示例:#分享更多
第三方_号召性用语(CTA)_Tweet有时必需单击第三个 CTA 时使用的 Tweet 文本。类型:字符串注意:在以下情况下为必填third_cta已设置。示例:我爱 @TwitterDev
第四条_CTA可选项第四个选项的号召性(CTA)话题标签。最大长度:20 个字符(不计入 #)。 类型:string 示例:#ShareExtra
第四个_号召性用语_Tweet有时为必填点击第四个 CTA 时将使用的 Tweet 文本。类型:string注意事项:仅在以下情况下必填fourth_cta已设置。示例:我又爱上了 @TwitterDev
感谢_您_URL可选项与致谢文本一同显示的 URL。类型:string 示例:https://example.com/thankyou
已解锁_图像_媒体_密钥可选Amedia_keymedia_key,对应将在即时解锁场景中使用的图像。此字段为仅写字段。在响应中,API 将为该图像返回一个 X URL。注意: 图像必须在该账号中’的媒体库。类型: string 示例:3_883112887618682880
已解锁_视频_媒体_密钥可选视频的标识符,来自GET accounts/:account_id/media_library将在即时解锁场景中使用的 endpoint。 类型:string 示例:13_867520357225418752

示例请求

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

示例响应

{
  "data": {
    "name": "视频对话卡",
    "first_cta": "#APIs",
    "video_height": "9",
    "media_url": "https://video.twimg.com/amplify_video/vmap/958388276489895936.vmap",
    "thank_you_text": "开始构建",
    "video_owner_id": "756201191646691328",
    "media_key": "13_958388276489895936",
    "id": "5a86h",
    "video_width": "16",
    "first_cta_tweet": "Ads API",
    "created_at": "2018-01-30T17:53:04Z",
    "card_uri": "card://958397665015775232",
    "title": "开发者",
    "updated_at": "2018-01-30T17:53:04Z",
    "poster_media_url": "https://pbs.twimg.com/amplify_video_thumb/958388276489895936/img/W-OL5rZ_MZ19A7Pa.jpg",
    "deleted": false,
    "card_type": "VIDEO_CONVERSATION"
  },
  "request": {
    "params": {
      "video_poster_height": "9",
      "name": "视频对话卡",
      "first_cta": "#APIs",
      "video_height": "9",
      "media_url": "https://video.twimg.com/amplify_video/vmap/958388276489895936.vmap",
      "thank_you_text": "开始构建",
      "video_owner_id": "756201191646691328",
      "media_key": "13_958388276489895936",
      "account_id": "18ce54d4x5t",
      "video_width": "16",
      "first_cta_tweet": "Ads API",
      "title": "开发者",
      "poster_media_url": "https://pbs.twimg.com/amplify_video_thumb/958388276489895936/img/W-OL5rZ_MZ19A7Pa.jpg",
      "video_poster_width": "16",
      "card_type": "VIDEO_CONVERSATION"
    }
  }
}
更新当前账户下的指定视频会话卡片。 请参阅上传媒体,了解向我们的端点上传图片的实用信息。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id

参数

名称说明
帐户_id必填项杠杆账户的标识符。出现在该资源内’的路径中,且通常在所有广告主 API 请求中都是必填参数,但不包括GET accounts。指定的帐号必须与已认证用户关联。 类型:string 示例:18ce54d4x5t
卡片_id必填项在请求中所使用的视频会话卡片的引用。类型:string 示例:5a86h
首先_CTA可选第一个选项的号召性(CTA)话题标签。最大长度:20 个字符(不计入“#”)。类型:string 示例:# API
首先_CTA_Tweet可选项当用户点击第一个 CTA 时要使用的 Tweet 文本。 类型:string 示例:广告 API
秒_号召性用语可选项第二个选项的号召性(CTA)话题标签。最大长度:20 个字符(不计入“#”)。类型:字符串注意:在以下情况下为必填titlenot已设置。示例:#再次分享
秒_行动号召_Tweet可选当点击第二个 CTA 时所使用的 Tweet 文本。注意:在以下情况下为必填second_cta已设置。 类型:字符串 示例:我又爱上了 @AdsAPI
第三_号召性用语可选第三个选项的号召性用语(CTA)标签。最大长度:20 个字符(不含 #)。 类型:string 示例:#分享更多
第三方_CTA_Tweet可选项当点击第三个 CTA 时所使用的 Tweet 文本。类型:string注意:在以下情况时必填third_cta已设置。示例:我爱 @TwitterDev
第四个_号召性用语可选项第四个选项的号召性(CTA)主题标签(hashtag)。最大长度:20 个字符(不包括“#”)。 类型:string 示例:#分享加量
第四_号召性用语_Tweet可选项当点击第四个 CTA 时要使用的 Tweet 文本。类型:字符串注意:在以下情况下为必填fourth_cta已设置。示例:我又爱上了 @TwitterDev
媒体_密钥(可选)此卡片中所用视频的媒体密钥。注意:该视频必须在该账户中’s媒体库注释: 需要使用 16:9 的宽高比。 类型:string 示例:13_1168079965037467209
名称可选卡片名称。 类型:string 示例:开发者卡片
发布者_媒体_密钥(可选)用于此卡片的海报图像的 media key。若未指定,将使用第一帧。注意: 视频必须在该账号下’s媒体资源库。 类型:long 示例:3_882726458191298561
感谢_您_文本(可选)点击 CTA 后显示的文本。最长 23 个字符。 类型:string 示例:构建它
感谢_您_url可选项与感谢文本一同显示的 URL。类型:string 示例:https://example.com/thankyou
标题可选卡片的标题,显示在视频下方、CTA 上方。最大长度:23 个字符。类型:string注意:在以下情况下为必填second_ctanot设置。示例:开始会话
已解锁_图像_媒体_键(可选)Amedia_key将用于“即时解锁”场景的图像。这是一个只写字段。在响应中,API 会为该图像提供一个 X 的 URL。注意事项: 图像必须存于该账户’的媒体库。类型:string 示例:3_883112887618682880
已解锁_视频_媒体_密钥可选(非必填)来自…的视频标识符GET accounts/:account_id/media_library将在即时解锁场景中使用的端点。类型:string 示例:13_867520357225418752

示例请求

PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/5a86h?name=developers card

示例响应

{
  "data": {
    "name": "开发者卡片",
    "first_cta": "#APIs",
    "video_height": "9",
    "media_url": "https://video.twimg.com/amplify_video/vmap/958388276489895936.vmap",
    "thank_you_text": "开始构建",
    "video_owner_id": "756201191646691328",
    "media_key": "13_958388276489895936",
    "id": "5a86h",
    "video_width": "16",
    "first_cta_tweet": "Ads API",
    "created_at": "2018-01-30T17:53:04Z",
    "card_uri": "card://958397665015775232",
    "title": "开发者",
    "updated_at": "2018-01-30T18:02:15Z",
    "poster_media_url": "https://pbs.twimg.com/amplify_video_thumb/958388276489895936/img/W-OL5rZ_MZ19A7Pa.jpg",
    "deleted": false,
    "card_type": "VIDEO_CONVERSATION"
  },
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "card_type": "VIDEO_CONVERSATION",
      "card_id": "5a86h",
      "name": "developers card"
    }
  }
}
永久删除当前账号下的指定视频会话卡片。 注意:这是硬删除,无法恢复。因此,已删除的卡片将无法找回。

资源 URL

https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id

参数

名称说明
account_id 必填目标账户的标识符。该参数出现在资源路径中,通常在除GET accounts外的所有 Advertiser API 请求中都是必需的。指定的账户必须与已通过身份验证的用户关联。 类型:string 示例:18ce54d4x5t
card_id 必填你在请求中所操作的视频会话卡片的引用。 类型:string 示例:4i0ya

示例请求

DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/4i0ya

示例回复

{
  "data": {
    "name": "视频对话卡",
    "id": "4i0ya",
    "created_at": "2017-07-07T01:36:39Z",
    "updated_at": "2017-08-23T13:29:13Z",
    "deleted": true,
    "card_type": "VIDEO_CONVERSATION"
  },
  "request": {
    "params": {
      "card_id": "4i0ya",
      "card_type": "video_conversation",
      "account_id": "18ce54d4x5t"
    }
  }
}