late-sdk 0.0.753 → 0.0.755
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/README.md +6 -0
- data/docs/Ad.md +1 -1
- data/docs/ConnectApi.md +210 -3
- data/docs/ConnectDiscordChannelRequest.md +22 -0
- data/docs/ConnectSlackChannelRequest.md +24 -0
- data/docs/ConnectWhatsAppEmbeddedSignupRequest.md +28 -0
- data/docs/CreateStandaloneAdRequest.md +1 -1
- data/lib/zernio-sdk/api/connect_api.rb +213 -4
- data/lib/zernio-sdk/models/ad.rb +3 -3
- data/lib/zernio-sdk/models/connect_discord_channel_request.rb +219 -0
- data/lib/zernio-sdk/models/connect_slack_channel_request.rb +211 -0
- data/lib/zernio-sdk/models/connect_whats_app_embedded_signup_request.rb +230 -0
- data/lib/zernio-sdk/models/create_ad_campaign_request.rb +2 -2
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +3 -3
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +3 -0
- data/openapi.yaml +99 -7
- data/spec/api/connect_api_spec.rb +38 -2
- data/spec/models/ad_spec.rb +1 -1
- data/spec/models/connect_discord_channel_request_spec.rb +48 -0
- data/spec/models/connect_slack_channel_request_spec.rb +54 -0
- data/spec/models/connect_whats_app_embedded_signup_request_spec.rb +66 -0
- data/spec/models/create_ad_campaign_request_spec.rb +1 -1
- data/spec/models/create_standalone_ad_request_spec.rb +1 -1
- data/zernio-sdk-0.0.755.gem +0 -0
- metadata +14 -2
- data/zernio-sdk-0.0.753.gem +0 -0
data/openapi.yaml
CHANGED
|
@@ -8175,7 +8175,7 @@ components:
|
|
|
8175
8175
|
enum: [carousel, video, document, image, null]
|
|
8176
8176
|
description: "Creative format, classified from the media the creative carries. `null` when the creative carries no media to classify — an unsynced creative and a genuine text-only ad are indistinguishable, so neither is guessed at. Returned by `GET /v1/ads`, `GET /v1/ads/{adId}` and the ad nodes of `GET /v1/ads/tree`."
|
|
8177
8177
|
example: video
|
|
8178
|
-
goal: { type: string, enum: [engagement, traffic, awareness, video_views, lead_generation, lead_conversion, conversions, app_promotion, catalog_sales, job_applicants], description: "Available goals vary by platform. Meta (Facebook/Instagram) supports all
|
|
8178
|
+
goal: { type: string, enum: [engagement, traffic, awareness, video_views, lead_generation, lead_conversion, conversions, app_promotion, catalog_sales, page_likes, job_applicants], description: "Available goals vary by platform. Meta (Facebook/Instagram) supports all 10 (incl. `lead_conversion` = website pixel lead optimization, `catalog_sales` = Advantage+ catalog ads and `page_likes` = Page Likes conversion location under Engagement). TikTok supports engagement, traffic, awareness, video_views, lead_generation, conversions, app_promotion. LinkedIn supports all Meta goals except app_promotion / lead_conversion / catalog_sales / page_likes. Twitter/X supports engagement, traffic, awareness, video_views, app_promotion. Pinterest and Google Ads support only engagement, traffic, awareness, video_views." }
|
|
8179
8179
|
isExternal: { type: boolean, description: True for ads synced from platform ad managers }
|
|
8180
8180
|
budget:
|
|
8181
8181
|
type: [object, "null"]
|
|
@@ -16991,12 +16991,20 @@ paths:
|
|
|
16991
16991
|
operationId: handleOAuthCallback
|
|
16992
16992
|
tags: [Connect]
|
|
16993
16993
|
summary: Complete OAuth callback
|
|
16994
|
-
description:
|
|
16994
|
+
description: |
|
|
16995
|
+
Exchange the OAuth authorization code for tokens and connect the account to the specified profile.
|
|
16996
|
+
|
|
16997
|
+
Facebook, Google Business, Snapchat and WhatsApp are not accepted here: their account identity is a destination chosen after OAuth, which this single-shot exchange cannot do. Connect them through the redirect flow from `GET /v1/connect/{platform}`, or, for WhatsApp Embedded Signup, through `POST /v1/connect/whatsapp/embedded-signup`.
|
|
16995
16998
|
parameters:
|
|
16996
16999
|
- name: platform
|
|
16997
17000
|
in: path
|
|
16998
17001
|
required: true
|
|
16999
|
-
|
|
17002
|
+
description: |
|
|
17003
|
+
Social platform to complete the connect for. Discord, Slack and Telegram are absent because they are
|
|
17004
|
+
served by their own dedicated routes, documented separately.
|
|
17005
|
+
schema:
|
|
17006
|
+
type: string
|
|
17007
|
+
enum: [instagram, twitter, threads, linkedin, youtube, tiktok, reddit, pinterest]
|
|
17000
17008
|
requestBody:
|
|
17001
17009
|
required: true
|
|
17002
17010
|
content:
|
|
@@ -17010,11 +17018,14 @@ paths:
|
|
|
17010
17018
|
profileId: { type: string }
|
|
17011
17019
|
responses:
|
|
17012
17020
|
'200': { description: Account connected }
|
|
17013
|
-
'400': { description: Invalid params }
|
|
17021
|
+
'400': { description: 'Invalid params, or the platform requires choosing a destination (code: platform_requires_destination)' }
|
|
17014
17022
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
17015
|
-
'
|
|
17023
|
+
'402': { $ref: '#/components/responses/PaymentRequired' }
|
|
17024
|
+
'403': { description: 'No access to the profile, or BYOK required for AppSumo Twitter' }
|
|
17025
|
+
'404': { description: Profile not found }
|
|
17016
17026
|
'500': { description: 'Internal error while connecting the account' }
|
|
17017
17027
|
'502': { description: 'The platform rejected the token exchange (type: platform_error; an upstream 4xx status is forwarded instead of 502)' }
|
|
17028
|
+
'503': { description: 'Connections for this platform are temporarily disabled (code: platform_disabled)' }
|
|
17018
17029
|
|
|
17019
17030
|
/v1/connect/{platform}/ads:
|
|
17020
17031
|
get:
|
|
@@ -20877,6 +20888,86 @@ paths:
|
|
|
20877
20888
|
application/json:
|
|
20878
20889
|
schema: { $ref: '#/components/schemas/ErrorResponse' }
|
|
20879
20890
|
|
|
20891
|
+
/v1/connect/whatsapp/embedded-signup:
|
|
20892
|
+
post:
|
|
20893
|
+
x-resource-group: "accounts"
|
|
20894
|
+
operationId: connectWhatsAppEmbeddedSignup
|
|
20895
|
+
tags: [Connect]
|
|
20896
|
+
summary: Connect WhatsApp from Embedded Signup
|
|
20897
|
+
description: 'Exchange the authorization code Meta Embedded Signup returns to your browser SDK. This is the headless completion path for WhatsApp: the code never passes through a redirect_uri, so POST /v1/connect/{platform} cannot accept it.'
|
|
20898
|
+
requestBody:
|
|
20899
|
+
required: true
|
|
20900
|
+
content:
|
|
20901
|
+
application/json:
|
|
20902
|
+
schema:
|
|
20903
|
+
type: object
|
|
20904
|
+
required: [code, profileId]
|
|
20905
|
+
properties:
|
|
20906
|
+
code: { type: string, description: 'Authorization code from the WA_EMBEDDED_SIGNUP postMessage' }
|
|
20907
|
+
profileId: { type: string }
|
|
20908
|
+
wabaId: { type: string, description: 'WhatsApp Business Account id, when the SDK reported one' }
|
|
20909
|
+
phoneNumberId: { type: string }
|
|
20910
|
+
isCoexistence: { type: boolean, description: 'Number is also live in the WhatsApp Business app' }
|
|
20911
|
+
expectedPhoneNumber: { type: string, description: 'Rejects the connect when Meta returns a different number' }
|
|
20912
|
+
responses:
|
|
20913
|
+
'200': { description: Number connected }
|
|
20914
|
+
'400': { $ref: '#/components/responses/BadRequest' }
|
|
20915
|
+
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
20916
|
+
'402': { $ref: '#/components/responses/PaymentRequired' }
|
|
20917
|
+
'409': { description: 'The number is already connected on another profile or workspace' }
|
|
20918
|
+
|
|
20919
|
+
/v1/connect/discord:
|
|
20920
|
+
post:
|
|
20921
|
+
x-resource-group: "accounts"
|
|
20922
|
+
operationId: connectDiscordChannel
|
|
20923
|
+
tags: [Connect]
|
|
20924
|
+
summary: Connect a Discord channel
|
|
20925
|
+
description: 'Finalize a Discord connect by binding one channel to a profile. Served by a dedicated route, so it is not reachable through POST /v1/connect/{platform}. One connected account per channel: repeat the call with a different channelId to add another.'
|
|
20926
|
+
requestBody:
|
|
20927
|
+
required: true
|
|
20928
|
+
content:
|
|
20929
|
+
application/json:
|
|
20930
|
+
schema:
|
|
20931
|
+
type: object
|
|
20932
|
+
required: [guildId, channelId, profileId]
|
|
20933
|
+
properties:
|
|
20934
|
+
guildId: { type: string, description: 'Discord server (guild) the channel belongs to' }
|
|
20935
|
+
channelId: { type: string, description: 'Text, announcement or forum channel to publish to' }
|
|
20936
|
+
profileId: { type: string, description: 'Profile to connect the channel to' }
|
|
20937
|
+
responses:
|
|
20938
|
+
'200': { description: Channel connected }
|
|
20939
|
+
'400': { $ref: '#/components/responses/BadRequest' }
|
|
20940
|
+
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
20941
|
+
'402': { $ref: '#/components/responses/PaymentRequired' }
|
|
20942
|
+
'404': { description: Profile not found }
|
|
20943
|
+
|
|
20944
|
+
/v1/connect/slack:
|
|
20945
|
+
post:
|
|
20946
|
+
x-resource-group: "accounts"
|
|
20947
|
+
operationId: connectSlackChannel
|
|
20948
|
+
tags: [Connect]
|
|
20949
|
+
summary: Connect a Slack channel
|
|
20950
|
+
description: 'Finalize a Slack connect by creating the per-channel account. Served by a dedicated route, so it is not reachable through POST /v1/connect/{platform}. Send pendingDataToken for a first connect (the nonce from the OAuth redirect) or accountId to add another channel to a workspace already connected.'
|
|
20951
|
+
requestBody:
|
|
20952
|
+
required: true
|
|
20953
|
+
content:
|
|
20954
|
+
application/json:
|
|
20955
|
+
schema:
|
|
20956
|
+
type: object
|
|
20957
|
+
required: [profileId, channelId]
|
|
20958
|
+
properties:
|
|
20959
|
+
profileId: { type: string }
|
|
20960
|
+
channelId: { type: string, description: 'Slack channel id, C... or G...' }
|
|
20961
|
+
pendingDataToken: { type: string, description: 'Nonce from the OAuth redirect. Required unless accountId is sent.' }
|
|
20962
|
+
accountId: { type: string, description: 'Existing Slack account whose workspace token is reused. Required unless pendingDataToken is sent.' }
|
|
20963
|
+
responses:
|
|
20964
|
+
'200': { description: Channel connected }
|
|
20965
|
+
'400': { $ref: '#/components/responses/BadRequest' }
|
|
20966
|
+
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
20967
|
+
'402': { $ref: '#/components/responses/PaymentRequired' }
|
|
20968
|
+
'403': { description: Slack connections are temporarily unavailable }
|
|
20969
|
+
'404': { description: Profile not found }
|
|
20970
|
+
|
|
20880
20971
|
/v1/connect/telegram:
|
|
20881
20972
|
get:
|
|
20882
20973
|
x-resource-group: "accounts"
|
|
@@ -39197,7 +39288,7 @@ paths:
|
|
|
39197
39288
|
name: { type: string, maxLength: 255 }
|
|
39198
39289
|
goal:
|
|
39199
39290
|
type: string
|
|
39200
|
-
enum: [engagement, traffic, awareness, video_views, lead_generation, lead_conversion, job_applicants, conversions, app_promotion, catalog_sales]
|
|
39291
|
+
enum: [engagement, traffic, awareness, video_views, lead_generation, lead_conversion, job_applicants, conversions, app_promotion, catalog_sales, page_likes]
|
|
39201
39292
|
description: Mapped to the ODAX objective (same mapping as POST /v1/ads/create).
|
|
39202
39293
|
specialAdCategories:
|
|
39203
39294
|
type: array
|
|
@@ -42514,7 +42605,7 @@ paths:
|
|
|
42514
42605
|
value: { type: string }
|
|
42515
42606
|
goal:
|
|
42516
42607
|
type: string
|
|
42517
|
-
enum: [engagement, traffic, awareness, video_views, lead_generation, lead_conversion, conversions, app_promotion, catalog_sales, job_applicants]
|
|
42608
|
+
enum: [engagement, traffic, awareness, video_views, lead_generation, lead_conversion, conversions, app_promotion, catalog_sales, page_likes, job_applicants]
|
|
42518
42609
|
description: |
|
|
42519
42610
|
Required on legacy and multi-creative shapes; the attach shape inherits it from the ad set. Available goals vary by platform.
|
|
42520
42611
|
|
|
@@ -42524,6 +42615,7 @@ paths:
|
|
|
42524
42615
|
- `lead_generation`: OUTCOME_LEADS with instant forms. Requires `leadGenFormId`. `promotedObject.pageId` is optional and auto-filled from the connected Page.
|
|
42525
42616
|
- `app_promotion`: requires `promotedObject.applicationId` and `promotedObject.objectStoreUrl`.
|
|
42526
42617
|
- `catalog_sales`: Advantage+ catalog ads, for example vehicle inventory. Requires `promotedObject.productSetId`, `promotedObject.pixelId` and `promotedObject.customEventType`. Builds a catalog TEMPLATE creative from the copy fields, which may carry template tags like {{product.name}} or {{vehicle.make}}. No imageUrl or video is sent; Meta renders the visuals per catalog item. Discover catalogs via GET /v1/ads/catalogs and product sets via GET /v1/ads/catalogs/{catalogId}/product-sets. Single shape only, no creatives[], adSetId, dynamicCreative or placementAssets.
|
|
42618
|
+
- `page_likes`: Page Likes conversion location under OUTCOME_ENGAGEMENT (destination_type ON_PAGE, optimization PAGE_LIKES). `promotedObject.pageId` is optional and auto-filled from the connected Page. The creative CTA is fixed to LIKE_PAGE targeting that Page; headline / body / linkUrl / callToAction / imageUrl / video are all optional (Meta derives the link and the Like button from the Page).
|
|
42527
42619
|
|
|
42528
42620
|
**TikTok**
|
|
42529
42621
|
- `conversions`: website-conversion ad group. Requires `promotedObject.pixelId`, your TikTok Pixel ID. Accepts an optional `promotedObject.customEventType` with a TikTok optimization_event code your pixel tracks (newer pixels use e.g. SHOPPING for purchase events; legacy pixels use ON_WEB_ORDER, INITIATE_ORDER, ON_WEB_REGISTER or FORM). To inherit pixel and event from an existing ad group, pass `adSetId` instead.
|
|
@@ -113,6 +113,18 @@ describe 'ConnectApi' do
|
|
|
113
113
|
end
|
|
114
114
|
end
|
|
115
115
|
|
|
116
|
+
# unit tests for connect_discord_channel
|
|
117
|
+
# Connect a Discord channel
|
|
118
|
+
# Finalize a Discord connect by binding one channel to a profile. Served by a dedicated route, so it is not reachable through POST /v1/connect/{platform}. One connected account per channel: repeat the call with a different channelId to add another.
|
|
119
|
+
# @param connect_discord_channel_request
|
|
120
|
+
# @param [Hash] opts the optional parameters
|
|
121
|
+
# @return [nil]
|
|
122
|
+
describe 'connect_discord_channel test' do
|
|
123
|
+
it 'should work' do
|
|
124
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
116
128
|
# unit tests for connect_open_ai_ads_credentials
|
|
117
129
|
# Connect an OpenAI Ads account
|
|
118
130
|
# Connect an OpenAI Ads account using an API key from ChatGPT Ads Manager. The key grants full campaign write access on OpenAI's side (OpenAI does not offer a read-only key scope). Zernio uses it to read ads and performance, and to create and manage campaigns you set up through Zernio (create, status, budget, and cancel). Campaigns created directly in ChatGPT Ads Manager can still be managed there.
|
|
@@ -137,6 +149,18 @@ describe 'ConnectApi' do
|
|
|
137
149
|
end
|
|
138
150
|
end
|
|
139
151
|
|
|
152
|
+
# unit tests for connect_slack_channel
|
|
153
|
+
# Connect a Slack channel
|
|
154
|
+
# Finalize a Slack connect by creating the per-channel account. Served by a dedicated route, so it is not reachable through POST /v1/connect/{platform}. Send pendingDataToken for a first connect (the nonce from the OAuth redirect) or accountId to add another channel to a workspace already connected.
|
|
155
|
+
# @param connect_slack_channel_request
|
|
156
|
+
# @param [Hash] opts the optional parameters
|
|
157
|
+
# @return [nil]
|
|
158
|
+
describe 'connect_slack_channel test' do
|
|
159
|
+
it 'should work' do
|
|
160
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
140
164
|
# unit tests for connect_whats_app_credentials
|
|
141
165
|
# Connect WhatsApp via credentials
|
|
142
166
|
# Connect a WhatsApp Business Account by providing Meta credentials directly. This is the headless alternative to the Embedded Signup browser flow. To get the required credentials: 1. Go to Meta Business Suite (business.facebook.com) 2. Create or select a WhatsApp Business Account 3. In Business Settings > System Users, create a System User 4. Assign it the whatsapp_business_management and whatsapp_business_messaging permissions 5. Generate a permanent access token 6. Get the WABA ID from WhatsApp Manager > Account Tools > Phone Numbers 7. Get the Phone Number ID from the same page (click on the number) Warning: connecting subscribes your own Meta app to this WABA with an override callback that redirects its webhook delivery to Zernio. This WABA's events stop reaching any callback URL you had configured before, immediately and with no overlap window. Do not unsubscribe your app from the WABA afterward: that also cuts off Zernio's delivery, and recovery requires calling this endpoint again.
|
|
@@ -149,6 +173,18 @@ describe 'ConnectApi' do
|
|
|
149
173
|
end
|
|
150
174
|
end
|
|
151
175
|
|
|
176
|
+
# unit tests for connect_whats_app_embedded_signup
|
|
177
|
+
# Connect WhatsApp from Embedded Signup
|
|
178
|
+
# Exchange the authorization code Meta Embedded Signup returns to your browser SDK. This is the headless completion path for WhatsApp: the code never passes through a redirect_uri, so POST /v1/connect/{platform} cannot accept it.
|
|
179
|
+
# @param connect_whats_app_embedded_signup_request
|
|
180
|
+
# @param [Hash] opts the optional parameters
|
|
181
|
+
# @return [nil]
|
|
182
|
+
describe 'connect_whats_app_embedded_signup test' do
|
|
183
|
+
it 'should work' do
|
|
184
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
|
|
152
188
|
# unit tests for create_pinterest_board
|
|
153
189
|
# Create Pinterest board
|
|
154
190
|
# Creates a new board on the connected Pinterest account. The returned board ID can be used immediately as `platformSpecificData.boardId` when creating a Pinterest post.
|
|
@@ -321,8 +357,8 @@ describe 'ConnectApi' do
|
|
|
321
357
|
|
|
322
358
|
# unit tests for handle_o_auth_callback
|
|
323
359
|
# Complete OAuth callback
|
|
324
|
-
# Exchange the OAuth authorization code for tokens and connect the account to the specified profile.
|
|
325
|
-
# @param platform
|
|
360
|
+
# Exchange the OAuth authorization code for tokens and connect the account to the specified profile. Facebook, Google Business, Snapchat and WhatsApp are not accepted here: their account identity is a destination chosen after OAuth, which this single-shot exchange cannot do. Connect them through the redirect flow from `GET /v1/connect/{platform}`, or, for WhatsApp Embedded Signup, through `POST /v1/connect/whatsapp/embedded-signup`.
|
|
361
|
+
# @param platform Social platform to complete the connect for. Discord, Slack and Telegram are absent because they are served by their own dedicated routes, documented separately.
|
|
326
362
|
# @param handle_o_auth_callback_request
|
|
327
363
|
# @param [Hash] opts the optional parameters
|
|
328
364
|
# @return [nil]
|
data/spec/models/ad_spec.rb
CHANGED
|
@@ -90,7 +90,7 @@ describe Zernio::Ad do
|
|
|
90
90
|
describe 'test attribute "goal"' do
|
|
91
91
|
it 'should work' do
|
|
92
92
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
93
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["engagement", "traffic", "awareness", "video_views", "lead_generation", "lead_conversion", "conversions", "app_promotion", "catalog_sales", "job_applicants"])
|
|
93
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["engagement", "traffic", "awareness", "video_views", "lead_generation", "lead_conversion", "conversions", "app_promotion", "catalog_sales", "page_likes", "job_applicants"])
|
|
94
94
|
# validator.allowable_values.each do |value|
|
|
95
95
|
# expect { instance.goal = value }.not_to raise_error
|
|
96
96
|
# end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::ConnectDiscordChannelRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::ConnectDiscordChannelRequest do
|
|
21
|
+
#let(:instance) { Zernio::ConnectDiscordChannelRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ConnectDiscordChannelRequest' do
|
|
24
|
+
it 'should create an instance of ConnectDiscordChannelRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::ConnectDiscordChannelRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "guild_id"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "channel_id"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "profile_id"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::ConnectSlackChannelRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::ConnectSlackChannelRequest do
|
|
21
|
+
#let(:instance) { Zernio::ConnectSlackChannelRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ConnectSlackChannelRequest' do
|
|
24
|
+
it 'should create an instance of ConnectSlackChannelRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::ConnectSlackChannelRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "profile_id"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "channel_id"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "pending_data_token"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "account_id"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::ConnectWhatsAppEmbeddedSignupRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::ConnectWhatsAppEmbeddedSignupRequest do
|
|
21
|
+
#let(:instance) { Zernio::ConnectWhatsAppEmbeddedSignupRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ConnectWhatsAppEmbeddedSignupRequest' do
|
|
24
|
+
it 'should create an instance of ConnectWhatsAppEmbeddedSignupRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::ConnectWhatsAppEmbeddedSignupRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "code"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "profile_id"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "waba_id"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "phone_number_id"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'test attribute "is_coexistence"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe 'test attribute "expected_phone_number"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
@@ -48,7 +48,7 @@ describe Zernio::CreateAdCampaignRequest do
|
|
|
48
48
|
describe 'test attribute "goal"' do
|
|
49
49
|
it 'should work' do
|
|
50
50
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["engagement", "traffic", "awareness", "video_views", "lead_generation", "lead_conversion", "job_applicants", "conversions", "app_promotion", "catalog_sales"])
|
|
51
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["engagement", "traffic", "awareness", "video_views", "lead_generation", "lead_conversion", "job_applicants", "conversions", "app_promotion", "catalog_sales", "page_likes"])
|
|
52
52
|
# validator.allowable_values.each do |value|
|
|
53
53
|
# expect { instance.goal = value }.not_to raise_error
|
|
54
54
|
# end
|
|
@@ -72,7 +72,7 @@ describe Zernio::CreateStandaloneAdRequest do
|
|
|
72
72
|
describe 'test attribute "goal"' do
|
|
73
73
|
it 'should work' do
|
|
74
74
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
75
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["engagement", "traffic", "awareness", "video_views", "lead_generation", "lead_conversion", "conversions", "app_promotion", "catalog_sales", "job_applicants"])
|
|
75
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["engagement", "traffic", "awareness", "video_views", "lead_generation", "lead_conversion", "conversions", "app_promotion", "catalog_sales", "page_likes", "job_applicants"])
|
|
76
76
|
# validator.allowable_values.each do |value|
|
|
77
77
|
# expect { instance.goal = value }.not_to raise_error
|
|
78
78
|
# end
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: late-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.755
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -234,14 +234,17 @@ files:
|
|
|
234
234
|
- docs/ConnectApi.md
|
|
235
235
|
- docs/ConnectBlueskyCredentials200Response.md
|
|
236
236
|
- docs/ConnectBlueskyCredentialsRequest.md
|
|
237
|
+
- docs/ConnectDiscordChannelRequest.md
|
|
237
238
|
- docs/ConnectOpenAIAdsCredentials200Response.md
|
|
238
239
|
- docs/ConnectOpenAIAdsCredentialsRequest.md
|
|
239
240
|
- docs/ConnectShopifyWithToken200Response.md
|
|
240
241
|
- docs/ConnectShopifyWithToken200ResponseAccount.md
|
|
241
242
|
- docs/ConnectShopifyWithTokenRequest.md
|
|
243
|
+
- docs/ConnectSlackChannelRequest.md
|
|
242
244
|
- docs/ConnectWhatsAppCredentials200Response.md
|
|
243
245
|
- docs/ConnectWhatsAppCredentials200ResponseAccount.md
|
|
244
246
|
- docs/ConnectWhatsAppCredentialsRequest.md
|
|
247
|
+
- docs/ConnectWhatsAppEmbeddedSignupRequest.md
|
|
245
248
|
- docs/Connected.md
|
|
246
249
|
- docs/ConnectedAccount.md
|
|
247
250
|
- docs/ConnectedApp.md
|
|
@@ -2072,14 +2075,17 @@ files:
|
|
|
2072
2075
|
- lib/zernio-sdk/models/connect_ads200_response_one_of1.rb
|
|
2073
2076
|
- lib/zernio-sdk/models/connect_bluesky_credentials200_response.rb
|
|
2074
2077
|
- lib/zernio-sdk/models/connect_bluesky_credentials_request.rb
|
|
2078
|
+
- lib/zernio-sdk/models/connect_discord_channel_request.rb
|
|
2075
2079
|
- lib/zernio-sdk/models/connect_open_ai_ads_credentials200_response.rb
|
|
2076
2080
|
- lib/zernio-sdk/models/connect_open_ai_ads_credentials_request.rb
|
|
2077
2081
|
- lib/zernio-sdk/models/connect_shopify_with_token200_response.rb
|
|
2078
2082
|
- lib/zernio-sdk/models/connect_shopify_with_token200_response_account.rb
|
|
2079
2083
|
- lib/zernio-sdk/models/connect_shopify_with_token_request.rb
|
|
2084
|
+
- lib/zernio-sdk/models/connect_slack_channel_request.rb
|
|
2080
2085
|
- lib/zernio-sdk/models/connect_whats_app_credentials200_response.rb
|
|
2081
2086
|
- lib/zernio-sdk/models/connect_whats_app_credentials200_response_account.rb
|
|
2082
2087
|
- lib/zernio-sdk/models/connect_whats_app_credentials_request.rb
|
|
2088
|
+
- lib/zernio-sdk/models/connect_whats_app_embedded_signup_request.rb
|
|
2083
2089
|
- lib/zernio-sdk/models/connected.rb
|
|
2084
2090
|
- lib/zernio-sdk/models/connected_account.rb
|
|
2085
2091
|
- lib/zernio-sdk/models/connected_app.rb
|
|
@@ -3855,14 +3861,17 @@ files:
|
|
|
3855
3861
|
- spec/models/connect_ads200_response_spec.rb
|
|
3856
3862
|
- spec/models/connect_bluesky_credentials200_response_spec.rb
|
|
3857
3863
|
- spec/models/connect_bluesky_credentials_request_spec.rb
|
|
3864
|
+
- spec/models/connect_discord_channel_request_spec.rb
|
|
3858
3865
|
- spec/models/connect_open_ai_ads_credentials200_response_spec.rb
|
|
3859
3866
|
- spec/models/connect_open_ai_ads_credentials_request_spec.rb
|
|
3860
3867
|
- spec/models/connect_shopify_with_token200_response_account_spec.rb
|
|
3861
3868
|
- spec/models/connect_shopify_with_token200_response_spec.rb
|
|
3862
3869
|
- spec/models/connect_shopify_with_token_request_spec.rb
|
|
3870
|
+
- spec/models/connect_slack_channel_request_spec.rb
|
|
3863
3871
|
- spec/models/connect_whats_app_credentials200_response_account_spec.rb
|
|
3864
3872
|
- spec/models/connect_whats_app_credentials200_response_spec.rb
|
|
3865
3873
|
- spec/models/connect_whats_app_credentials_request_spec.rb
|
|
3874
|
+
- spec/models/connect_whats_app_embedded_signup_request_spec.rb
|
|
3866
3875
|
- spec/models/connected_account_spec.rb
|
|
3867
3876
|
- spec/models/connected_app_spec.rb
|
|
3868
3877
|
- spec/models/connected_spec.rb
|
|
@@ -5422,7 +5431,7 @@ files:
|
|
|
5422
5431
|
- spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
|
|
5423
5432
|
- spec/models/you_tube_video_retention_response_spec.rb
|
|
5424
5433
|
- spec/spec_helper.rb
|
|
5425
|
-
- zernio-sdk-0.0.
|
|
5434
|
+
- zernio-sdk-0.0.755.gem
|
|
5426
5435
|
- zernio-sdk.gemspec
|
|
5427
5436
|
homepage: https://openapi-generator.tech
|
|
5428
5437
|
licenses:
|
|
@@ -5715,6 +5724,7 @@ test_files:
|
|
|
5715
5724
|
- spec/models/inline_object3_spec.rb
|
|
5716
5725
|
- spec/models/get_ads_search_terms200_response_data_inner_spec.rb
|
|
5717
5726
|
- spec/models/get_google_business_location_details200_response_regular_hours_spec.rb
|
|
5727
|
+
- spec/models/connect_slack_channel_request_spec.rb
|
|
5718
5728
|
- spec/models/respond_to_sms_registration_review200_response_spec.rb
|
|
5719
5729
|
- spec/models/create_standalone_ad201_response_one_of_spec.rb
|
|
5720
5730
|
- spec/models/create_sms_sender_id200_response_spec.rb
|
|
@@ -6100,6 +6110,7 @@ test_files:
|
|
|
6100
6110
|
- spec/models/webhook_payload_post_platform_post_spec.rb
|
|
6101
6111
|
- spec/models/follower_stats_response_date_range_spec.rb
|
|
6102
6112
|
- spec/models/list_inbox_reviews200_response_data_inner_reply_spec.rb
|
|
6113
|
+
- spec/models/connect_whats_app_embedded_signup_request_spec.rb
|
|
6103
6114
|
- spec/models/send_inbox_message_request_template_elements_inner_spec.rb
|
|
6104
6115
|
- spec/models/update_ad_request_targeting_keywords_inner_one_of_spec.rb
|
|
6105
6116
|
- spec/models/validate_phone_number_kyc_address200_response_spec.rb
|
|
@@ -6506,6 +6517,7 @@ test_files:
|
|
|
6506
6517
|
- spec/models/analytics_list_response_spec.rb
|
|
6507
6518
|
- spec/models/replace_ad_audience_companies_request_spec.rb
|
|
6508
6519
|
- spec/models/upload_ad_video_request_spec.rb
|
|
6520
|
+
- spec/models/connect_discord_channel_request_spec.rb
|
|
6509
6521
|
- spec/models/create_custom_conversion_request_spec.rb
|
|
6510
6522
|
- spec/models/reply_to_phone_number_reviewer_request_spec.rb
|
|
6511
6523
|
- spec/models/list_snapchat_profiles200_response_public_profiles_inner_spec.rb
|
data/zernio-sdk-0.0.753.gem
DELETED
|
Binary file
|