late-sdk 0.0.908 → 0.0.910

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -19
  3. data/docs/AdAccountsApi.md +92 -16
  4. data/docs/AdCampaignsApi.md +20 -20
  5. data/docs/AdCreativesApi.md +222 -0
  6. data/docs/AdInsightsApi.md +16 -16
  7. data/docs/AdTargetingApi.md +4 -4
  8. data/docs/CheckPhoneNumberAvailability200Response.md +1 -1
  9. data/docs/ConversionsApi.md +8 -8
  10. data/docs/GetAdComments200ResponseMeta.md +1 -1
  11. data/docs/ListPartnershipAdContent200Response.md +18 -0
  12. data/docs/ListPartnershipAdContent200ResponseMediaInner.md +30 -0
  13. data/docs/ListPartnershipAdPermissions200Response.md +18 -0
  14. data/docs/ListPartnershipAdPermissions200ResponsePermissionsInner.md +22 -0
  15. data/docs/ListPhoneNumberCountries200ResponseCountriesInnerTypesInner.md +1 -1
  16. data/docs/ListTikTokAdPixels200Response.md +20 -0
  17. data/docs/ListTikTokAdPixels200ResponsePixelsInner.md +26 -0
  18. data/docs/ListTikTokAdPixels200ResponsePixelsInnerEventDetailsInner.md +22 -0
  19. data/docs/ReachAndFrequencyApi.md +16 -16
  20. data/docs/SetPartnershipAdPermission200Response.md +18 -0
  21. data/docs/SetPartnershipAdPermissionRequest.md +22 -0
  22. data/docs/SubmitPhoneNumberKyc200Response.md +1 -1
  23. data/lib/zernio-sdk/api/ad_accounts_api.rb +89 -14
  24. data/lib/zernio-sdk/api/ad_campaigns_api.rb +10 -10
  25. data/lib/zernio-sdk/api/ad_creatives_api.rb +218 -0
  26. data/lib/zernio-sdk/api/ad_insights_api.rb +8 -8
  27. data/lib/zernio-sdk/api/ad_targeting_api.rb +2 -2
  28. data/lib/zernio-sdk/api/conversions_api.rb +4 -4
  29. data/lib/zernio-sdk/api/reach_and_frequency_api.rb +8 -8
  30. data/lib/zernio-sdk/models/check_phone_number_availability200_response.rb +1 -1
  31. data/lib/zernio-sdk/models/get_ad_comments200_response_meta.rb +1 -1
  32. data/lib/zernio-sdk/models/list_partnership_ad_content200_response.rb +149 -0
  33. data/lib/zernio-sdk/models/list_partnership_ad_content200_response_media_inner.rb +205 -0
  34. data/lib/zernio-sdk/models/list_partnership_ad_permissions200_response.rb +149 -0
  35. data/lib/zernio-sdk/models/list_partnership_ad_permissions200_response_permissions_inner.rb +165 -0
  36. data/lib/zernio-sdk/models/list_phone_number_countries200_response_countries_inner_types_inner.rb +1 -1
  37. data/lib/zernio-sdk/models/list_tik_tok_ad_pixels200_response.rb +158 -0
  38. data/lib/zernio-sdk/models/list_tik_tok_ad_pixels200_response_pixels_inner.rb +187 -0
  39. data/lib/zernio-sdk/models/list_tik_tok_ad_pixels200_response_pixels_inner_event_details_inner.rb +166 -0
  40. data/lib/zernio-sdk/models/set_partnership_ad_permission200_response.rb +147 -0
  41. data/lib/zernio-sdk/models/set_partnership_ad_permission_request.rb +219 -0
  42. data/lib/zernio-sdk/models/submit_phone_number_kyc200_response.rb +1 -1
  43. data/lib/zernio-sdk/version.rb +1 -1
  44. data/lib/zernio-sdk.rb +9 -0
  45. data/openapi.yaml +675 -171
  46. data/spec/api/ad_accounts_api_spec.rb +21 -7
  47. data/spec/api/ad_campaigns_api_spec.rb +5 -5
  48. data/spec/api/ad_creatives_api_spec.rb +40 -0
  49. data/spec/api/ad_insights_api_spec.rb +4 -4
  50. data/spec/api/ad_targeting_api_spec.rb +1 -1
  51. data/spec/api/conversions_api_spec.rb +2 -2
  52. data/spec/api/reach_and_frequency_api_spec.rb +4 -4
  53. data/spec/models/list_partnership_ad_content200_response_media_inner_spec.rb +72 -0
  54. data/spec/models/list_partnership_ad_content200_response_spec.rb +36 -0
  55. data/spec/models/list_partnership_ad_permissions200_response_permissions_inner_spec.rb +48 -0
  56. data/spec/models/list_partnership_ad_permissions200_response_spec.rb +36 -0
  57. data/spec/models/list_tik_tok_ad_pixels200_response_pixels_inner_event_details_inner_spec.rb +48 -0
  58. data/spec/models/list_tik_tok_ad_pixels200_response_pixels_inner_spec.rb +60 -0
  59. data/spec/models/list_tik_tok_ad_pixels200_response_spec.rb +42 -0
  60. data/spec/models/set_partnership_ad_permission200_response_spec.rb +36 -0
  61. data/spec/models/set_partnership_ad_permission_request_spec.rb +48 -0
  62. data/zernio-sdk-0.0.910.gem +0 -0
  63. metadata +38 -2
  64. data/zernio-sdk-0.0.908.gem +0 -0
@@ -16,6 +16,9 @@ All URIs are relative to *https://zernio.com/api*
16
16
  | [**list_ad_creatives**](AdCreativesApi.md#list_ad_creatives) | **GET** /v1/ads/creatives | Creative library |
17
17
  | [**list_ad_images**](AdCreativesApi.md#list_ad_images) | **GET** /v1/ads/images | Ad image library |
18
18
  | [**list_ad_videos**](AdCreativesApi.md#list_ad_videos) | **GET** /v1/ads/videos | Ad video library |
19
+ | [**list_partnership_ad_content**](AdCreativesApi.md#list_partnership_ad_content) | **GET** /v1/ads/partnership-content | List partnership ad content |
20
+ | [**list_partnership_ad_permissions**](AdCreativesApi.md#list_partnership_ad_permissions) | **GET** /v1/ads/partnership-permissions | List partnership permissions |
21
+ | [**set_partnership_ad_permission**](AdCreativesApi.md#set_partnership_ad_permission) | **POST** /v1/ads/partnership-permissions | Set partnership permission |
19
22
  | [**update_ad_creative**](AdCreativesApi.md#update_ad_creative) | **PUT** /v1/ads/creatives/{creativeId} | Rename a creative |
20
23
  | [**upload_ad_image**](AdCreativesApi.md#upload_ad_image) | **POST** /v1/ads/images | Upload an ad image from base64 |
21
24
  | [**upload_ad_video**](AdCreativesApi.md#upload_ad_video) | **POST** /v1/ads/videos | Upload an ad video |
@@ -899,6 +902,225 @@ end
899
902
  - **Accept**: application/json
900
903
 
901
904
 
905
+ ## list_partnership_ad_content
906
+
907
+ > <ListPartnershipAdContent200Response> list_partnership_ad_content(account_id, opts)
908
+
909
+ List partnership ad content
910
+
911
+ Private beta. Lists creator Instagram posts available to the advertiser for Partnership Ads. Supply creatorUsername or postUrl. Requires instagram_branded_content_ads_brand permission and an advertiser Instagram Business Account.
912
+
913
+ ### Examples
914
+
915
+ ```ruby
916
+ require 'time'
917
+ require 'zernio-sdk'
918
+ # setup authorization
919
+ Zernio.configure do |config|
920
+ # Configure Bearer authorization (JWT): bearerAuth
921
+ config.access_token = 'YOUR_BEARER_TOKEN'
922
+ end
923
+
924
+ api_instance = Zernio::AdCreativesApi.new
925
+ account_id = 'account_id_example' # String | Zernio SocialAccount ID.
926
+ opts = {
927
+ creator_username: 'creator_username_example', # String | Creator username. Required unless postUrl is supplied.
928
+ post_url: 'post_url_example', # String | Instagram post permalink. Required unless creatorUsername is supplied.
929
+ only_allowlisted: true # Boolean | Return only creators with account-level permission.
930
+ }
931
+
932
+ begin
933
+ # List partnership ad content
934
+ result = api_instance.list_partnership_ad_content(account_id, opts)
935
+ p result
936
+ rescue Zernio::ApiError => e
937
+ puts "Error when calling AdCreativesApi->list_partnership_ad_content: #{e}"
938
+ end
939
+ ```
940
+
941
+ #### Using the list_partnership_ad_content_with_http_info variant
942
+
943
+ This returns an Array which contains the response data, status code and headers.
944
+
945
+ > <Array(<ListPartnershipAdContent200Response>, Integer, Hash)> list_partnership_ad_content_with_http_info(account_id, opts)
946
+
947
+ ```ruby
948
+ begin
949
+ # List partnership ad content
950
+ data, status_code, headers = api_instance.list_partnership_ad_content_with_http_info(account_id, opts)
951
+ p status_code # => 2xx
952
+ p headers # => { ... }
953
+ p data # => <ListPartnershipAdContent200Response>
954
+ rescue Zernio::ApiError => e
955
+ puts "Error when calling AdCreativesApi->list_partnership_ad_content_with_http_info: #{e}"
956
+ end
957
+ ```
958
+
959
+ ### Parameters
960
+
961
+ | Name | Type | Description | Notes |
962
+ | ---- | ---- | ----------- | ----- |
963
+ | **account_id** | **String** | Zernio SocialAccount ID. | |
964
+ | **creator_username** | **String** | Creator username. Required unless postUrl is supplied. | [optional] |
965
+ | **post_url** | **String** | Instagram post permalink. Required unless creatorUsername is supplied. | [optional] |
966
+ | **only_allowlisted** | **Boolean** | Return only creators with account-level permission. | [optional] |
967
+
968
+ ### Return type
969
+
970
+ [**ListPartnershipAdContent200Response**](ListPartnershipAdContent200Response.md)
971
+
972
+ ### Authorization
973
+
974
+ [bearerAuth](../README.md#bearerAuth)
975
+
976
+ ### HTTP request headers
977
+
978
+ - **Content-Type**: Not defined
979
+ - **Accept**: application/json
980
+
981
+
982
+ ## list_partnership_ad_permissions
983
+
984
+ > <ListPartnershipAdPermissions200Response> list_partnership_ad_permissions(account_id, opts)
985
+
986
+ List partnership permissions
987
+
988
+ Private beta. Lists granted or pending creator permissions for the advertiser Instagram Business Account. Requires instagram_branded_content_ads_brand permission.
989
+
990
+ ### Examples
991
+
992
+ ```ruby
993
+ require 'time'
994
+ require 'zernio-sdk'
995
+ # setup authorization
996
+ Zernio.configure do |config|
997
+ # Configure Bearer authorization (JWT): bearerAuth
998
+ config.access_token = 'YOUR_BEARER_TOKEN'
999
+ end
1000
+
1001
+ api_instance = Zernio::AdCreativesApi.new
1002
+ account_id = 'account_id_example' # String | Zernio SocialAccount ID.
1003
+ opts = {
1004
+ creator_username: 'creator_username_example' # String | Filter by creator username.
1005
+ }
1006
+
1007
+ begin
1008
+ # List partnership permissions
1009
+ result = api_instance.list_partnership_ad_permissions(account_id, opts)
1010
+ p result
1011
+ rescue Zernio::ApiError => e
1012
+ puts "Error when calling AdCreativesApi->list_partnership_ad_permissions: #{e}"
1013
+ end
1014
+ ```
1015
+
1016
+ #### Using the list_partnership_ad_permissions_with_http_info variant
1017
+
1018
+ This returns an Array which contains the response data, status code and headers.
1019
+
1020
+ > <Array(<ListPartnershipAdPermissions200Response>, Integer, Hash)> list_partnership_ad_permissions_with_http_info(account_id, opts)
1021
+
1022
+ ```ruby
1023
+ begin
1024
+ # List partnership permissions
1025
+ data, status_code, headers = api_instance.list_partnership_ad_permissions_with_http_info(account_id, opts)
1026
+ p status_code # => 2xx
1027
+ p headers # => { ... }
1028
+ p data # => <ListPartnershipAdPermissions200Response>
1029
+ rescue Zernio::ApiError => e
1030
+ puts "Error when calling AdCreativesApi->list_partnership_ad_permissions_with_http_info: #{e}"
1031
+ end
1032
+ ```
1033
+
1034
+ ### Parameters
1035
+
1036
+ | Name | Type | Description | Notes |
1037
+ | ---- | ---- | ----------- | ----- |
1038
+ | **account_id** | **String** | Zernio SocialAccount ID. | |
1039
+ | **creator_username** | **String** | Filter by creator username. | [optional] |
1040
+
1041
+ ### Return type
1042
+
1043
+ [**ListPartnershipAdPermissions200Response**](ListPartnershipAdPermissions200Response.md)
1044
+
1045
+ ### Authorization
1046
+
1047
+ [bearerAuth](../README.md#bearerAuth)
1048
+
1049
+ ### HTTP request headers
1050
+
1051
+ - **Content-Type**: Not defined
1052
+ - **Accept**: application/json
1053
+
1054
+
1055
+ ## set_partnership_ad_permission
1056
+
1057
+ > <SetPartnershipAdPermission200Response> set_partnership_ad_permission(set_partnership_ad_permission_request)
1058
+
1059
+ Set partnership permission
1060
+
1061
+ Private beta. Requests permission from a creator or revokes it when revoke is true. Requests require the creator to approve in Instagram. Requires instagram_branded_content_ads_brand permission.
1062
+
1063
+ ### Examples
1064
+
1065
+ ```ruby
1066
+ require 'time'
1067
+ require 'zernio-sdk'
1068
+ # setup authorization
1069
+ Zernio.configure do |config|
1070
+ # Configure Bearer authorization (JWT): bearerAuth
1071
+ config.access_token = 'YOUR_BEARER_TOKEN'
1072
+ end
1073
+
1074
+ api_instance = Zernio::AdCreativesApi.new
1075
+ set_partnership_ad_permission_request = Zernio::SetPartnershipAdPermissionRequest.new({account_id: 'account_id_example', creator_username: 'creator_username_example'}) # SetPartnershipAdPermissionRequest |
1076
+
1077
+ begin
1078
+ # Set partnership permission
1079
+ result = api_instance.set_partnership_ad_permission(set_partnership_ad_permission_request)
1080
+ p result
1081
+ rescue Zernio::ApiError => e
1082
+ puts "Error when calling AdCreativesApi->set_partnership_ad_permission: #{e}"
1083
+ end
1084
+ ```
1085
+
1086
+ #### Using the set_partnership_ad_permission_with_http_info variant
1087
+
1088
+ This returns an Array which contains the response data, status code and headers.
1089
+
1090
+ > <Array(<SetPartnershipAdPermission200Response>, Integer, Hash)> set_partnership_ad_permission_with_http_info(set_partnership_ad_permission_request)
1091
+
1092
+ ```ruby
1093
+ begin
1094
+ # Set partnership permission
1095
+ data, status_code, headers = api_instance.set_partnership_ad_permission_with_http_info(set_partnership_ad_permission_request)
1096
+ p status_code # => 2xx
1097
+ p headers # => { ... }
1098
+ p data # => <SetPartnershipAdPermission200Response>
1099
+ rescue Zernio::ApiError => e
1100
+ puts "Error when calling AdCreativesApi->set_partnership_ad_permission_with_http_info: #{e}"
1101
+ end
1102
+ ```
1103
+
1104
+ ### Parameters
1105
+
1106
+ | Name | Type | Description | Notes |
1107
+ | ---- | ---- | ----------- | ----- |
1108
+ | **set_partnership_ad_permission_request** | [**SetPartnershipAdPermissionRequest**](SetPartnershipAdPermissionRequest.md) | | |
1109
+
1110
+ ### Return type
1111
+
1112
+ [**SetPartnershipAdPermission200Response**](SetPartnershipAdPermission200Response.md)
1113
+
1114
+ ### Authorization
1115
+
1116
+ [bearerAuth](../README.md#bearerAuth)
1117
+
1118
+ ### HTTP request headers
1119
+
1120
+ - **Content-Type**: application/json
1121
+ - **Accept**: application/json
1122
+
1123
+
902
1124
  ## update_ad_creative
903
1125
 
904
1126
  > <UpdateAdCreative200Response> update_ad_creative(creative_id, update_ad_creative_request)
@@ -4,14 +4,14 @@ All URIs are relative to *https://zernio.com/api*
4
4
 
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
- | [**create_ad_insights_report**](AdInsightsApi.md#create_ad_insights_report) | **POST** /v1/ads/insights/reports | Submit an async insights report run |
8
- | [**generate_keyword_historical_metrics**](AdInsightsApi.md#generate_keyword_historical_metrics) | **POST** /v1/ads/keywords/historical-metrics | Historical keyword metrics (Google Keyword Planner) |
9
- | [**generate_keyword_ideas**](AdInsightsApi.md#generate_keyword_ideas) | **POST** /v1/ads/keywords/ideas | Generate keyword ideas (Google Keyword Planner) |
7
+ | [**create_ad_insights_report**](AdInsightsApi.md#create_ad_insights_report) | **POST** /v1/ads/insights/reports | Submit async insights report |
8
+ | [**generate_keyword_historical_metrics**](AdInsightsApi.md#generate_keyword_historical_metrics) | **POST** /v1/ads/keywords/historical-metrics | Get historical keyword metrics |
9
+ | [**generate_keyword_ideas**](AdInsightsApi.md#generate_keyword_ideas) | **POST** /v1/ads/keywords/ideas | Generate keyword ideas |
10
10
  | [**get_ad_analytics**](AdInsightsApi.md#get_ad_analytics) | **GET** /v1/ads/{adId}/analytics | Get ad analytics |
11
11
  | [**get_ad_insights_report**](AdInsightsApi.md#get_ad_insights_report) | **GET** /v1/ads/insights/reports/{reportRunId} | Poll an async insights report run |
12
12
  | [**get_ads_search_terms**](AdInsightsApi.md#get_ads_search_terms) | **GET** /v1/ads/search-terms | Google Ads search terms report |
13
13
  | [**get_campaign_analytics**](AdInsightsApi.md#get_campaign_analytics) | **GET** /v1/ads/campaigns/{campaignId}/analytics | Get campaign analytics |
14
- | [**list_local_services_lead_conversations**](AdInsightsApi.md#list_local_services_lead_conversations) | **GET** /v1/ads/local-services/leads/{leadId}/conversations | Conversations of a Local Services lead |
14
+ | [**list_local_services_lead_conversations**](AdInsightsApi.md#list_local_services_lead_conversations) | **GET** /v1/ads/local-services/leads/{leadId}/conversations | List lead conversations |
15
15
  | [**list_local_services_leads**](AdInsightsApi.md#list_local_services_leads) | **GET** /v1/ads/local-services/leads | Google Local Services Ads leads |
16
16
  | [**query_ad_insights**](AdInsightsApi.md#query_ad_insights) | **GET** /v1/ads/insights | Flexible live insights query |
17
17
 
@@ -20,7 +20,7 @@ All URIs are relative to *https://zernio.com/api*
20
20
 
21
21
  > <CreateAdInsightsReport202Response> create_ad_insights_report(create_ad_insights_report_request)
22
22
 
23
- Submit an async insights report run
23
+ Submit async insights report
24
24
 
25
25
  Submits an asynchronous Meta insights report. Same query surface as GET /v1/ads/insights, but in the JSON body; Meta processes the report server-side, which is the right choice for long ranges or large accounts where the sync query is slow or rate-limited. Returns a `reportRunId` to poll via GET /v1/ads/insights/reports/{reportRunId}.
26
26
 
@@ -39,7 +39,7 @@ api_instance = Zernio::AdInsightsApi.new
39
39
  create_ad_insights_report_request = Zernio::CreateAdInsightsReportRequest.new({account_id: 'account_id_example', object_id: 'object_id_example'}) # CreateAdInsightsReportRequest |
40
40
 
41
41
  begin
42
- # Submit an async insights report run
42
+ # Submit async insights report
43
43
  result = api_instance.create_ad_insights_report(create_ad_insights_report_request)
44
44
  p result
45
45
  rescue Zernio::ApiError => e
@@ -55,7 +55,7 @@ This returns an Array which contains the response data, status code and headers.
55
55
 
56
56
  ```ruby
57
57
  begin
58
- # Submit an async insights report run
58
+ # Submit async insights report
59
59
  data, status_code, headers = api_instance.create_ad_insights_report_with_http_info(create_ad_insights_report_request)
60
60
  p status_code # => 2xx
61
61
  p headers # => { ... }
@@ -89,7 +89,7 @@ end
89
89
 
90
90
  > <GenerateKeywordHistoricalMetrics200Response> generate_keyword_historical_metrics(generate_keyword_historical_metrics_request)
91
91
 
92
- Historical keyword metrics (Google Keyword Planner)
92
+ Get historical keyword metrics
93
93
 
94
94
  Google Ads only. Runs Keyword Planner's generateKeywordHistoricalMetrics for up to 1,000 exact keywords: historical search volume, competition and top-of-page bid ranges, plus averageCpcMicros when includeAverageCpc is set. Rows come back verbatim; counters are int64s encoded as strings, bid/CPC values are micros of the account currency.
95
95
 
@@ -108,7 +108,7 @@ api_instance = Zernio::AdInsightsApi.new
108
108
  generate_keyword_historical_metrics_request = Zernio::GenerateKeywordHistoricalMetricsRequest.new({account_id: 'account_id_example', keywords: ['keywords_example']}) # GenerateKeywordHistoricalMetricsRequest |
109
109
 
110
110
  begin
111
- # Historical keyword metrics (Google Keyword Planner)
111
+ # Get historical keyword metrics
112
112
  result = api_instance.generate_keyword_historical_metrics(generate_keyword_historical_metrics_request)
113
113
  p result
114
114
  rescue Zernio::ApiError => e
@@ -124,7 +124,7 @@ This returns an Array which contains the response data, status code and headers.
124
124
 
125
125
  ```ruby
126
126
  begin
127
- # Historical keyword metrics (Google Keyword Planner)
127
+ # Get historical keyword metrics
128
128
  data, status_code, headers = api_instance.generate_keyword_historical_metrics_with_http_info(generate_keyword_historical_metrics_request)
129
129
  p status_code # => 2xx
130
130
  p headers # => { ... }
@@ -158,7 +158,7 @@ end
158
158
 
159
159
  > <GenerateKeywordIdeas200Response> generate_keyword_ideas(generate_keyword_ideas_request)
160
160
 
161
- Generate keyword ideas (Google Keyword Planner)
161
+ Generate keyword ideas
162
162
 
163
163
  Google Ads only. Runs Keyword Planner's generateKeywordIdeas from seed keywords, a seed URL, or both, returning idea rows verbatim (avgMonthlySearches, competition, competitionIndex, top-of-page bid micros, monthlySearchVolumes). Counters are int64s encoded as strings; bid values are micros of the account currency. Omitting `countries` targets worldwide.
164
164
 
@@ -177,7 +177,7 @@ api_instance = Zernio::AdInsightsApi.new
177
177
  generate_keyword_ideas_request = Zernio::GenerateKeywordIdeasRequest.new({account_id: 'account_id_example'}) # GenerateKeywordIdeasRequest |
178
178
 
179
179
  begin
180
- # Generate keyword ideas (Google Keyword Planner)
180
+ # Generate keyword ideas
181
181
  result = api_instance.generate_keyword_ideas(generate_keyword_ideas_request)
182
182
  p result
183
183
  rescue Zernio::ApiError => e
@@ -193,7 +193,7 @@ This returns an Array which contains the response data, status code and headers.
193
193
 
194
194
  ```ruby
195
195
  begin
196
- # Generate keyword ideas (Google Keyword Planner)
196
+ # Generate keyword ideas
197
197
  data, status_code, headers = api_instance.generate_keyword_ideas_with_http_info(generate_keyword_ideas_request)
198
198
  p status_code # => 2xx
199
199
  p headers # => { ... }
@@ -543,7 +543,7 @@ end
543
543
 
544
544
  > <ListLocalServicesLeadConversations200Response> list_local_services_lead_conversations(lead_id, account_id, opts)
545
545
 
546
- Conversations of a Local Services lead
546
+ List lead conversations
547
547
 
548
548
  Conversation entries of one Local Services lead: phone calls (duration, recording URL) and messages (text, attachment URLs), oldest first. Read live from `local_services_lead_conversation`, always scoped to a single lead. Call-recording URLs require read access on the Google Ads account. Draws on the shared Google Ads operations budget.
549
549
 
@@ -567,7 +567,7 @@ opts = {
567
567
  }
568
568
 
569
569
  begin
570
- # Conversations of a Local Services lead
570
+ # List lead conversations
571
571
  result = api_instance.list_local_services_lead_conversations(lead_id, account_id, opts)
572
572
  p result
573
573
  rescue Zernio::ApiError => e
@@ -583,7 +583,7 @@ This returns an Array which contains the response data, status code and headers.
583
583
 
584
584
  ```ruby
585
585
  begin
586
- # Conversations of a Local Services lead
586
+ # List lead conversations
587
587
  data, status_code, headers = api_instance.list_local_services_lead_conversations_with_http_info(lead_id, account_id, opts)
588
588
  p status_code # => 2xx
589
589
  p headers # => { ... }
@@ -6,7 +6,7 @@ All URIs are relative to *https://zernio.com/api*
6
6
  | ------ | ------------ | ----------- |
7
7
  | [**estimate_ad_reach**](AdTargetingApi.md#estimate_ad_reach) | **POST** /v1/ads/targeting/reach-estimate | Estimate audience reach |
8
8
  | [**get_linked_in_bid_pricing**](AdTargetingApi.md#get_linked_in_bid_pricing) | **POST** /v1/ads/targeting/bid-pricing | Suggested bid and budget bounds |
9
- | [**get_linked_in_supply_forecast**](AdTargetingApi.md#get_linked_in_supply_forecast) | **POST** /v1/ads/targeting/supply-forecast | Impressions, clicks and spend forecast |
9
+ | [**get_linked_in_supply_forecast**](AdTargetingApi.md#get_linked_in_supply_forecast) | **POST** /v1/ads/targeting/supply-forecast | Forecast ad delivery |
10
10
  | [**search_ad_interests**](AdTargetingApi.md#search_ad_interests) | **GET** /v1/ads/interests | Search targeting interests |
11
11
  | [**search_ad_targeting**](AdTargetingApi.md#search_ad_targeting) | **GET** /v1/ads/targeting/search | Search targeting options |
12
12
 
@@ -153,7 +153,7 @@ end
153
153
 
154
154
  > <GetLinkedInSupplyForecast200Response> get_linked_in_supply_forecast(get_linked_in_supply_forecast_request)
155
155
 
156
- Impressions, clicks and spend forecast
156
+ Forecast ad delivery
157
157
 
158
158
  LinkedIn-only. Forecasted impressions, clicks, spend and ~20 other metrics for a targeting spec over a time range. Wraps LinkedIn's `adSupplyForecasts` finder. Each returned series carries a `metricType` (IMPRESSION, CLICK, SPENDING, MAX_POTENTIAL_BUDGET, COST_PER_MILLION_IMPRESSIONS, ...) and a `granularity` (DAILY, SEVEN_DAY, THIRTY_DAY, CUSTOM). LinkedIn caps the daily spending forecast at 1.2x the daily budget and returns 0 once the total budget is exhausted. Non-LinkedIn accounts return `available: false`.
159
159
 
@@ -172,7 +172,7 @@ api_instance = Zernio::AdTargetingApi.new
172
172
  get_linked_in_supply_forecast_request = Zernio::GetLinkedInSupplyForecastRequest.new({account_id: 'account_id_example', ad_account_id: 'ad_account_id_example', spec: Zernio::TargetingSpec.new, time_range_start: 37, time_range_end: 37}) # GetLinkedInSupplyForecastRequest |
173
173
 
174
174
  begin
175
- # Impressions, clicks and spend forecast
175
+ # Forecast ad delivery
176
176
  result = api_instance.get_linked_in_supply_forecast(get_linked_in_supply_forecast_request)
177
177
  p result
178
178
  rescue Zernio::ApiError => e
@@ -188,7 +188,7 @@ This returns an Array which contains the response data, status code and headers.
188
188
 
189
189
  ```ruby
190
190
  begin
191
- # Impressions, clicks and spend forecast
191
+ # Forecast ad delivery
192
192
  data, status_code, headers = api_instance.get_linked_in_supply_forecast_with_http_info(get_linked_in_supply_forecast_request)
193
193
  p status_code # => 2xx
194
194
  p headers # => { ... }
@@ -7,7 +7,7 @@
7
7
  | **country** | **String** | | [optional] |
8
8
  | **number_type** | **String** | | [optional] |
9
9
  | **available** | **Boolean** | Whether deliverable voice inventory exists right now. | [optional] |
10
- | **pre_orderable** | **Boolean** | Nothing deliverable now, but this pair can be pre-ordered: submit KYC as usual and the carrier sources the number after review (usually about 3 weeks, never guaranteed). Only document tiers (3/4) qualify. | [optional] |
10
+ | **pre_orderable** | **Boolean** | Nothing deliverable now, but this pair can be pre-ordered: submit KYC as usual and we buy regular stock the moment it returns, otherwise the carrier sources the number (usually 2 to 4 weeks, never guaranteed). Only document tiers (3/4) qualify. | [optional] |
11
11
  | **address_constraint** | **String** | | [optional] |
12
12
  | **areas** | **Array&lt;String&gt;** | For &#x60;geo&#x60; only: the area(s) the registered address must be in. | [optional] |
13
13
  | **area_options** | [**Array&lt;CheckPhoneNumberAvailability200ResponseAreaOptionsInner&gt;**](CheckPhoneNumberAvailability200ResponseAreaOptionsInner.md) | Live inventory grouped by area code. For US and CA this is the full country inventory (every area code with stock, recognizable metros listed first, then alphabetical); other countries are ordered largest stock first; they list the areas in the latest inventory page (up to 500 numbers, which for most countries is the entire pool). Empty when out of stock (or the area lookup failed). Pass a chosen &#x60;ndc&#x60; as &#x60;areaCode&#x60; on POST /v1/phone-numbers/purchase (or on the KYC submit for regulated countries) to require that area. | [optional] |
@@ -6,13 +6,13 @@ All URIs are relative to *https://zernio.com/api*
6
6
  | ------ | ------------ | ----------- |
7
7
  | [**add_conversion_associations**](ConversionsApi.md#add_conversion_associations) | **POST** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations | Associate campaigns |
8
8
  | [**adjust_conversions**](ConversionsApi.md#adjust_conversions) | **POST** /v1/ads/conversions/adjustments | Adjust uploaded conversions |
9
- | [**create_conversion_action**](ConversionsApi.md#create_conversion_action) | **POST** /v1/ads/conversions/actions | Create a website conversion action |
9
+ | [**create_conversion_action**](ConversionsApi.md#create_conversion_action) | **POST** /v1/ads/conversions/actions | Create website conversion action |
10
10
  | [**create_conversion_destination**](ConversionsApi.md#create_conversion_destination) | **POST** /v1/accounts/{accountId}/conversion-destinations | Create a conversion destination |
11
11
  | [**delete_conversion_destination**](ConversionsApi.md#delete_conversion_destination) | **DELETE** /v1/accounts/{accountId}/conversion-destinations/{destinationId} | Delete a conversion destination |
12
12
  | [**get_conversion_destination**](ConversionsApi.md#get_conversion_destination) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId} | Get a conversion destination |
13
13
  | [**get_conversion_metrics**](ConversionsApi.md#get_conversion_metrics) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/metrics | Get attribution metrics |
14
14
  | [**get_conversions_quality**](ConversionsApi.md#get_conversions_quality) | **GET** /v1/ads/conversions/quality | Get Event Match Quality |
15
- | [**list_conversion_actions**](ConversionsApi.md#list_conversion_actions) | **GET** /v1/ads/conversions/actions | List conversion actions and their tag snippets |
15
+ | [**list_conversion_actions**](ConversionsApi.md#list_conversion_actions) | **GET** /v1/ads/conversions/actions | List conversion actions |
16
16
  | [**list_conversion_associations**](ConversionsApi.md#list_conversion_associations) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations | List associated campaigns |
17
17
  | [**list_conversion_destinations**](ConversionsApi.md#list_conversion_destinations) | **GET** /v1/accounts/{accountId}/conversion-destinations | List conversion destinations |
18
18
  | [**remove_conversion_associations**](ConversionsApi.md#remove_conversion_associations) | **DELETE** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations | Remove associated campaigns |
@@ -166,7 +166,7 @@ end
166
166
 
167
167
  > <CreateConversionAction201Response> create_conversion_action(create_conversion_action_request)
168
168
 
169
- Create a website conversion action
169
+ Create website conversion action
170
170
 
171
171
  Creates a `WEBPAGE` conversion action (category `DEFAULT`) and returns it with its tag snippets, read back after creation since Google never returns them on the create response itself. Invalidates the cached list `GET` on this resource would otherwise keep serving. Google-only; other platforms return `501`. Requires the Ads add-on.
172
172
 
@@ -185,7 +185,7 @@ api_instance = Zernio::ConversionsApi.new
185
185
  create_conversion_action_request = Zernio::CreateConversionActionRequest.new({account_id: 'account_id_example', name: 'name_example', type: 'WEBPAGE'}) # CreateConversionActionRequest |
186
186
 
187
187
  begin
188
- # Create a website conversion action
188
+ # Create website conversion action
189
189
  result = api_instance.create_conversion_action(create_conversion_action_request)
190
190
  p result
191
191
  rescue Zernio::ApiError => e
@@ -201,7 +201,7 @@ This returns an Array which contains the response data, status code and headers.
201
201
 
202
202
  ```ruby
203
203
  begin
204
- # Create a website conversion action
204
+ # Create website conversion action
205
205
  data, status_code, headers = api_instance.create_conversion_action_with_http_info(create_conversion_action_request)
206
206
  p status_code # => 2xx
207
207
  p headers # => { ... }
@@ -605,7 +605,7 @@ end
605
605
 
606
606
  > <ListConversionActions200Response> list_conversion_actions(account_id, opts)
607
607
 
608
- List conversion actions and their tag snippets
608
+ List conversion actions
609
609
 
610
610
  Lists Google Ads conversion actions on the resolved customer, all types by default. Each action's `tagSnippets` (global site tag + event snippet) is included when Google has them for that action's type, e.g. `WEBPAGE`. Google-only; other platforms return `501`. Requires the Ads add-on. `customerId` is optional: when omitted, it is resolved from the connection's accessible Google Ads customers, and the call fails with `400` when more than one is accessible (pass `customerId` to disambiguate). The list itself is cached for the quota window (1 hour fresh, up to 7 days last-good; the cache key does not vary on `type`). The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
611
611
 
@@ -628,7 +628,7 @@ opts = {
628
628
  }
629
629
 
630
630
  begin
631
- # List conversion actions and their tag snippets
631
+ # List conversion actions
632
632
  result = api_instance.list_conversion_actions(account_id, opts)
633
633
  p result
634
634
  rescue Zernio::ApiError => e
@@ -644,7 +644,7 @@ This returns an Array which contains the response data, status code and headers.
644
644
 
645
645
  ```ruby
646
646
  begin
647
- # List conversion actions and their tag snippets
647
+ # List conversion actions
648
648
  data, status_code, headers = api_instance.list_conversion_actions_with_http_info(account_id, opts)
649
649
  p status_code # => 2xx
650
650
  p headers # => { ... }
@@ -9,7 +9,7 @@
9
9
  | **ad_id** | **String** | Internal Zernio ad ID. | |
10
10
  | **platform_ad_id** | **String** | Platform ad ID. | [optional] |
11
11
  | **effective_story_id** | **String** | Underlying post ID the comments belong to. effective_object_story_id for the Facebook side, effective_instagram_media_id for the Instagram side. | [optional] |
12
- | **tiktok_item_id** | **String** | TikTok-only video item ID. Null when the ad and comments do not expose it. | [optional] |
12
+ | **tiktok_item_id** | **String** | TikTok-only video item ID from stored ad fields or returned comments. Null does not prevent listing; ad details are not fetched to populate it. | [optional] |
13
13
  | **since** | **Date** | TikTok-only resolved start date. | [optional] |
14
14
  | **_until** | **Date** | TikTok-only resolved end date. | [optional] |
15
15
  | **facebook_account_id** | **String** | Facebook-only. The connected Facebook Page SocialAccount these comments were read through. Pass it as &#x60;accountId&#x60; (with &#x60;effectiveStoryId&#x60; as the postId) to /v1/inbox/comments to reply/hide/delete. Null when no connected Page was used (then moderation isn&#39;t possible). | [optional] |
@@ -0,0 +1,18 @@
1
+ # Zernio::ListPartnershipAdContent200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **media** | [**Array&lt;ListPartnershipAdContent200ResponseMediaInner&gt;**](ListPartnershipAdContent200ResponseMediaInner.md) | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'zernio-sdk'
13
+
14
+ instance = Zernio::ListPartnershipAdContent200Response.new(
15
+ media: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,30 @@
1
+ # Zernio::ListPartnershipAdContent200ResponseMediaInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | | [optional] |
8
+ | **permalink** | **String** | | [optional] |
9
+ | **owner_id** | **String** | | [optional] |
10
+ | **has_permission_for_partnership_ad** | **Boolean** | | [optional] |
11
+ | **is_creator_allowlisted** | **Boolean** | | [optional] |
12
+ | **eligibility_errors** | **Array&lt;String&gt;** | | [optional] |
13
+ | **recommended_campaign_objectives** | **Array&lt;String&gt;** | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'zernio-sdk'
19
+
20
+ instance = Zernio::ListPartnershipAdContent200ResponseMediaInner.new(
21
+ id: null,
22
+ permalink: null,
23
+ owner_id: null,
24
+ has_permission_for_partnership_ad: null,
25
+ is_creator_allowlisted: null,
26
+ eligibility_errors: null,
27
+ recommended_campaign_objectives: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,18 @@
1
+ # Zernio::ListPartnershipAdPermissions200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **permissions** | [**Array&lt;ListPartnershipAdPermissions200ResponsePermissionsInner&gt;**](ListPartnershipAdPermissions200ResponsePermissionsInner.md) | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'zernio-sdk'
13
+
14
+ instance = Zernio::ListPartnershipAdPermissions200Response.new(
15
+ permissions: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,22 @@
1
+ # Zernio::ListPartnershipAdPermissions200ResponsePermissionsInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | | [optional] |
8
+ | **permission_type** | **String** | | [optional] |
9
+ | **status** | **String** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::ListPartnershipAdPermissions200ResponsePermissionsInner.new(
17
+ id: null,
18
+ permission_type: null,
19
+ status: null
20
+ )
21
+ ```
22
+
@@ -13,7 +13,7 @@
13
13
  | **calls_available** | **Boolean** | | [optional] |
14
14
  | **in_stock** | **Boolean** | | [optional] |
15
15
  | **fulfilment** | **String** | &#x60;request&#x60;: the carrier stocks this type nowhere and only sources it to order, so it is always a pre-order. | [optional] |
16
- | **pre_orderable** | **Boolean** | Out of stock but orderable anyway. Submit KYC as usual (POST /v1/phone-numbers/kyc) and the carrier sources the number after review, usually about 3 weeks and never guaranteed. Only document tiers (3/4) qualify, and nothing is billed until the number is active. | [optional] |
16
+ | **pre_orderable** | **Boolean** | Out of stock but orderable anyway. Submit KYC as usual (POST /v1/phone-numbers/kyc): we buy regular stock the moment it returns, otherwise the carrier sources the number. Usually 2 to 4 weeks, never guaranteed. Only document tiers (3/4) qualify, and nothing is billed until the number is active. | [optional] |
17
17
 
18
18
  ## Example
19
19
 
@@ -0,0 +1,20 @@
1
+ # Zernio::ListTikTokAdPixels200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **advertiser_id** | **String** | | [optional] |
8
+ | **pixels** | [**Array&lt;ListTikTokAdPixels200ResponsePixelsInner&gt;**](ListTikTokAdPixels200ResponsePixelsInner.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::ListTikTokAdPixels200Response.new(
16
+ advertiser_id: null,
17
+ pixels: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,26 @@
1
+ # Zernio::ListTikTokAdPixels200ResponsePixelsInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **pixel_id** | **String** | | [optional] |
8
+ | **pixel_code** | **String** | | [optional] |
9
+ | **name** | **String** | | [optional] |
10
+ | **events** | **Array&lt;String&gt;** | | [optional] |
11
+ | **event_details** | [**Array&lt;ListTikTokAdPixels200ResponsePixelsInnerEventDetailsInner&gt;**](ListTikTokAdPixels200ResponsePixelsInnerEventDetailsInner.md) | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'zernio-sdk'
17
+
18
+ instance = Zernio::ListTikTokAdPixels200ResponsePixelsInner.new(
19
+ pixel_id: null,
20
+ pixel_code: null,
21
+ name: null,
22
+ events: null,
23
+ event_details: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,22 @@
1
+ # Zernio::ListTikTokAdPixels200ResponsePixelsInnerEventDetailsInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | | [optional] |
8
+ | **optimization_event** | **String** | | [optional] |
9
+ | **custom** | **Boolean** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::ListTikTokAdPixels200ResponsePixelsInnerEventDetailsInner.new(
17
+ name: null,
18
+ optimization_event: null,
19
+ custom: null
20
+ )
21
+ ```
22
+