跳转到主要内容
PUT
Update a campaign

请求规范

  • 方法与路径: PUT /apis/v1/ads/campaigns/{campaignId}
  • 可用状态: enabled
  • 请求 URL 模板: https://api.aisa.one/apis/v1/ads/campaigns/{campaignId}
  • campaignId: path; 必填
  • connectionId: query; 必填
  • X-Aisa-Confirm: header; 可选
  • Runtime 事实版本: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
完整 OpenAPI 定义 有效请求与价格声明(包括认证和引用的 schema):

费用与请求规则

当前未提供请求参考价格;请使用接口支持的报价功能确认费用。 最终费用以账户适用价格及实际结算为准。 公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口,执行前请针对完整请求获取免费报价;执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。

授权

Authorization
string
header
必填

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

请求头

X-Aisa-Confirm
enum<string>

Required with the value "spend" when the request can spend money or change spend. Without it the request is refused with 409 confirmation_required, which describes what would happen; nothing is sent to the ad platform.

可用选项:
spend

路径参数

campaignId
string
必填

Platform campaign ID

查询参数

connectionId
string
必填

The ads connection (adc_...) the request runs on: one of yours, from GET /apis/v1/ads/connections. On a request with a JSON body it may be sent as a top-level body member instead.

Pattern: ^adc_[0-9A-Za-z]+$

请求体

application/json
allowSharedBudgetUpdate
boolean
默认值:false

Google only. Explicitly allow changing a shared campaign budget (flagged as shared by Google, or used by more than one campaign), affecting every campaign that uses it. Does not bypass an unknown sharing state.

bidAmount
number

Google only. Whole currency units (USD: 12 = $12.00). Max CPC for LOWEST_COST_WITH_BID_CAP, CPA target for COST_CAP; required for both.

bidStrategy
enum<string>

Meta + Google. Meta: the campaign default that ad sets inherit unless they override it. Google: the campaign's own bidding strategy.

可用选项:
LOWEST_COST_WITHOUT_CAP,
LOWEST_COST_WITH_BID_CAP,
COST_CAP,
LOWEST_COST_WITH_MIN_ROAS
budget
object

Meta CBO, Google daily, or OpenAI Ads or Reddit Ads daily or lifetime campaign budget, in whole currency units.

connectionId
string

The ads connection (adc_...), when not sent as the connectionId query parameter.

Pattern: ^adc_[0-9A-Za-z]+$
finalUrlSuffix
string

Google only. campaign.final_url_suffix; an empty string clears it.

manualCpc
object

Google Search and Display only. Manual CPC bidding. Enhanced CPC is not offered: Google no longer lets Search and Display campaigns enable it. Exclusive with every other strategy field.

name
string

Meta and Reddit. Rename the campaign.

Maximum string length: 255
networkSettings
object

Google Search campaigns only. Which networks the campaign serves on besides Google Search.

platform
enum<string>

Required: platform campaign IDs are not globally unique. Filled from the connection when omitted.

可用选项:
facebook,
instagram,
tiktok,
linkedin,
pinterest,
google,
twitter,
openai,
reddit,
microsoft,
meta,
x
platformSpecificData
object

Meta only. Platform implied by the platform body param, same convention as POST /apis/v1/ads/create.

portfolioBidStrategyId
string

Google only. Attach an existing portfolio bid strategy (numeric id from GET /apis/v1/ads/bid-strategies) instead of setting bidStrategy. Exclusive with bidStrategy.

Pattern: ^\d+$
roasAverageFloor
number

Google only. Decimal ROAS multiplier (2.0 = 2.0x), required for LOWEST_COST_WITH_MIN_ROAS.

sharedBudgetId
string | null

Google only. Move the campaign onto this shared budget (id from GET /apis/v1/ads/shared-budgets), or null to move it back onto a budget of its own sized by budget.

Pattern: ^\d+$
targetImpressionShare
object

Google Search only. Target impression share bidding. Exclusive with bidStrategy, portfolioBidStrategyId and manualCpc; bidAmount is refused alongside it (the ceiling is maxCpc).

trackingUrlTemplate
string

Google only. campaign.tracking_url_template; an empty string clears it.

响应

Campaign updated

Echoes back only the fields you sent, plus updated.

bidAmount
number
bidStrategy
enum<string>

Meta bid strategy. Same enum applies at campaign and ad-set level; ad-set value (when set) overrides campaign-level. Cross-field rules: LOWEST_COST_WITHOUT_CAP (default): auto-bid, forbids bidAmount and roasAverageFloor.

可用选项:
LOWEST_COST_WITHOUT_CAP,
LOWEST_COST_WITH_BID_CAP,
COST_CAP,
LOWEST_COST_WITH_MIN_ROAS
budget
object

Budget amount in the ad account's native currency (see the campaign's currency field for the code).

budgetLevel
enum<string>
可用选项:
campaign
finalUrlSuffix
string
manualCpc
object

Google Search and Display only. Manual CPC bidding. Enhanced CPC is not offered: Google no longer lets Search and Display campaigns enable it. Exclusive with every other strategy field.

networkSettings
object

Google Search campaigns only. Which networks the campaign serves on besides Google Search.

platformSpecificData
object
portfolioBidStrategyId
string

Google only. Echoed back, but NOT mirrored onto local Ad documents (no column for it yet).

roasAverageFloor
number
sharedBudgetId
string | null

Google only. Echoed back when the campaign moved budgets; budget is then the budget it now uses.

targetImpressionShare
object

Google only. Target impression share bidding (Search campaigns only): Google sets bids so the ads show in location for percent of eligible impressions.

trackingUrlTemplate
string
updated
integer

Local Ad documents mirrored. 0 on the empty-campaign path.