Skip to main content
广告操作将广告平台作为参数,因此同一个操作适用于 Ayrshare 支持的所有广告平台。目前支持 FACEBOOK 和 INSTAGRAM。 每个操作都会调用对应的 REST 广告端点,并原样返回其响应。身份验证和限制与 REST 相同。调用失败时会返回 GraphQL 错误:extensions.status 携带 REST 状态码;当 REST 错误带有 Ayrshare 错误码时,extensions.code 携带该错误码。请参见错误。广告操作需要 Ads 附加组件。如未开通,每次调用都会返回 extensions.status 为 403、extensions.code 为 399 的错误。

操作

每个操作还接受可选的 profileKey,用于对某个 User Profile(用户配置文件)执行操作。所有操作都以 JSON 形式返回 REST 响应,因此不接受字段选择。

列出广告账户

从这里开始。凡是操作需要 accountId 的地方,都使用响应中的 accountId 值。

搜索定向选项

kind 决定搜索类型:INTERESTS 用于受众定向,REGIONS 或 CITIES 用于地理位置。每种类型只接受其自身的参数。例如,countryCode 和 regionId 仅适用于 CITIES,而 INTERESTS 需要 search。

列出广告

至少传入 campaignId、accountId、adId、postId 或 socialPostId 中的一个。socialPostId 是社交网络自身的帖子 ID,用于并非通过 Ayrshare 发布的帖子。

查看广告花费

暂停或恢复广告

updateAd 会改变实际的广告支出。PAUSED 停止支出,ACTIVE 恢复支出,DELETED 或 ARCHIVED 则停用该广告。相同的状态也会设置到该广告所属的广告集和广告活动上,因此该广告集或广告活动中的其他广告也会随之改变。通过 attachTo 附加推广的广告活动或广告集会保留其自身的状态,且广告仅在其上层的广告活动和广告集都处于活跃状态时投放。

推广帖子

boostPost 会花费广告账户中的真实资金。它会将已发布的帖子转为广告。
  • 传入 postId(Ayrshare 帖子 ID)或 socialPostId(社交网络自身的帖子 ID)。
  • 从 adAccounts 获取 accountId。
  • budget.amount 以广告账户的币种计价。仅当 attachTo.adSetId 将广告添加到您已在运行的广告集(该广告集保留其自身预算)时,才可省略 budget。此时也请省略 targeting:广告集会保留其自身的设置。请参见推广到现有广告活动或广告集。
  • schedule、targeting、callToAction、attachTo 和 status 均为可选。如果省略 status 和 schedule,广告将处于活跃状态、立即开始且没有结束日期,因此会持续花费,直到您将其暂停。设置 status: PAUSED 或 schedule.end 可对其加以限制。
  • 将仅某个平台才有的设置放在 platformOptions 下,并以平台作为键。在 Facebook 和 Instagram 上,adName 和 bidAmount 在此处为必填,例如 platformOptions: { facebook: { adName: "Autumn sale", bidAmount: 2 } }。缺少它们时,推广会返回缺少字段的错误。使用 attachTo.adSetId 时,请省略 bidAmount:广告集会保留其自身的出价。
部分参数接受多种形式,因此使用 JSON 类型:
  • accountId 接受字符串或数字。
  • schedule 日期接受 ISO 8601 日期或日期时间,例如 "2026-10-10T09:00:00Z"。请使用这种形式,而不是数字。schedule.end 也接受 0,表示没有结束日期。
  • 位置键接受单个值或列表。
  • targeting.interests 接受字符串或数字形式的 ID。
  • platformOptions 接受一个对象。
每次推广时都发送一个新的 idempotencyKey,例如 UUID。如果调用超时或失败,请使用相同的键和相同的参数重试。
  • 如果第一次推广已完成,重试会返回其响应,而不会创建并支付第二个广告。
  • 如果第一次推广仍在进行中,重试会返回 extensions.status 为 409 的错误。请稍候,然后使用相同的键重试。不要换用新的键。
  • 使用不同的参数重用某个键也会返回 409。
要停止广告支出,请调用 updateAd 并传入 status: PAUSED。boostFacebookPost 和 instagramBoostPost 仍然可用。 各平台专用的操作(例如 facebookAdAccounts 和 instagramAds)仍然可用,且保持不变。