late-sdk 0.0.818 → 0.0.819

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16c86d5f4f5d228c933270e559339e719bf32027fd16c2820486c2dd20127993
4
- data.tar.gz: 96a22c532228510bf1c19f59b53d2fdfd77e2479e9852f544ca18ddabe5d5813
3
+ metadata.gz: 48642ee1a05e3aba045bae3b8576d01c44f9634ce367147070d3a0a52ea7659e
4
+ data.tar.gz: 5a8367a4fc6adbb050901860aab845ac2de7c0502df4b2ab32cc87e14244d9ec
5
5
  SHA512:
6
- metadata.gz: '082b207dcc175b4a8623b269352222955c3f4335e68551fcfd9f11742de02a17b985490094d5d44eb1fb6dbce74bcc05fa9d3febdebfc7645cd132718f26c179'
7
- data.tar.gz: a70278cf0479b1e38716b9844bd82c1eb0c359850f5ce95b8215ea000147e2db69eed34e532922ffe3fd24c3709991a93896416990525fbf69c22128199beced
6
+ metadata.gz: 5092c3e4bebde157d4d8277d2614b9b194a7b858eebdef066217e2e65f79bc9746809753c0e0cd0857dced691e86447c8a2471a5445aa320f62b0e6aa75c006f
7
+ data.tar.gz: 5227df00afbc3c6e75fada2691b0b7783fcba69eeff894064dcd38e3f1eb15f6162717858ec2c2a8807e2994545c033621f15d6daf35143e30308b9299d86beb
@@ -249,7 +249,7 @@ end
249
249
 
250
250
  Create a standalone campaign
251
251
 
252
- Creates a campaign WITHOUT its first ad set / ad (the ODAX shell only). Ad sets join it later via `existingCampaignId` on the create endpoints. A budget here is campaign-level (CBO) by definition; omit it for ABO (each ad set carries its own budget). Created `PAUSED` unless `status: ACTIVE`. The campaign materializes in `/v1/ads/tree` via the next sync discovery pass. **Idempotency:** send an `Idempotency-Key` header to make retries safe.
252
+ Creates a campaign WITHOUT its first ad set / ad, on the platform of the given `accountId`. Ad sets join it later via `existingCampaignId` on the create endpoints. Platform notes: on Meta a budget here is campaign-level (CBO) by definition; omit it for ABO (each ad set carries its own budget), and `specialAdCategories` / `bidStrategy` are Meta-only (400 elsewhere). Google, X and OpenAI require a budget (422 without one; OpenAI accepts only `budgetType: lifetime`). LinkedIn creates the campaign GROUP (our campaign level) and rejects a budget, which lives on the campaign (ad set) level there; it comes back `status: DRAFT`. TikTok campaigns are created without a status and report `ENABLE`. Created `PAUSED` unless `status: ACTIVE` where the platform supports it. **Idempotency:** send an `Idempotency-Key` header to make retries safe.
253
253
 
254
254
  ### Examples
255
255
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
8
- | **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
7
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created. | |
8
+ | **ad_account_id** | **String** | Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...). | |
9
9
  | **name** | **String** | | |
10
10
  | **goal** | **String** | Mapped to the ODAX objective (same mapping as POST /v1/ads/create). | |
11
11
  | **special_ad_categories** | **Array<String>** | | [optional] |
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token and Page. | |
8
- | **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
8
+ | **ad_account_id** | **String** | Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...). | |
9
9
  | **headline** | **String** | | |
10
10
  | **body** | **String** | Primary text | |
11
11
  | **description** | **String** | Link description below the headline; omitted = Meta scrapes the destination's OG description. | [optional] |
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
7
+ | **ad_account_id** | **String** | Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...). | |
8
8
  | **name** | **String** | Also the reuse key, together with pixelId. | |
9
9
  | **pixel_id** | **String** | Meta pixel id (event_source_id). From GET /v1/accounts/{accountId}/tracking-tags. | |
10
10
  | **custom_event_type** | **String** | Meta custom_event_type, e.g. LEAD, PURCHASE, OTHER. | |
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant). | |
8
- | **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
8
+ | **ad_account_id** | **String** | Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...). | |
9
9
  | **budget_amount** | **Float** | Whole currency units. Exactly one of budgetAmount / reach. | [optional] |
10
10
  | **reach** | **Integer** | Target unique reach. Exactly one of budgetAmount / reach. | [optional] |
11
11
  | **start_date** | **Time** | Campaign window start (must be in the future). | |
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
8
- | **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
7
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created. | |
8
+ | **ad_account_id** | **String** | Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...). | |
9
9
  | **name** | **String** | | |
10
10
  | **rules** | [**Array<ValueRule>**](ValueRule.md) | Evaluated in order; the first matching rule wins. | |
11
11
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **account_id** | **String** | Zernio SocialAccount id used to resolve the Meta token. | |
8
- | **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
8
+ | **ad_account_id** | **String** | Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...). | |
9
9
  | **formats** | **Array<String>** | Meta ad_format values, one preview per format. Defaults to [DESKTOP_FEED_STANDARD]. | [optional] |
10
10
  | **existing_creative_id** | **String** | Preview an existing ad-account creative by id. Mutually exclusive with creativeSpec. | [optional] |
11
11
  | **creative_spec** | **Hash<String, Object>** | Raw Meta creative spec forwarded verbatim to /generatepreviews. Mutually exclusive with existingCreativeId. | [optional] |
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
7
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created. | |
8
8
  | **name** | **String** | | |
9
9
 
10
10
  ## Example
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
7
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created. | |
8
8
  | **name** | **String** | Required: the update replaces the whole set. | |
9
9
  | **rules** | [**Array<ValueRule>**](ValueRule.md) | The COMPLETE rule list. Omitting a rule deletes it on Meta. | |
10
10
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
8
- | **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
7
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created. | |
8
+ | **ad_account_id** | **String** | Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...). | |
9
9
  | **image_base64** | **String** | Raw base64 image bytes, or a full data URL (the data:image/...;base64, prefix is stripped). | |
10
10
  | **filename** | **String** | Optional filename shown in Meta's image library. Defaults to ad_image.jpg. | [optional] |
11
11
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
8
- | **ad_account_id** | **String** | Meta ad account id (act_<n>). | |
7
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created. | |
8
+ | **ad_account_id** | **String** | Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...). | |
9
9
  | **video_url** | **String** | Public https URL of the video; downloaded server-side (SSRF-guarded) before chunked upload. Provide exactly one of videoUrl or videoBase64. | [optional] |
10
10
  | **video_base64** | **String** | Raw base64 video bytes, or a full data URL (the data:video/...;base64, prefix is stripped). Capped by Vercel's body limit (~4.5 MB payload). Provide exactly one of videoUrl or videoBase64. | [optional] |
11
11
  | **filename** | **String** | Optional filename shown alongside the upload session. Applied only when uploading via videoBase64. | [optional] |
@@ -237,7 +237,7 @@ module Zernio
237
237
  end
238
238
 
239
239
  # Create a standalone campaign
240
- # Creates a campaign WITHOUT its first ad set / ad (the ODAX shell only). Ad sets join it later via `existingCampaignId` on the create endpoints. A budget here is campaign-level (CBO) by definition; omit it for ABO (each ad set carries its own budget). Created `PAUSED` unless `status: ACTIVE`. The campaign materializes in `/v1/ads/tree` via the next sync discovery pass. **Idempotency:** send an `Idempotency-Key` header to make retries safe.
240
+ # Creates a campaign WITHOUT its first ad set / ad, on the platform of the given `accountId`. Ad sets join it later via `existingCampaignId` on the create endpoints. Platform notes: on Meta a budget here is campaign-level (CBO) by definition; omit it for ABO (each ad set carries its own budget), and `specialAdCategories` / `bidStrategy` are Meta-only (400 elsewhere). Google, X and OpenAI require a budget (422 without one; OpenAI accepts only `budgetType: lifetime`). LinkedIn creates the campaign GROUP (our campaign level) and rejects a budget, which lives on the campaign (ad set) level there; it comes back `status: DRAFT`. TikTok campaigns are created without a status and report `ENABLE`. Created `PAUSED` unless `status: ACTIVE` where the platform supports it. **Idempotency:** send an `Idempotency-Key` header to make retries safe.
241
241
  # @param create_ad_campaign_request [CreateAdCampaignRequest]
242
242
  # @param [Hash] opts the optional parameters
243
243
  # @option opts [String] :idempotency_key Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409. Only 2xx responses are stored, so a request that failed with a 4xx can be retried with a corrected body under the SAME key.
@@ -248,7 +248,7 @@ module Zernio
248
248
  end
249
249
 
250
250
  # Create a standalone campaign
251
- # Creates a campaign WITHOUT its first ad set / ad (the ODAX shell only). Ad sets join it later via `existingCampaignId` on the create endpoints. A budget here is campaign-level (CBO) by definition; omit it for ABO (each ad set carries its own budget). Created `PAUSED` unless `status: ACTIVE`. The campaign materializes in `/v1/ads/tree` via the next sync discovery pass. **Idempotency:** send an `Idempotency-Key` header to make retries safe.
251
+ # Creates a campaign WITHOUT its first ad set / ad, on the platform of the given `accountId`. Ad sets join it later via `existingCampaignId` on the create endpoints. Platform notes: on Meta a budget here is campaign-level (CBO) by definition; omit it for ABO (each ad set carries its own budget), and `specialAdCategories` / `bidStrategy` are Meta-only (400 elsewhere). Google, X and OpenAI require a budget (422 without one; OpenAI accepts only `budgetType: lifetime`). LinkedIn creates the campaign GROUP (our campaign level) and rejects a budget, which lives on the campaign (ad set) level there; it comes back `status: DRAFT`. TikTok campaigns are created without a status and report `ENABLE`. Created `PAUSED` unless `status: ACTIVE` where the platform supports it. **Idempotency:** send an `Idempotency-Key` header to make retries safe.
252
252
  # @param create_ad_campaign_request [CreateAdCampaignRequest]
253
253
  # @param [Hash] opts the optional parameters
254
254
  # @option opts [String] :idempotency_key Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409. Only 2xx responses are stored, so a request that failed with a 4xx can be retried with a corrected body under the SAME key.
@@ -15,10 +15,10 @@ require 'time'
15
15
 
16
16
  module Zernio
17
17
  class CreateAdCampaignRequest < ApiModelBase
18
- # Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
18
+ # Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created.
19
19
  attr_accessor :account_id
20
20
 
21
- # Meta ad account id (act_<n>).
21
+ # Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).
22
22
  attr_accessor :ad_account_id
23
23
 
24
24
  attr_accessor :name
@@ -18,7 +18,7 @@ module Zernio
18
18
  # Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token and Page.
19
19
  attr_accessor :account_id
20
20
 
21
- # Meta ad account id (act_<n>).
21
+ # Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).
22
22
  attr_accessor :ad_account_id
23
23
 
24
24
  attr_accessor :headline
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Zernio
17
17
  class CreateCustomConversionRequest < ApiModelBase
18
- # Meta ad account id (act_<n>).
18
+ # Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).
19
19
  attr_accessor :ad_account_id
20
20
 
21
21
  # Also the reuse key, together with pixelId.
@@ -18,7 +18,7 @@ module Zernio
18
18
  # Zernio SocialAccount id (posting or ads variant).
19
19
  attr_accessor :account_id
20
20
 
21
- # Meta ad account id (act_<n>).
21
+ # Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).
22
22
  attr_accessor :ad_account_id
23
23
 
24
24
  # Whole currency units. Exactly one of budgetAmount / reach.
@@ -15,10 +15,10 @@ require 'time'
15
15
 
16
16
  module Zernio
17
17
  class CreateValueRuleSetRequest < ApiModelBase
18
- # Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
18
+ # Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created.
19
19
  attr_accessor :account_id
20
20
 
21
- # Meta ad account id (act_<n>).
21
+ # Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).
22
22
  attr_accessor :ad_account_id
23
23
 
24
24
  attr_accessor :name
@@ -18,7 +18,7 @@ module Zernio
18
18
  # Zernio SocialAccount id used to resolve the Meta token.
19
19
  attr_accessor :account_id
20
20
 
21
- # Meta ad account id (act_<n>).
21
+ # Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).
22
22
  attr_accessor :ad_account_id
23
23
 
24
24
  # Meta ad_format values, one preview per format. Defaults to [DESKTOP_FEED_STANDARD].
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Zernio
17
17
  class UpdateAdCreativeRequest < ApiModelBase
18
- # Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
18
+ # Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created.
19
19
  attr_accessor :account_id
20
20
 
21
21
  attr_accessor :name
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Zernio
17
17
  class UpdateValueRuleSetRequest < ApiModelBase
18
- # Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
18
+ # Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created.
19
19
  attr_accessor :account_id
20
20
 
21
21
  # Required: the update replaces the whole set.
@@ -15,10 +15,10 @@ require 'time'
15
15
 
16
16
  module Zernio
17
17
  class UploadAdImageRequest < ApiModelBase
18
- # Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
18
+ # Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created.
19
19
  attr_accessor :account_id
20
20
 
21
- # Meta ad account id (act_<n>).
21
+ # Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).
22
22
  attr_accessor :ad_account_id
23
23
 
24
24
  # Raw base64 image bytes, or a full data URL (the data:image/...;base64, prefix is stripped).
@@ -15,10 +15,10 @@ require 'time'
15
15
 
16
16
  module Zernio
17
17
  class UploadAdVideoRequest < ApiModelBase
18
- # Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
18
+ # Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created.
19
19
  attr_accessor :account_id
20
20
 
21
- # Meta ad account id (act_<n>).
21
+ # Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).
22
22
  attr_accessor :ad_account_id
23
23
 
24
24
  # Public https URL of the video; downloaded server-side (SSRF-guarded) before chunked upload. Provide exactly one of videoUrl or videoBase64.
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.818'
14
+ VERSION = '0.0.819'
15
15
  end
data/openapi.yaml CHANGED
@@ -40605,14 +40605,19 @@ paths:
40605
40605
  x-resource-group: "ads"
40606
40606
  operationId: createAdCampaign
40607
40607
  tags: ["Ad Campaigns"]
40608
- x-platforms: ["meta"]
40608
+ x-platforms: ["meta", "google", "linkedin", "tiktok", "x", "pinterest", "openai"]
40609
40609
  summary: Create a standalone campaign
40610
40610
  description: |-
40611
- Creates a campaign WITHOUT its first ad set / ad (the ODAX shell only). Ad sets join it
40612
- later via `existingCampaignId` on the create endpoints. A budget here is campaign-level
40613
- (CBO) by definition; omit it for ABO (each ad set carries its own budget). Created
40614
- `PAUSED` unless `status: ACTIVE`. The campaign materializes in `/v1/ads/tree` via the
40615
- next sync discovery pass.
40611
+ Creates a campaign WITHOUT its first ad set / ad, on the platform of the given
40612
+ `accountId`. Ad sets join it later via `existingCampaignId` on the create endpoints.
40613
+ Platform notes: on Meta a budget here is campaign-level (CBO) by definition; omit it
40614
+ for ABO (each ad set carries its own budget), and `specialAdCategories` /
40615
+ `bidStrategy` are Meta-only (400 elsewhere). Google, X and OpenAI require a budget
40616
+ (422 without one; OpenAI accepts only `budgetType: lifetime`). LinkedIn creates the
40617
+ campaign GROUP (our campaign level) and rejects a budget, which lives on the
40618
+ campaign (ad set) level there; it comes back `status: DRAFT`. TikTok campaigns are
40619
+ created without a status and report `ENABLE`. Created `PAUSED` unless
40620
+ `status: ACTIVE` where the platform supports it.
40616
40621
 
40617
40622
  **Idempotency:** send an `Idempotency-Key` header to make retries safe.
40618
40623
  security:
@@ -40636,8 +40641,8 @@ paths:
40636
40641
  type: object
40637
40642
  required: [accountId, adAccountId, name, goal]
40638
40643
  properties:
40639
- accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token." }
40640
- adAccountId: { type: string, description: "Meta ad account id (act_<n>)." }
40644
+ accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created." }
40645
+ adAccountId: { type: string, description: "Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...)." }
40641
40646
  name: { type: string, maxLength: 255 }
40642
40647
  goal:
40643
40648
  type: string
@@ -41955,7 +41960,7 @@ paths:
41955
41960
  required: [accountId, adAccountId]
41956
41961
  properties:
41957
41962
  accountId: { type: string, description: "Zernio SocialAccount id used to resolve the Meta token." }
41958
- adAccountId: { type: string, description: "Meta ad account id (act_<n>)." }
41963
+ adAccountId: { type: string, description: "Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...)." }
41959
41964
  formats:
41960
41965
  type: array
41961
41966
  minItems: 1
@@ -42722,7 +42727,7 @@ paths:
42722
42727
  required: [accountId, adAccountId, startDate, endDate]
42723
42728
  properties:
42724
42729
  accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant)." }
42725
- adAccountId: { type: string, description: "Meta ad account id (act_<n>)." }
42730
+ adAccountId: { type: string, description: "Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...)." }
42726
42731
  budgetAmount: { type: number, description: "Whole currency units. Exactly one of budgetAmount / reach." }
42727
42732
  reach: { type: integer, description: "Target unique reach. Exactly one of budgetAmount / reach." }
42728
42733
  startDate: { type: string, format: date-time, description: "Campaign window start (must be in the future)." }
@@ -43096,7 +43101,7 @@ paths:
43096
43101
  required: [accountId, adAccountId, headline, body, linkUrl]
43097
43102
  properties:
43098
43103
  accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token and Page." }
43099
- adAccountId: { type: string, description: "Meta ad account id (act_<n>)." }
43104
+ adAccountId: { type: string, description: "Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...)." }
43100
43105
  headline: { type: string, maxLength: 255 }
43101
43106
  body: { type: string, description: Primary text }
43102
43107
  description: { type: string, maxLength: 255, description: "Link description below the headline; omitted = Meta scrapes the destination's OG description." }
@@ -43192,7 +43197,7 @@ paths:
43192
43197
  type: object
43193
43198
  required: [accountId, name]
43194
43199
  properties:
43195
- accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token." }
43200
+ accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created." }
43196
43201
  name: { type: string, maxLength: 255 }
43197
43202
  responses:
43198
43203
  '200':
@@ -43335,8 +43340,8 @@ paths:
43335
43340
  type: object
43336
43341
  required: [accountId, adAccountId, name, rules]
43337
43342
  properties:
43338
- accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token." }
43339
- adAccountId: { type: string, description: "Meta ad account id (act_<n>)." }
43343
+ accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created." }
43344
+ adAccountId: { type: string, description: "Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...)." }
43340
43345
  name: { type: string, minLength: 1, maxLength: 255 }
43341
43346
  rules:
43342
43347
  type: array
@@ -43426,7 +43431,7 @@ paths:
43426
43431
  type: object
43427
43432
  required: [accountId, name, rules]
43428
43433
  properties:
43429
- accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token." }
43434
+ accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created." }
43430
43435
  name: { type: string, minLength: 1, maxLength: 255, description: "Required: the update replaces the whole set." }
43431
43436
  rules:
43432
43437
  type: array
@@ -45492,8 +45497,8 @@ paths:
45492
45497
  type: object
45493
45498
  required: [accountId, adAccountId, imageBase64]
45494
45499
  properties:
45495
- accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token." }
45496
- adAccountId: { type: string, description: "Meta ad account id (act_<n>)." }
45500
+ accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created." }
45501
+ adAccountId: { type: string, description: "Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...)." }
45497
45502
  imageBase64: { type: string, description: "Raw base64 image bytes, or a full data URL (the data:image/...;base64, prefix is stripped)." }
45498
45503
  filename: { type: string, description: "Optional filename shown in Meta's image library. Defaults to ad_image.jpg." }
45499
45504
  responses:
@@ -45584,8 +45589,8 @@ paths:
45584
45589
  type: object
45585
45590
  required: [accountId, adAccountId]
45586
45591
  properties:
45587
- accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token." }
45588
- adAccountId: { type: string, description: "Meta ad account id (act_<n>)." }
45592
+ accountId: { type: string, description: "Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created." }
45593
+ adAccountId: { type: string, description: "Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...)." }
45589
45594
  videoUrl: { type: string, description: "Public https URL of the video; downloaded server-side (SSRF-guarded) before chunked upload. Provide exactly one of videoUrl or videoBase64." }
45590
45595
  videoBase64: { type: string, description: "Raw base64 video bytes, or a full data URL (the data:video/...;base64, prefix is stripped). Capped by Vercel's body limit (~4.5 MB payload). Provide exactly one of videoUrl or videoBase64." }
45591
45596
  filename: { type: string, description: "Optional filename shown alongside the upload session. Applied only when uploading via videoBase64." }
@@ -47958,7 +47963,7 @@ paths:
47958
47963
  type: object
47959
47964
  required: [adAccountId, name, pixelId, customEventType, rule]
47960
47965
  properties:
47961
- adAccountId: { type: string, description: "Meta ad account id (act_<n>)." }
47966
+ adAccountId: { type: string, description: "Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...)." }
47962
47967
  name: { type: string, maxLength: 255, description: "Also the reuse key, together with pixelId." }
47963
47968
  pixelId: { type: string, description: "Meta pixel id (event_source_id). From GET /v1/accounts/{accountId}/tracking-tags." }
47964
47969
  customEventType: { type: string, description: "Meta custom_event_type, e.g. LEAD, PURCHASE, OTHER." }
@@ -72,7 +72,7 @@ describe 'AdCampaignsApi' do
72
72
 
73
73
  # unit tests for create_ad_campaign
74
74
  # Create a standalone campaign
75
- # Creates a campaign WITHOUT its first ad set / ad (the ODAX shell only). Ad sets join it later via &#x60;existingCampaignId&#x60; on the create endpoints. A budget here is campaign-level (CBO) by definition; omit it for ABO (each ad set carries its own budget). Created &#x60;PAUSED&#x60; unless &#x60;status: ACTIVE&#x60;. The campaign materializes in &#x60;/v1/ads/tree&#x60; via the next sync discovery pass. **Idempotency:** send an &#x60;Idempotency-Key&#x60; header to make retries safe.
75
+ # Creates a campaign WITHOUT its first ad set / ad, on the platform of the given &#x60;accountId&#x60;. Ad sets join it later via &#x60;existingCampaignId&#x60; on the create endpoints. Platform notes: on Meta a budget here is campaign-level (CBO) by definition; omit it for ABO (each ad set carries its own budget), and &#x60;specialAdCategories&#x60; / &#x60;bidStrategy&#x60; are Meta-only (400 elsewhere). Google, X and OpenAI require a budget (422 without one; OpenAI accepts only &#x60;budgetType: lifetime&#x60;). LinkedIn creates the campaign GROUP (our campaign level) and rejects a budget, which lives on the campaign (ad set) level there; it comes back &#x60;status: DRAFT&#x60;. TikTok campaigns are created without a status and report &#x60;ENABLE&#x60;. Created &#x60;PAUSED&#x60; unless &#x60;status: ACTIVE&#x60; where the platform supports it. **Idempotency:** send an &#x60;Idempotency-Key&#x60; header to make retries safe.
76
76
  # @param create_ad_campaign_request
77
77
  # @param [Hash] opts the optional parameters
78
78
  # @option opts [String] :idempotency_key Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409. Only 2xx responses are stored, so a request that failed with a 4xx can be retried with a corrected body under the SAME key.
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: late-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.818
4
+ version: 0.0.819
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-01 00:00:00.000000000 Z
11
+ date: 2026-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -5557,7 +5557,7 @@ files:
5557
5557
  - spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
5558
5558
  - spec/models/you_tube_video_retention_response_spec.rb
5559
5559
  - spec/spec_helper.rb
5560
- - zernio-sdk-0.0.818.gem
5560
+ - zernio-sdk-0.0.819.gem
5561
5561
  - zernio-sdk.gemspec
5562
5562
  homepage: https://openapi-generator.tech
5563
5563
  licenses:
Binary file