zernio-sdk 0.0.816 → 0.0.818
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 +4 -4
- data/docs/ConnectApi.md +1 -1
- data/lib/zernio-sdk/api/connect_api.rb +2 -2
- data/lib/zernio-sdk/version.rb +1 -1
- data/openapi.yaml +34 -5
- data/spec/api/connect_api_spec.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 178d9a86c3ca37d445d083262a0adc5b9ce7efe0ae39acc3b3e04990d9862e48
|
|
4
|
+
data.tar.gz: 75fd49c2c80b9584e3038d3c991cd1e1cf320dda36a3339e08a54c1be77a3db7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: de3ec72370eda4c0ff20d2dbea2f97701d0c431ac722ba9c044ecc1e3e338efc1700db25738aae4473d1c65581720a22680d74107a2e596787a2deadae3c0c9e
|
|
7
|
+
data.tar.gz: 825357536562f978232dbd8770b831f7752f0487fa7c680f60cda1818dea30774377e2cfb117f848f85d1d0b7e43f0e557c61befc9030c99edb88846b7b615ca
|
data/docs/ConnectApi.md
CHANGED
|
@@ -1279,7 +1279,7 @@ end
|
|
|
1279
1279
|
|
|
1280
1280
|
Get pending OAuth data
|
|
1281
1281
|
|
|
1282
|
-
Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook
|
|
1282
|
+
Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Google Business locations, Slack channels, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook and other platforms pass selection state directly via URL query params on the redirect (`profileId`, `tempToken`, `step`), no pending record is created, so this endpoint will return 404 for those flows. Use the platform-specific selection endpoint instead (e.g. `/v1/connect/whatsapp/select-phone-number`). Reading the token does not consume it, so this fetch is repeatable until the token expires 1 hour after issuance. Completing the platform selection deletes the pending record, so the token stops working from then on. No authentication required.
|
|
1283
1283
|
|
|
1284
1284
|
### Examples
|
|
1285
1285
|
|
|
@@ -1244,7 +1244,7 @@ module Zernio
|
|
|
1244
1244
|
end
|
|
1245
1245
|
|
|
1246
1246
|
# Get pending OAuth data
|
|
1247
|
-
# Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook
|
|
1247
|
+
# Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Google Business locations, Slack channels, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook and other platforms pass selection state directly via URL query params on the redirect (`profileId`, `tempToken`, `step`), no pending record is created, so this endpoint will return 404 for those flows. Use the platform-specific selection endpoint instead (e.g. `/v1/connect/whatsapp/select-phone-number`). Reading the token does not consume it, so this fetch is repeatable until the token expires 1 hour after issuance. Completing the platform selection deletes the pending record, so the token stops working from then on. No authentication required.
|
|
1248
1248
|
# @param token [String] The pending data token from the OAuth redirect URL (pendingDataToken parameter)
|
|
1249
1249
|
# @param [Hash] opts the optional parameters
|
|
1250
1250
|
# @return [GetPendingOAuthData200Response]
|
|
@@ -1254,7 +1254,7 @@ module Zernio
|
|
|
1254
1254
|
end
|
|
1255
1255
|
|
|
1256
1256
|
# Get pending OAuth data
|
|
1257
|
-
# Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook
|
|
1257
|
+
# Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Google Business locations, Slack channels, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook and other platforms pass selection state directly via URL query params on the redirect (`profileId`, `tempToken`, `step`), no pending record is created, so this endpoint will return 404 for those flows. Use the platform-specific selection endpoint instead (e.g. `/v1/connect/whatsapp/select-phone-number`). Reading the token does not consume it, so this fetch is repeatable until the token expires 1 hour after issuance. Completing the platform selection deletes the pending record, so the token stops working from then on. No authentication required.
|
|
1258
1258
|
# @param token [String] The pending data token from the OAuth redirect URL (pendingDataToken parameter)
|
|
1259
1259
|
# @param [Hash] opts the optional parameters
|
|
1260
1260
|
# @return [Array<(GetPendingOAuthData200Response, Integer, Hash)>] GetPendingOAuthData200Response data, response status code and response headers
|
data/lib/zernio-sdk/version.rb
CHANGED
data/openapi.yaml
CHANGED
|
@@ -20508,9 +20508,9 @@ paths:
|
|
|
20508
20508
|
description: |
|
|
20509
20509
|
Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL.
|
|
20510
20510
|
|
|
20511
|
-
**Scope**: This endpoint is used for LinkedIn organizations, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook
|
|
20511
|
+
**Scope**: This endpoint is used for LinkedIn organizations, Google Business locations, Slack channels, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook and other platforms pass selection state directly via URL query params on the redirect (`profileId`, `tempToken`, `step`), no pending record is created, so this endpoint will return 404 for those flows. Use the platform-specific selection endpoint instead (e.g. `/v1/connect/whatsapp/select-phone-number`).
|
|
20512
20512
|
|
|
20513
|
-
|
|
20513
|
+
Reading the token does not consume it, so this fetch is repeatable until the token expires 1 hour after issuance. Completing the platform selection deletes the pending record, so the token stops working from then on. No authentication required.
|
|
20514
20514
|
parameters:
|
|
20515
20515
|
- name: token
|
|
20516
20516
|
in: query
|
|
@@ -40722,6 +40722,8 @@ paths:
|
|
|
40722
40722
|
'400':
|
|
40723
40723
|
description: Invalid input or campaign spans multiple social accounts
|
|
40724
40724
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
40725
|
+
'403':
|
|
40726
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
40725
40727
|
'404':
|
|
40726
40728
|
description: No ads found for this campaign
|
|
40727
40729
|
|
|
@@ -40805,6 +40807,8 @@ paths:
|
|
|
40805
40807
|
platformSpecificData: { type: object }
|
|
40806
40808
|
'400': { description: "Invalid input, or a field the resolved platform does not support at the campaign level (see the support table)" }
|
|
40807
40809
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
40810
|
+
'403':
|
|
40811
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
40808
40812
|
'404': { description: Campaign not found }
|
|
40809
40813
|
'409': { description: "Campaign is ABO — route to /v1/ads/ad-sets/{adSetId} instead" }
|
|
40810
40814
|
'501': { description: Operation not supported on this platform }
|
|
@@ -40914,6 +40918,8 @@ paths:
|
|
|
40914
40918
|
'400': { description: Invalid input }
|
|
40915
40919
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
40916
40920
|
|
|
40921
|
+
'403':
|
|
40922
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
40917
40923
|
/v1/ads/campaigns/{campaignId}/duplicate:
|
|
40918
40924
|
post:
|
|
40919
40925
|
x-resource-group: "ads"
|
|
@@ -41008,6 +41014,8 @@ paths:
|
|
|
41008
41014
|
description: Platform-native response from the copy endpoint (Meta includes ad_object_ids for child copies)
|
|
41009
41015
|
'400': { description: Invalid input }
|
|
41010
41016
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
41017
|
+
'403':
|
|
41018
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
41011
41019
|
'404': { description: Source campaign not found }
|
|
41012
41020
|
'501': { description: Operation not supported on this platform }
|
|
41013
41021
|
|
|
@@ -41069,6 +41077,8 @@ paths:
|
|
|
41069
41077
|
raw: { type: object, description: Meta's native copy response (includes ad_object_ids for child copies) }
|
|
41070
41078
|
'400': { description: Invalid input }
|
|
41071
41079
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
41080
|
+
'403':
|
|
41081
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
41072
41082
|
'404': { description: Source ad set not found }
|
|
41073
41083
|
'501': { description: Only supported on Meta (facebook/instagram) }
|
|
41074
41084
|
|
|
@@ -41124,6 +41134,8 @@ paths:
|
|
|
41124
41134
|
raw: { type: object }
|
|
41125
41135
|
'400': { description: Invalid input }
|
|
41126
41136
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
41137
|
+
'403':
|
|
41138
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
41127
41139
|
'404': { description: Ad not found }
|
|
41128
41140
|
'501': { description: Only supported on Meta (facebook/instagram) }
|
|
41129
41141
|
|
|
@@ -41311,6 +41323,8 @@ paths:
|
|
|
41311
41323
|
platformSpecificData: { type: object }
|
|
41312
41324
|
'400': { description: Invalid input }
|
|
41313
41325
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
41326
|
+
'403':
|
|
41327
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
41314
41328
|
'404': { description: Ad set not found }
|
|
41315
41329
|
'409': { description: "Campaign is CBO — route to /v1/ads/campaigns/{campaignId} instead" }
|
|
41316
41330
|
'422': { description: "bidStrategy is LOWEST_COST_WITH_MIN_ROAS on OpenAI (unsupported: no ROAS-based bidding)" }
|
|
@@ -41406,6 +41420,8 @@ paths:
|
|
|
41406
41420
|
message: { type: string, description: 'Present only where the platform has no ad-set switch and no child ad was actionable' }
|
|
41407
41421
|
'400': { description: Invalid input }
|
|
41408
41422
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
41423
|
+
'403':
|
|
41424
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
41409
41425
|
'404': { description: Ad set not found }
|
|
41410
41426
|
|
|
41411
41427
|
/v1/ads/tree:
|
|
@@ -41692,6 +41708,8 @@ paths:
|
|
|
41692
41708
|
'400':
|
|
41693
41709
|
description: 'Invalid status transition, budget below minimum, or a LinkedIn creative update without imageUrl or videoUrl'
|
|
41694
41710
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
41711
|
+
'403':
|
|
41712
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
41695
41713
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
41696
41714
|
'501': { description: "targeting or creative not supported on the platform (supported on Meta, TikTok, and LinkedIn)" }
|
|
41697
41715
|
'502': { description: "Meta accepted the request then failed to produce the media (upload session, chunk transfer, processing timeout, or a response with no image hash). Inspect `platformError.reason`." }
|
|
@@ -41762,6 +41780,8 @@ paths:
|
|
|
41762
41780
|
message: { type: string, description: "Human-readable summary (present only when skipped)" }
|
|
41763
41781
|
'400': { description: Invalid input }
|
|
41764
41782
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
41783
|
+
'403':
|
|
41784
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
41765
41785
|
'404': { description: Ad not found }
|
|
41766
41786
|
|
|
41767
41787
|
/v1/ads/campaigns/{campaignId}/assets:
|
|
@@ -41842,6 +41862,8 @@ paths:
|
|
|
41842
41862
|
structuredSnippetAssetResourceNames: { type: array, items: { type: string } }
|
|
41843
41863
|
'400': { description: "Invalid input, Google rejected the assets, an unknown customerId (not one of this connection's Google Ads accounts), or a required customerId missing when the connection has multiple Google Ads accounts" }
|
|
41844
41864
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
41865
|
+
'403':
|
|
41866
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
41845
41867
|
'422': { description: "No Google Ads customer accounts on this connection. Reconnect Google Ads." }
|
|
41846
41868
|
'501': { description: Only supported on Google Ads }
|
|
41847
41869
|
|
|
@@ -42488,6 +42510,8 @@ paths:
|
|
|
42488
42510
|
responses:
|
|
42489
42511
|
'200': { description: "Updated" }
|
|
42490
42512
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
42513
|
+
'403':
|
|
42514
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
42491
42515
|
'404': { description: "Ad not found" }
|
|
42492
42516
|
'405': { description: "Platform has no click-URL tracking surface" }
|
|
42493
42517
|
'422': { description: "Meta creative cannot be rebuilt (e.g. placement-customized/asset-feed/dark creative)" }
|
|
@@ -44012,7 +44036,7 @@ paths:
|
|
|
44012
44036
|
description: Missing required fields or invalid values
|
|
44013
44037
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
44014
44038
|
'403':
|
|
44015
|
-
description: Ads access required. Legacy plans need the Ads add-on; included by default on usage-based plans.
|
|
44039
|
+
description: 'Ads access required. Legacy plans need the Ads add-on; included by default on usage-based plans. Also returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
44016
44040
|
'409':
|
|
44017
44041
|
description: |
|
|
44018
44042
|
An identical boost request is already in progress (with or without
|
|
@@ -45069,7 +45093,7 @@ paths:
|
|
|
45069
45093
|
description: 'Missing required fields, invalid values, non-Meta platform used with creatives[] / adSetId, or a Meta validateOnly validation failure (verbatim)'
|
|
45070
45094
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
45071
45095
|
'403':
|
|
45072
|
-
description: Ads access required. Legacy plans need the Ads add-on; included by default on usage-based plans.
|
|
45096
|
+
description: 'Ads access required. Legacy plans need the Ads add-on; included by default on usage-based plans. Also returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
45073
45097
|
'422':
|
|
45074
45098
|
description: Platform ads connection required (TikTok Ads, X Ads) or missing linked account
|
|
45075
45099
|
'502':
|
|
@@ -47759,6 +47783,8 @@ paths:
|
|
|
47759
47783
|
description: Ad(s) created and submitted for review
|
|
47760
47784
|
'400': { description: Invalid input }
|
|
47761
47785
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
47786
|
+
'403':
|
|
47787
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
47762
47788
|
'404': { description: Account not found }
|
|
47763
47789
|
'422': { description: "No Facebook Page resolved for the account" }
|
|
47764
47790
|
'502': { description: "Meta accepted the request then failed to produce the media (upload session, chunk transfer, processing timeout, or a response with no image hash). Inspect `platformError.reason`." }
|
|
@@ -47799,6 +47825,8 @@ paths:
|
|
|
47799
47825
|
description: Ad(s) created and submitted for review
|
|
47800
47826
|
'400': { description: Invalid input }
|
|
47801
47827
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
47828
|
+
'403':
|
|
47829
|
+
description: 'Returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
47802
47830
|
'404': { description: Account not found }
|
|
47803
47831
|
'422': { description: "No Facebook Page resolved for the account" }
|
|
47804
47832
|
'502': { description: "Meta accepted the request then failed to produce the media (upload session, chunk transfer, processing timeout, or a response with no image hash). Inspect `platformError.reason`." }
|
|
@@ -47861,7 +47889,8 @@ paths:
|
|
|
47861
47889
|
multi: '#/components/schemas/CtwaMultiResponse'
|
|
47862
47890
|
'400': { description: Invalid body. }
|
|
47863
47891
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
47864
|
-
'403':
|
|
47892
|
+
'403':
|
|
47893
|
+
description: 'Forbidden. Also returned with code `ads_allowance_exceeded` when the team has no payment method on file and has reached the 500 free live ads: add a card to resume.'
|
|
47865
47894
|
'404': { description: SocialAccount not found. }
|
|
47866
47895
|
'422':
|
|
47867
47896
|
description: Page is not connected to a verified WhatsApp number.
|
|
@@ -257,7 +257,7 @@ describe 'ConnectApi' do
|
|
|
257
257
|
|
|
258
258
|
# unit tests for get_pending_o_auth_data
|
|
259
259
|
# Get pending OAuth data
|
|
260
|
-
# Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook
|
|
260
|
+
# Fetch pending OAuth data for headless mode using the pendingDataToken from the redirect URL. **Scope**: This endpoint is used for LinkedIn organizations, Google Business locations, Slack channels, Snapchat profiles, and Pinterest boards, where the selection list is too large to fit in URL params. The redirect carries a `pendingDataToken` instead of the full payload; the response includes the corresponding selection array (e.g. `boards` for Pinterest). WhatsApp, Facebook and other platforms pass selection state directly via URL query params on the redirect (`profileId`, `tempToken`, `step`), no pending record is created, so this endpoint will return 404 for those flows. Use the platform-specific selection endpoint instead (e.g. `/v1/connect/whatsapp/select-phone-number`). Reading the token does not consume it, so this fetch is repeatable until the token expires 1 hour after issuance. Completing the platform selection deletes the pending record, so the token stops working from then on. No authentication required.
|
|
261
261
|
# @param token The pending data token from the OAuth redirect URL (pendingDataToken parameter)
|
|
262
262
|
# @param [Hash] opts the optional parameters
|
|
263
263
|
# @return [GetPendingOAuthData200Response]
|