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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c2c538b360826c12602e7da56968b874544cda52e54b9503e71c03ca7019c09
4
- data.tar.gz: 16d0e511956b2665cc2dcc3b89a0b66710d481a396c1eaafbade2bd9331ee6a3
3
+ metadata.gz: 11cbc008b0117900fdcd5d38eeabc3aa4e57e97910167c2fa134123a21969d81
4
+ data.tar.gz: c71c6138d437f89f06c34e7a5a7d3af9acca5835a00dfcce840729440c25b73e
5
5
  SHA512:
6
- metadata.gz: '09487b066a1eff2bfa30737510f3183f25d80b5a68c24d052c45dad7099b0d32c76c3aa2a63d2ca1c9315cbec8c1e8ca085b605217731348ebeddf47405a94ae'
7
- data.tar.gz: a75eb14c1c22c6c4be04e57d05c155f0c0452423026987ce37a26ce3cffbbdac876115beab8d071dd5a83ffe9109f145cc2da6f735c932be83a2ece6e01e5237
6
+ metadata.gz: df029575fbf79a3e6951a87d422125eeb62c5b0fe76563e37b6fa0ffde9d67ad70e8f115e02a6db6ee17a8bc29b98e6898db34d10f529b40e9b887fda24d52a3
7
+ data.tar.gz: 1cce108640601e73be2e8aa0e856109e0b7f06fe1a369221d82bd732651f4581e11a393eae260a318174d9abc873e7ccdb90485ffa03d01bbbaf2a3e3065d99e
data/README.md CHANGED
@@ -257,9 +257,12 @@ Class | Method | HTTP request | Description
257
257
  *Zernio::ConnectApi* | [**configure_tik_tok_ads_brand_identity**](docs/ConnectApi.md#configure_tik_tok_ads_brand_identity) | **PATCH** /v1/connect/tiktok-ads | Set TikTok brand identity
258
258
  *Zernio::ConnectApi* | [**connect_ads**](docs/ConnectApi.md#connect_ads) | **GET** /v1/connect/{platform}/ads | Connect ads for a platform
259
259
  *Zernio::ConnectApi* | [**connect_bluesky_credentials**](docs/ConnectApi.md#connect_bluesky_credentials) | **POST** /v1/connect/bluesky/credentials | Connect Bluesky account
260
+ *Zernio::ConnectApi* | [**connect_discord_channel**](docs/ConnectApi.md#connect_discord_channel) | **POST** /v1/connect/discord | Connect a Discord channel
260
261
  *Zernio::ConnectApi* | [**connect_open_ai_ads_credentials**](docs/ConnectApi.md#connect_open_ai_ads_credentials) | **POST** /v1/connect/openai-ads/credentials | Connect an OpenAI Ads account
261
262
  *Zernio::ConnectApi* | [**connect_shopify_with_token**](docs/ConnectApi.md#connect_shopify_with_token) | **POST** /v1/connect/shopify/token | Connect a Shopify store with a custom-app Admin token
263
+ *Zernio::ConnectApi* | [**connect_slack_channel**](docs/ConnectApi.md#connect_slack_channel) | **POST** /v1/connect/slack | Connect a Slack channel
262
264
  *Zernio::ConnectApi* | [**connect_whats_app_credentials**](docs/ConnectApi.md#connect_whats_app_credentials) | **POST** /v1/connect/whatsapp/credentials | Connect WhatsApp via credentials
265
+ *Zernio::ConnectApi* | [**connect_whats_app_embedded_signup**](docs/ConnectApi.md#connect_whats_app_embedded_signup) | **POST** /v1/connect/whatsapp/embedded-signup | Connect WhatsApp from Embedded Signup
263
266
  *Zernio::ConnectApi* | [**create_pinterest_board**](docs/ConnectApi.md#create_pinterest_board) | **POST** /v1/accounts/{accountId}/pinterest-boards | Create Pinterest board
264
267
  *Zernio::ConnectApi* | [**get_connect_url**](docs/ConnectApi.md#get_connect_url) | **GET** /v1/connect/{platform} | Get OAuth connect URL
265
268
  *Zernio::ConnectApi* | [**get_facebook_pages**](docs/ConnectApi.md#get_facebook_pages) | **GET** /v1/accounts/{accountId}/facebook-page | List Facebook pages
@@ -811,14 +814,17 @@ Class | Method | HTTP request | Description
811
814
  - [Zernio::ConnectAds200ResponseOneOf1](docs/ConnectAds200ResponseOneOf1.md)
812
815
  - [Zernio::ConnectBlueskyCredentials200Response](docs/ConnectBlueskyCredentials200Response.md)
813
816
  - [Zernio::ConnectBlueskyCredentialsRequest](docs/ConnectBlueskyCredentialsRequest.md)
817
+ - [Zernio::ConnectDiscordChannelRequest](docs/ConnectDiscordChannelRequest.md)
814
818
  - [Zernio::ConnectOpenAIAdsCredentials200Response](docs/ConnectOpenAIAdsCredentials200Response.md)
815
819
  - [Zernio::ConnectOpenAIAdsCredentialsRequest](docs/ConnectOpenAIAdsCredentialsRequest.md)
816
820
  - [Zernio::ConnectShopifyWithToken200Response](docs/ConnectShopifyWithToken200Response.md)
817
821
  - [Zernio::ConnectShopifyWithToken200ResponseAccount](docs/ConnectShopifyWithToken200ResponseAccount.md)
818
822
  - [Zernio::ConnectShopifyWithTokenRequest](docs/ConnectShopifyWithTokenRequest.md)
823
+ - [Zernio::ConnectSlackChannelRequest](docs/ConnectSlackChannelRequest.md)
819
824
  - [Zernio::ConnectWhatsAppCredentials200Response](docs/ConnectWhatsAppCredentials200Response.md)
820
825
  - [Zernio::ConnectWhatsAppCredentials200ResponseAccount](docs/ConnectWhatsAppCredentials200ResponseAccount.md)
821
826
  - [Zernio::ConnectWhatsAppCredentialsRequest](docs/ConnectWhatsAppCredentialsRequest.md)
827
+ - [Zernio::ConnectWhatsAppEmbeddedSignupRequest](docs/ConnectWhatsAppEmbeddedSignupRequest.md)
822
828
  - [Zernio::Connected](docs/Connected.md)
823
829
  - [Zernio::ConnectedAccount](docs/ConnectedAccount.md)
824
830
  - [Zernio::ConnectedApp](docs/ConnectedApp.md)
data/docs/Ad.md CHANGED
@@ -12,7 +12,7 @@
12
12
  | **review_status** | [**AdReviewStatus**](AdReviewStatus.md) | Platform review state of this ad, independent of delivery `status` / `configuredStatus`. Absent when the platform reports no review signal. | [optional] |
13
13
  | **ad_type** | **String** | | [optional] |
14
14
  | **creative_type** | **String** | 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`. | [optional] |
15
- | **goal** | **String** | Available goals vary by platform. Meta (Facebook/Instagram) supports all 9 (incl. `lead_conversion` = website pixel lead optimization and `catalog_sales` = Advantage+ catalog ads). TikTok supports the 7 non-`lead_conversion` goals. LinkedIn supports all except app_promotion / lead_conversion. Twitter/X supports engagement, traffic, awareness, video_views, app_promotion. Pinterest and Google Ads support only engagement, traffic, awareness, video_views. | [optional] |
15
+ | **goal** | **String** | 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. | [optional] |
16
16
  | **is_external** | **Boolean** | True for ads synced from platform ad managers | [optional] |
17
17
  | **budget** | [**AdBudget**](AdBudget.md) | | [optional] |
18
18
  | **metrics** | [**AdMetrics**](AdMetrics.md) | | [optional] |
data/docs/ConnectApi.md CHANGED
@@ -10,9 +10,12 @@ All URIs are relative to *https://zernio.com/api*
10
10
  | [**configure_tik_tok_ads_brand_identity**](ConnectApi.md#configure_tik_tok_ads_brand_identity) | **PATCH** /v1/connect/tiktok-ads | Set TikTok brand identity |
11
11
  | [**connect_ads**](ConnectApi.md#connect_ads) | **GET** /v1/connect/{platform}/ads | Connect ads for a platform |
12
12
  | [**connect_bluesky_credentials**](ConnectApi.md#connect_bluesky_credentials) | **POST** /v1/connect/bluesky/credentials | Connect Bluesky account |
13
+ | [**connect_discord_channel**](ConnectApi.md#connect_discord_channel) | **POST** /v1/connect/discord | Connect a Discord channel |
13
14
  | [**connect_open_ai_ads_credentials**](ConnectApi.md#connect_open_ai_ads_credentials) | **POST** /v1/connect/openai-ads/credentials | Connect an OpenAI Ads account |
14
15
  | [**connect_shopify_with_token**](ConnectApi.md#connect_shopify_with_token) | **POST** /v1/connect/shopify/token | Connect a Shopify store with a custom-app Admin token |
16
+ | [**connect_slack_channel**](ConnectApi.md#connect_slack_channel) | **POST** /v1/connect/slack | Connect a Slack channel |
15
17
  | [**connect_whats_app_credentials**](ConnectApi.md#connect_whats_app_credentials) | **POST** /v1/connect/whatsapp/credentials | Connect WhatsApp via credentials |
18
+ | [**connect_whats_app_embedded_signup**](ConnectApi.md#connect_whats_app_embedded_signup) | **POST** /v1/connect/whatsapp/embedded-signup | Connect WhatsApp from Embedded Signup |
16
19
  | [**create_pinterest_board**](ConnectApi.md#create_pinterest_board) | **POST** /v1/accounts/{accountId}/pinterest-boards | Create Pinterest board |
17
20
  | [**get_connect_url**](ConnectApi.md#get_connect_url) | **GET** /v1/connect/{platform} | Get OAuth connect URL |
18
21
  | [**get_facebook_pages**](ConnectApi.md#get_facebook_pages) | **GET** /v1/accounts/{accountId}/facebook-page | List Facebook pages |
@@ -487,6 +490,74 @@ end
487
490
  - **Accept**: application/json
488
491
 
489
492
 
493
+ ## connect_discord_channel
494
+
495
+ > connect_discord_channel(connect_discord_channel_request)
496
+
497
+ Connect a Discord channel
498
+
499
+ 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.
500
+
501
+ ### Examples
502
+
503
+ ```ruby
504
+ require 'time'
505
+ require 'zernio-sdk'
506
+ # setup authorization
507
+ Zernio.configure do |config|
508
+ # Configure Bearer authorization (JWT): bearerAuth
509
+ config.access_token = 'YOUR_BEARER_TOKEN'
510
+ end
511
+
512
+ api_instance = Zernio::ConnectApi.new
513
+ connect_discord_channel_request = Zernio::ConnectDiscordChannelRequest.new({guild_id: 'guild_id_example', channel_id: 'channel_id_example', profile_id: 'profile_id_example'}) # ConnectDiscordChannelRequest |
514
+
515
+ begin
516
+ # Connect a Discord channel
517
+ api_instance.connect_discord_channel(connect_discord_channel_request)
518
+ rescue Zernio::ApiError => e
519
+ puts "Error when calling ConnectApi->connect_discord_channel: #{e}"
520
+ end
521
+ ```
522
+
523
+ #### Using the connect_discord_channel_with_http_info variant
524
+
525
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
526
+
527
+ > <Array(nil, Integer, Hash)> connect_discord_channel_with_http_info(connect_discord_channel_request)
528
+
529
+ ```ruby
530
+ begin
531
+ # Connect a Discord channel
532
+ data, status_code, headers = api_instance.connect_discord_channel_with_http_info(connect_discord_channel_request)
533
+ p status_code # => 2xx
534
+ p headers # => { ... }
535
+ p data # => nil
536
+ rescue Zernio::ApiError => e
537
+ puts "Error when calling ConnectApi->connect_discord_channel_with_http_info: #{e}"
538
+ end
539
+ ```
540
+
541
+ ### Parameters
542
+
543
+ | Name | Type | Description | Notes |
544
+ | ---- | ---- | ----------- | ----- |
545
+ | **connect_discord_channel_request** | [**ConnectDiscordChannelRequest**](ConnectDiscordChannelRequest.md) | | |
546
+
547
+ ### Return type
548
+
549
+ nil (empty response body)
550
+
551
+ ### Authorization
552
+
553
+ [bearerAuth](../README.md#bearerAuth)
554
+
555
+ ### HTTP request headers
556
+
557
+ - **Content-Type**: application/json
558
+ - **Accept**: application/json
559
+
560
+
490
561
  ## connect_open_ai_ads_credentials
491
562
 
492
563
  > <ConnectOpenAIAdsCredentials200Response> connect_open_ai_ads_credentials(connect_open_ai_ads_credentials_request)
@@ -625,6 +696,74 @@ end
625
696
  - **Accept**: application/json
626
697
 
627
698
 
699
+ ## connect_slack_channel
700
+
701
+ > connect_slack_channel(connect_slack_channel_request)
702
+
703
+ Connect a Slack channel
704
+
705
+ 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.
706
+
707
+ ### Examples
708
+
709
+ ```ruby
710
+ require 'time'
711
+ require 'zernio-sdk'
712
+ # setup authorization
713
+ Zernio.configure do |config|
714
+ # Configure Bearer authorization (JWT): bearerAuth
715
+ config.access_token = 'YOUR_BEARER_TOKEN'
716
+ end
717
+
718
+ api_instance = Zernio::ConnectApi.new
719
+ connect_slack_channel_request = Zernio::ConnectSlackChannelRequest.new({profile_id: 'profile_id_example', channel_id: 'channel_id_example'}) # ConnectSlackChannelRequest |
720
+
721
+ begin
722
+ # Connect a Slack channel
723
+ api_instance.connect_slack_channel(connect_slack_channel_request)
724
+ rescue Zernio::ApiError => e
725
+ puts "Error when calling ConnectApi->connect_slack_channel: #{e}"
726
+ end
727
+ ```
728
+
729
+ #### Using the connect_slack_channel_with_http_info variant
730
+
731
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
732
+
733
+ > <Array(nil, Integer, Hash)> connect_slack_channel_with_http_info(connect_slack_channel_request)
734
+
735
+ ```ruby
736
+ begin
737
+ # Connect a Slack channel
738
+ data, status_code, headers = api_instance.connect_slack_channel_with_http_info(connect_slack_channel_request)
739
+ p status_code # => 2xx
740
+ p headers # => { ... }
741
+ p data # => nil
742
+ rescue Zernio::ApiError => e
743
+ puts "Error when calling ConnectApi->connect_slack_channel_with_http_info: #{e}"
744
+ end
745
+ ```
746
+
747
+ ### Parameters
748
+
749
+ | Name | Type | Description | Notes |
750
+ | ---- | ---- | ----------- | ----- |
751
+ | **connect_slack_channel_request** | [**ConnectSlackChannelRequest**](ConnectSlackChannelRequest.md) | | |
752
+
753
+ ### Return type
754
+
755
+ nil (empty response body)
756
+
757
+ ### Authorization
758
+
759
+ [bearerAuth](../README.md#bearerAuth)
760
+
761
+ ### HTTP request headers
762
+
763
+ - **Content-Type**: application/json
764
+ - **Accept**: application/json
765
+
766
+
628
767
  ## connect_whats_app_credentials
629
768
 
630
769
  > <ConnectWhatsAppCredentials200Response> connect_whats_app_credentials(connect_whats_app_credentials_request)
@@ -694,6 +833,74 @@ end
694
833
  - **Accept**: application/json
695
834
 
696
835
 
836
+ ## connect_whats_app_embedded_signup
837
+
838
+ > connect_whats_app_embedded_signup(connect_whats_app_embedded_signup_request)
839
+
840
+ Connect WhatsApp from Embedded Signup
841
+
842
+ 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.
843
+
844
+ ### Examples
845
+
846
+ ```ruby
847
+ require 'time'
848
+ require 'zernio-sdk'
849
+ # setup authorization
850
+ Zernio.configure do |config|
851
+ # Configure Bearer authorization (JWT): bearerAuth
852
+ config.access_token = 'YOUR_BEARER_TOKEN'
853
+ end
854
+
855
+ api_instance = Zernio::ConnectApi.new
856
+ connect_whats_app_embedded_signup_request = Zernio::ConnectWhatsAppEmbeddedSignupRequest.new({code: 'code_example', profile_id: 'profile_id_example'}) # ConnectWhatsAppEmbeddedSignupRequest |
857
+
858
+ begin
859
+ # Connect WhatsApp from Embedded Signup
860
+ api_instance.connect_whats_app_embedded_signup(connect_whats_app_embedded_signup_request)
861
+ rescue Zernio::ApiError => e
862
+ puts "Error when calling ConnectApi->connect_whats_app_embedded_signup: #{e}"
863
+ end
864
+ ```
865
+
866
+ #### Using the connect_whats_app_embedded_signup_with_http_info variant
867
+
868
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
869
+
870
+ > <Array(nil, Integer, Hash)> connect_whats_app_embedded_signup_with_http_info(connect_whats_app_embedded_signup_request)
871
+
872
+ ```ruby
873
+ begin
874
+ # Connect WhatsApp from Embedded Signup
875
+ data, status_code, headers = api_instance.connect_whats_app_embedded_signup_with_http_info(connect_whats_app_embedded_signup_request)
876
+ p status_code # => 2xx
877
+ p headers # => { ... }
878
+ p data # => nil
879
+ rescue Zernio::ApiError => e
880
+ puts "Error when calling ConnectApi->connect_whats_app_embedded_signup_with_http_info: #{e}"
881
+ end
882
+ ```
883
+
884
+ ### Parameters
885
+
886
+ | Name | Type | Description | Notes |
887
+ | ---- | ---- | ----------- | ----- |
888
+ | **connect_whats_app_embedded_signup_request** | [**ConnectWhatsAppEmbeddedSignupRequest**](ConnectWhatsAppEmbeddedSignupRequest.md) | | |
889
+
890
+ ### Return type
891
+
892
+ nil (empty response body)
893
+
894
+ ### Authorization
895
+
896
+ [bearerAuth](../README.md#bearerAuth)
897
+
898
+ ### HTTP request headers
899
+
900
+ - **Content-Type**: application/json
901
+ - **Accept**: application/json
902
+
903
+
697
904
  ## create_pinterest_board
698
905
 
699
906
  > <CreatePinterestBoard201Response> create_pinterest_board(account_id, create_pinterest_board_request)
@@ -1633,7 +1840,7 @@ end
1633
1840
 
1634
1841
  Complete OAuth callback
1635
1842
 
1636
- Exchange the OAuth authorization code for tokens and connect the account to the specified profile.
1843
+ 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`.
1637
1844
 
1638
1845
  ### Examples
1639
1846
 
@@ -1647,7 +1854,7 @@ Zernio.configure do |config|
1647
1854
  end
1648
1855
 
1649
1856
  api_instance = Zernio::ConnectApi.new
1650
- platform = 'platform_example' # String |
1857
+ platform = 'instagram' # String | Social platform to complete the connect for. Discord, Slack and Telegram are absent because they are served by their own dedicated routes, documented separately.
1651
1858
  handle_o_auth_callback_request = Zernio::HandleOAuthCallbackRequest.new({code: 'code_example', state: 'state_example', profile_id: 'profile_id_example'}) # HandleOAuthCallbackRequest |
1652
1859
 
1653
1860
  begin
@@ -1680,7 +1887,7 @@ end
1680
1887
 
1681
1888
  | Name | Type | Description | Notes |
1682
1889
  | ---- | ---- | ----------- | ----- |
1683
- | **platform** | **String** | | |
1890
+ | **platform** | **String** | Social platform to complete the connect for. Discord, Slack and Telegram are absent because they are served by their own dedicated routes, documented separately. | |
1684
1891
  | **handle_o_auth_callback_request** | [**HandleOAuthCallbackRequest**](HandleOAuthCallbackRequest.md) | | |
1685
1892
 
1686
1893
  ### Return type
@@ -0,0 +1,22 @@
1
+ # Zernio::ConnectDiscordChannelRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **guild_id** | **String** | Discord server (guild) the channel belongs to | |
8
+ | **channel_id** | **String** | Text, announcement or forum channel to publish to | |
9
+ | **profile_id** | **String** | Profile to connect the channel to | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::ConnectDiscordChannelRequest.new(
17
+ guild_id: null,
18
+ channel_id: null,
19
+ profile_id: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,24 @@
1
+ # Zernio::ConnectSlackChannelRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **profile_id** | **String** | | |
8
+ | **channel_id** | **String** | Slack channel id, C... or G... | |
9
+ | **pending_data_token** | **String** | Nonce from the OAuth redirect. Required unless accountId is sent. | [optional] |
10
+ | **account_id** | **String** | Existing Slack account whose workspace token is reused. Required unless pendingDataToken is sent. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::ConnectSlackChannelRequest.new(
18
+ profile_id: null,
19
+ channel_id: null,
20
+ pending_data_token: null,
21
+ account_id: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,28 @@
1
+ # Zernio::ConnectWhatsAppEmbeddedSignupRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **code** | **String** | Authorization code from the WA_EMBEDDED_SIGNUP postMessage | |
8
+ | **profile_id** | **String** | | |
9
+ | **waba_id** | **String** | WhatsApp Business Account id, when the SDK reported one | [optional] |
10
+ | **phone_number_id** | **String** | | [optional] |
11
+ | **is_coexistence** | **Boolean** | Number is also live in the WhatsApp Business app | [optional] |
12
+ | **expected_phone_number** | **String** | Rejects the connect when Meta returns a different number | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zernio-sdk'
18
+
19
+ instance = Zernio::ConnectWhatsAppEmbeddedSignupRequest.new(
20
+ code: null,
21
+ profile_id: null,
22
+ waba_id: null,
23
+ phone_number_id: null,
24
+ is_coexistence: null,
25
+ expected_phone_number: null
26
+ )
27
+ ```
28
+
@@ -11,7 +11,7 @@
11
11
  | **ad_set_name** | **String** | Meta only. Exact ad set name. Overrides the default &#x60;&lt;name&gt; - Ad Set&#x60;. (For per-ad names on the multi-creative shape, set &#x60;name&#x60; on each &#x60;creatives[]&#x60; entry.) | [optional] |
12
12
  | **ad_name** | **String** | Meta only. Exact ad name (the single-creative ad object&#39;s name). Overrides the default, which is &#x60;name&#x60;. (For per-ad names on the multi-creative shape, set &#x60;name&#x60; on each &#x60;creatives[]&#x60; entry instead.) | [optional] |
13
13
  | **tracking** | [**CreateStandaloneAdRequestTracking**](CreateStandaloneAdRequestTracking.md) | | [optional] |
14
- | **goal** | **String** | Required on legacy and multi-creative shapes; the attach shape inherits it from the ad set. Available goals vary by platform. **Meta** - &#x60;conversions&#x60;: OUTCOME_SALES. Requires &#x60;promotedObject.pixelId&#x60; and &#x60;promotedObject.customEventType&#x60; with a commerce event such as PURCHASE or START_TRIAL, or &#x60;promotedObject.customConversionId&#x60; to optimise against a Custom Conversion, or &#x60;customEventType: OTHER&#x60; + &#x60;customEventStr&#x60; to optimise against a pixel custom event. - &#x60;lead_conversion&#x60;: OUTCOME_LEADS optimizing website pixel leads. Same pixel and event fields, but with a leads-class event such as LEAD, SUBMIT_APPLICATION, SCHEDULE or CONTACT (or &#x60;promotedObject.customConversionId&#x60; to optimise against a Custom Conversion instead). Meta gates conversion events by objective, so leads-class events are rejected under &#x60;conversions&#x60;. - &#x60;lead_generation&#x60;: OUTCOME_LEADS with instant forms. Requires &#x60;leadGenFormId&#x60;. &#x60;promotedObject.pageId&#x60; is optional and auto-filled from the connected Page. - &#x60;app_promotion&#x60;: requires &#x60;promotedObject.applicationId&#x60; and &#x60;promotedObject.objectStoreUrl&#x60;. - &#x60;catalog_sales&#x60;: Advantage+ catalog ads, for example vehicle inventory. Requires &#x60;promotedObject.productSetId&#x60;, &#x60;promotedObject.pixelId&#x60; and &#x60;promotedObject.customEventType&#x60;. 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. **TikTok** - &#x60;conversions&#x60;: website-conversion ad group. Requires &#x60;promotedObject.pixelId&#x60;, your TikTok Pixel ID. Accepts an optional &#x60;promotedObject.customEventType&#x60; 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 &#x60;adSetId&#x60; instead. **LinkedIn** - &#x60;engagement&#x60;, &#x60;traffic&#x60;, &#x60;awareness&#x60; and &#x60;video_views&#x60; create standalone Direct Sponsored Content ads. &#x60;traffic&#x60; requires &#x60;linkUrl&#x60;; &#x60;video_views&#x60; requires &#x60;video&#x60;. - &#x60;job_applicants&#x60; requires a &#x60;platformSpecificData.jobs&#x60; creative. - For &#x60;lead_generation&#x60; or &#x60;conversions&#x60; on LinkedIn, or to promote an existing post, use POST /v1/ads/boost. **OpenAI Ads** - Only &#x60;traffic&#x60;, &#x60;awareness&#x60;, and &#x60;conversions&#x60; are supported (other goals return 400). Maps to OpenAI&#39;s &#x60;bidding_type&#x60; (clicks, impressions, conversions respectively). &#x60;conversions&#x60; requires an active conversion event setting on the account; create a tracking tag with &#x60;defaultEventType&#x60; via the tracking-tags API (&#x60;POST /v1/accounts/{accountId}/tracking-tags&#x60;), or configure a conversion event in OpenAI Ads Manager, or the request returns 422. | [optional] |
14
+ | **goal** | **String** | Required on legacy and multi-creative shapes; the attach shape inherits it from the ad set. Available goals vary by platform. **Meta** - &#x60;conversions&#x60;: OUTCOME_SALES. Requires &#x60;promotedObject.pixelId&#x60; and &#x60;promotedObject.customEventType&#x60; with a commerce event such as PURCHASE or START_TRIAL, or &#x60;promotedObject.customConversionId&#x60; to optimise against a Custom Conversion, or &#x60;customEventType: OTHER&#x60; + &#x60;customEventStr&#x60; to optimise against a pixel custom event. - &#x60;lead_conversion&#x60;: OUTCOME_LEADS optimizing website pixel leads. Same pixel and event fields, but with a leads-class event such as LEAD, SUBMIT_APPLICATION, SCHEDULE or CONTACT (or &#x60;promotedObject.customConversionId&#x60; to optimise against a Custom Conversion instead). Meta gates conversion events by objective, so leads-class events are rejected under &#x60;conversions&#x60;. - &#x60;lead_generation&#x60;: OUTCOME_LEADS with instant forms. Requires &#x60;leadGenFormId&#x60;. &#x60;promotedObject.pageId&#x60; is optional and auto-filled from the connected Page. - &#x60;app_promotion&#x60;: requires &#x60;promotedObject.applicationId&#x60; and &#x60;promotedObject.objectStoreUrl&#x60;. - &#x60;catalog_sales&#x60;: Advantage+ catalog ads, for example vehicle inventory. Requires &#x60;promotedObject.productSetId&#x60;, &#x60;promotedObject.pixelId&#x60; and &#x60;promotedObject.customEventType&#x60;. 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. - &#x60;page_likes&#x60;: Page Likes conversion location under OUTCOME_ENGAGEMENT (destination_type ON_PAGE, optimization PAGE_LIKES). &#x60;promotedObject.pageId&#x60; 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). **TikTok** - &#x60;conversions&#x60;: website-conversion ad group. Requires &#x60;promotedObject.pixelId&#x60;, your TikTok Pixel ID. Accepts an optional &#x60;promotedObject.customEventType&#x60; 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 &#x60;adSetId&#x60; instead. **LinkedIn** - &#x60;engagement&#x60;, &#x60;traffic&#x60;, &#x60;awareness&#x60; and &#x60;video_views&#x60; create standalone Direct Sponsored Content ads. &#x60;traffic&#x60; requires &#x60;linkUrl&#x60;; &#x60;video_views&#x60; requires &#x60;video&#x60;. - &#x60;job_applicants&#x60; requires a &#x60;platformSpecificData.jobs&#x60; creative. - For &#x60;lead_generation&#x60; or &#x60;conversions&#x60; on LinkedIn, or to promote an existing post, use POST /v1/ads/boost. **OpenAI Ads** - Only &#x60;traffic&#x60;, &#x60;awareness&#x60;, and &#x60;conversions&#x60; are supported (other goals return 400). Maps to OpenAI&#39;s &#x60;bidding_type&#x60; (clicks, impressions, conversions respectively). &#x60;conversions&#x60; requires an active conversion event setting on the account; create a tracking tag with &#x60;defaultEventType&#x60; via the tracking-tags API (&#x60;POST /v1/accounts/{accountId}/tracking-tags&#x60;), or configure a conversion event in OpenAI Ads Manager, or the request returns 422. | [optional] |
15
15
  | **optimization_goal** | **String** | Meta only. Explicit ad-set &#x60;optimization_goal&#x60; (e.g. &#x60;LANDING_PAGE_VIEWS&#x60;, &#x60;LINK_CLICKS&#x60;, &#x60;REACH&#x60;, &#x60;IMPRESSIONS&#x60;, &#x60;OFFSITE_CONVERSIONS&#x60;, &#x60;THRUPLAY&#x60;, &#x60;LEAD_GENERATION&#x60;). Overrides the default derived from &#x60;goal&#x60; (e.g. &#x60;traffic&#x60; defaults to &#x60;LINK_CLICKS&#x60;). Forwarded verbatim to Meta, which validates compatibility with the campaign objective and rejects incompatible combinations. | [optional] |
16
16
  | **billing_event** | **String** | Meta only. Explicit ad-set &#x60;billing_event&#x60;. Defaults to &#x60;IMPRESSIONS&#x60;. Forwarded verbatim to Meta, which validates compatibility with the optimization goal. | [optional] |
17
17
  | **buying_type** | **String** | Meta only. RESERVED &#x3D; Reach &amp; Frequency: requires &#x60;rfPredictionId&#x60; (a RESERVED prediction from /v1/ads/rf-predictions + /reserve). Budget, schedule and pricing come from the reservation, so budgetAmount/budgetType are not required and bid fields are ignored. Only the plain single-ad shape (no creatives[], adSetId, existingCampaignId or dynamicCreative). | [optional] |