跳转到主要内容
POST
Duplicate a campaign

请求规范

  • 方法与路径: POST /apis/v1/ads/campaigns/{campaignId}/duplicate
  • 可用状态: enabled
  • 请求 URL 模板: https://api.aisa.one/apis/v1/ads/campaigns/{campaignId}/duplicate
  • campaignId: path; 必填
  • connectionId: query; 必填
  • X-Aisa-Confirm: header; 可选
  • Idempotency-Key: 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
Idempotency-Key
string

Passed to the ad platform integration: a retry with the same key returns the first result instead of acting twice. AIsa never retries a write for you.

Required string length: 1 - 191

路径参数

campaignId
string
必填

Source 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
connectionId
string

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

Pattern: ^adc_[0-9A-Za-z]+$
deepCopy
boolean
默认值:true

Copy child ad sets + ads + creatives + targeting

endTime
string<date-time>

Reschedule the copied hierarchy's end, read like startTime; a date-only end runs to 23:59:59 local. Defaults to the source's end.

platform
enum<string>

Filled from the connection when omitted.

可用选项:
facebook,
instagram,
tiktok,
linkedin,
meta
renamePrefix
string

Text prepended to each renamed object's name.

renameStrategy
enum<string>

Meta's native rename_strategy values: DEEP_RENAME: renames the copied campaign and every copied child (ad sets, ads) with renamePrefix / renameSuffix.

可用选项:
DEEP_RENAME,
ONLY_TOP_LEVEL_RENAME,
NO_RENAME
renameSuffix
string

Text appended to each renamed object's name. On LinkedIn an omitted suffix defaults to (Copy).

startTime
string<date-time>

Reschedule the copied hierarchy's start (ISO 8601). TikTok defaults to a start a few minutes after the copy.

statusOption
enum<string>
默认值:PAUSED

ACTIVE = launch the clone immediately (spends the moment LinkedIn approves it). PAUSED = clone stays DRAFT, safe default. INHERITED_FROM_SOURCE = mirror each entity's source status per-entity.

可用选项:
ACTIVE,
PAUSED,
INHERITED_FROM_SOURCE
syncAfter
boolean
默认值:true

Trigger ads discovery on the owning account after the copy succeeds

响应

Campaign duplicated

adIdMap
object

Meta only: source ad ID to copied ad ID, across every copied ad set. Empty when deepCopy is false.

adSetIdMap
object

Meta only: source ad set ID to copied ad set ID. Empty when deepCopy is false.

copiedCampaignId
string

Platform ID of the new campaign

discovery
enum<string>
可用选项:
triggered,
skipped,
failed
raw
object

Platform-native response from the copy (TikTok and LinkedIn). Absent on Meta, which returns adSetIdMap and adIdMap instead.