zernio-sdk 0.0.110 → 0.0.112

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +20 -0
  3. data/docs/AnalyticsApi.md +154 -0
  4. data/docs/CreateInboxConversation201Response.md +20 -0
  5. data/docs/CreateInboxConversation201ResponseData.md +26 -0
  6. data/docs/CreateInboxConversation400Response.md +20 -0
  7. data/docs/CreateInboxConversation422Response.md +20 -0
  8. data/docs/CreateInboxConversationRequest.md +26 -0
  9. data/docs/CreatePostRequest.md +2 -0
  10. data/docs/EditPost200Response.md +24 -0
  11. data/docs/EditPostRequest.md +20 -0
  12. data/docs/FacebookPlatformData.md +3 -1
  13. data/docs/GetGoogleBusinessPerformance200Response.md +28 -0
  14. data/docs/GetGoogleBusinessPerformance200ResponseDateRange.md +20 -0
  15. data/docs/GetGoogleBusinessPerformance200ResponseMetricsValue.md +20 -0
  16. data/docs/GetGoogleBusinessPerformance200ResponseMetricsValueValuesInner.md +20 -0
  17. data/docs/GetGoogleBusinessPerformance400Response.md +20 -0
  18. data/docs/GetGoogleBusinessSearchKeywords200Response.md +28 -0
  19. data/docs/GetGoogleBusinessSearchKeywords200ResponseKeywordsInner.md +20 -0
  20. data/docs/GetGoogleBusinessSearchKeywords200ResponseMonthRange.md +20 -0
  21. data/docs/GetGoogleBusinessSearchKeywords400Response.md +18 -0
  22. data/docs/MessagesApi.md +70 -0
  23. data/docs/PostsApi.md +72 -0
  24. data/docs/TwitterPlatformData.md +3 -1
  25. data/docs/UpdatePostRequest.md +2 -0
  26. data/lib/late-sdk/api/analytics_api.rb +153 -0
  27. data/lib/late-sdk/api/messages_api.rb +68 -0
  28. data/lib/late-sdk/api/posts_api.rb +74 -0
  29. data/lib/late-sdk/models/create_inbox_conversation201_response.rb +156 -0
  30. data/lib/late-sdk/models/create_inbox_conversation201_response_data.rb +188 -0
  31. data/lib/late-sdk/models/create_inbox_conversation400_response.rb +190 -0
  32. data/lib/late-sdk/models/create_inbox_conversation422_response.rb +190 -0
  33. data/lib/late-sdk/models/create_inbox_conversation_request.rb +207 -0
  34. data/lib/late-sdk/models/create_post_request.rb +11 -1
  35. data/lib/late-sdk/models/edit_post200_response.rb +176 -0
  36. data/lib/late-sdk/models/edit_post_request.rb +216 -0
  37. data/lib/late-sdk/models/facebook_platform_data.rb +14 -2
  38. data/lib/late-sdk/models/get_google_business_performance200_response.rb +195 -0
  39. data/lib/late-sdk/models/get_google_business_performance200_response_date_range.rb +156 -0
  40. data/lib/late-sdk/models/get_google_business_performance200_response_metrics_value.rb +159 -0
  41. data/lib/late-sdk/models/get_google_business_performance200_response_metrics_value_values_inner.rb +156 -0
  42. data/lib/late-sdk/models/get_google_business_performance400_response.rb +158 -0
  43. data/lib/late-sdk/models/get_google_business_search_keywords200_response.rb +194 -0
  44. data/lib/late-sdk/models/get_google_business_search_keywords200_response_keywords_inner.rb +156 -0
  45. data/lib/late-sdk/models/get_google_business_search_keywords200_response_month_range.rb +156 -0
  46. data/lib/late-sdk/models/get_google_business_search_keywords400_response.rb +147 -0
  47. data/lib/late-sdk/models/twitter_platform_data.rb +16 -4
  48. data/lib/late-sdk/models/update_post_request.rb +11 -1
  49. data/lib/late-sdk/version.rb +1 -1
  50. data/lib/late-sdk.rb +16 -0
  51. data/openapi.yaml +423 -1
  52. data/spec/api/analytics_api_spec.rb +29 -0
  53. data/spec/api/messages_api_spec.rb +12 -0
  54. data/spec/api/posts_api_spec.rb +13 -0
  55. data/spec/models/create_inbox_conversation201_response_data_spec.rb +60 -0
  56. data/spec/models/create_inbox_conversation201_response_spec.rb +42 -0
  57. data/spec/models/create_inbox_conversation400_response_spec.rb +46 -0
  58. data/spec/models/create_inbox_conversation422_response_spec.rb +46 -0
  59. data/spec/models/create_inbox_conversation_request_spec.rb +60 -0
  60. data/spec/models/create_post_request_spec.rb +6 -0
  61. data/spec/models/edit_post200_response_spec.rb +54 -0
  62. data/spec/models/edit_post_request_spec.rb +46 -0
  63. data/spec/models/facebook_platform_data_spec.rb +6 -0
  64. data/spec/models/get_google_business_performance200_response_date_range_spec.rb +42 -0
  65. data/spec/models/get_google_business_performance200_response_metrics_value_spec.rb +42 -0
  66. data/spec/models/get_google_business_performance200_response_metrics_value_values_inner_spec.rb +42 -0
  67. data/spec/models/get_google_business_performance200_response_spec.rb +66 -0
  68. data/spec/models/get_google_business_performance400_response_spec.rb +42 -0
  69. data/spec/models/get_google_business_search_keywords200_response_keywords_inner_spec.rb +42 -0
  70. data/spec/models/get_google_business_search_keywords200_response_month_range_spec.rb +42 -0
  71. data/spec/models/get_google_business_search_keywords200_response_spec.rb +66 -0
  72. data/spec/models/get_google_business_search_keywords400_response_spec.rb +36 -0
  73. data/spec/models/twitter_platform_data_spec.rb +6 -0
  74. data/spec/models/update_post_request_spec.rb +6 -0
  75. metadata +66 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8709287101203b95377089f536028cd48ee761884962622c883845be4bf681e
4
- data.tar.gz: dbb867d46595a8eaf942b4f40576d1c28692e456f6addab8a9cba062bf092d57
3
+ metadata.gz: 4972a35710e44e65577178e61e30bcc1fd3ad2ab91104a5314758f88ec5c9c7c
4
+ data.tar.gz: 5545494af6109d84e21cd5acda6761b3bfca440d9698eb6a8fcd7df43f088355
5
5
  SHA512:
6
- metadata.gz: a7bef70bc194079903578f5acaa06c8b91936a95aeac0e9f684751cdfe5ecf483596097b8ce5ea68f70775eeb4bcca10ee2b605e669ba02fb318ff20fda1b246
7
- data.tar.gz: f943ed49531bf60261ffc63306c65190266ff2913d88171af233b6cca73e6060d70166708bbbb8e82ecb802c322482cf5e5c1cb2f6563dfbf49b3ae95fc1bd8c
6
+ metadata.gz: ce562d0d7991d5aeb054e78156bfcf806a9b82a408c283e110cfa5ce293721b1e1a0b9c711ca4bff707705cb1f1ab30d04768fccef6b05e65723af1c75c18994
7
+ data.tar.gz: 2b4e96a95d051fbca0c78bd7e11fdadcb20b4429fb889081b7c6455aa69c464449f79fdb0b3feea80655e3b0e04bf9c98d31d2da5b1a31c905e86e646b235023
data/README.md CHANGED
@@ -110,6 +110,8 @@ Class | Method | HTTP request | Description
110
110
  *Late::AnalyticsApi* | [**get_content_decay**](docs/AnalyticsApi.md#get_content_decay) | **GET** /v1/analytics/content-decay | Get content performance decay
111
111
  *Late::AnalyticsApi* | [**get_daily_metrics**](docs/AnalyticsApi.md#get_daily_metrics) | **GET** /v1/analytics/daily-metrics | Get daily aggregated metrics
112
112
  *Late::AnalyticsApi* | [**get_follower_stats**](docs/AnalyticsApi.md#get_follower_stats) | **GET** /v1/accounts/follower-stats | Get follower stats
113
+ *Late::AnalyticsApi* | [**get_google_business_performance**](docs/AnalyticsApi.md#get_google_business_performance) | **GET** /v1/analytics/googlebusiness/performance | Get Google Business Profile performance metrics
114
+ *Late::AnalyticsApi* | [**get_google_business_search_keywords**](docs/AnalyticsApi.md#get_google_business_search_keywords) | **GET** /v1/analytics/googlebusiness/search-keywords | Get Google Business Profile search keywords
113
115
  *Late::AnalyticsApi* | [**get_instagram_account_insights**](docs/AnalyticsApi.md#get_instagram_account_insights) | **GET** /v1/analytics/instagram/account-insights | Get Instagram account-level insights
114
116
  *Late::AnalyticsApi* | [**get_instagram_demographics**](docs/AnalyticsApi.md#get_instagram_demographics) | **GET** /v1/analytics/instagram/demographics | Get Instagram audience demographics
115
117
  *Late::AnalyticsApi* | [**get_linked_in_aggregate_analytics**](docs/AnalyticsApi.md#get_linked_in_aggregate_analytics) | **GET** /v1/accounts/{accountId}/linkedin-aggregate-analytics | Get LinkedIn aggregate stats
@@ -208,6 +210,7 @@ Class | Method | HTTP request | Description
208
210
  *Late::LogsApi* | [**list_posts_logs**](docs/LogsApi.md#list_posts_logs) | **GET** /v1/posts/logs | List publishing logs
209
211
  *Late::MediaApi* | [**get_media_presigned_url**](docs/MediaApi.md#get_media_presigned_url) | **POST** /v1/media/presign | Get presigned upload URL
210
212
  *Late::MessagesApi* | [**add_message_reaction**](docs/MessagesApi.md#add_message_reaction) | **POST** /v1/inbox/conversations/{conversationId}/messages/{messageId}/reactions | Add reaction
213
+ *Late::MessagesApi* | [**create_inbox_conversation**](docs/MessagesApi.md#create_inbox_conversation) | **POST** /v1/inbox/conversations | Create conversation
211
214
  *Late::MessagesApi* | [**delete_inbox_message**](docs/MessagesApi.md#delete_inbox_message) | **DELETE** /v1/inbox/conversations/{conversationId}/messages/{messageId} | Delete message
212
215
  *Late::MessagesApi* | [**edit_inbox_message**](docs/MessagesApi.md#edit_inbox_message) | **PATCH** /v1/inbox/conversations/{conversationId}/messages/{messageId} | Edit message
213
216
  *Late::MessagesApi* | [**get_inbox_conversation**](docs/MessagesApi.md#get_inbox_conversation) | **GET** /v1/inbox/conversations/{conversationId} | Get conversation
@@ -221,6 +224,7 @@ Class | Method | HTTP request | Description
221
224
  *Late::PostsApi* | [**bulk_upload_posts**](docs/PostsApi.md#bulk_upload_posts) | **POST** /v1/posts/bulk-upload | Bulk upload from CSV
222
225
  *Late::PostsApi* | [**create_post**](docs/PostsApi.md#create_post) | **POST** /v1/posts | Create post
223
226
  *Late::PostsApi* | [**delete_post**](docs/PostsApi.md#delete_post) | **DELETE** /v1/posts/{postId} | Delete post
227
+ *Late::PostsApi* | [**edit_post**](docs/PostsApi.md#edit_post) | **POST** /v1/posts/{postId}/edit | Edit published post
224
228
  *Late::PostsApi* | [**get_post**](docs/PostsApi.md#get_post) | **GET** /v1/posts/{postId} | Get post
225
229
  *Late::PostsApi* | [**list_posts**](docs/PostsApi.md#list_posts) | **GET** /v1/posts | List posts
226
230
  *Late::PostsApi* | [**retry_post**](docs/PostsApi.md#retry_post) | **POST** /v1/posts/{postId}/retry | Retry failed post
@@ -426,6 +430,11 @@ Class | Method | HTTP request | Description
426
430
  - [Late::CreateGoogleBusinessMediaRequest](docs/CreateGoogleBusinessMediaRequest.md)
427
431
  - [Late::CreateGoogleBusinessPlaceAction200Response](docs/CreateGoogleBusinessPlaceAction200Response.md)
428
432
  - [Late::CreateGoogleBusinessPlaceActionRequest](docs/CreateGoogleBusinessPlaceActionRequest.md)
433
+ - [Late::CreateInboxConversation201Response](docs/CreateInboxConversation201Response.md)
434
+ - [Late::CreateInboxConversation201ResponseData](docs/CreateInboxConversation201ResponseData.md)
435
+ - [Late::CreateInboxConversation400Response](docs/CreateInboxConversation400Response.md)
436
+ - [Late::CreateInboxConversation422Response](docs/CreateInboxConversation422Response.md)
437
+ - [Late::CreateInboxConversationRequest](docs/CreateInboxConversationRequest.md)
429
438
  - [Late::CreateInviteToken201Response](docs/CreateInviteToken201Response.md)
430
439
  - [Late::CreateInviteTokenRequest](docs/CreateInviteTokenRequest.md)
431
440
  - [Late::CreatePost409Response](docs/CreatePost409Response.md)
@@ -478,6 +487,8 @@ Class | Method | HTTP request | Description
478
487
  - [Late::EditInboxMessageRequest](docs/EditInboxMessageRequest.md)
479
488
  - [Late::EditInboxMessageRequestReplyMarkup](docs/EditInboxMessageRequestReplyMarkup.md)
480
489
  - [Late::EditInboxMessageRequestReplyMarkupKeyboardInnerInner](docs/EditInboxMessageRequestReplyMarkupKeyboardInnerInner.md)
490
+ - [Late::EditPost200Response](docs/EditPost200Response.md)
491
+ - [Late::EditPostRequest](docs/EditPostRequest.md)
481
492
  - [Late::EnrollContacts200Response](docs/EnrollContacts200Response.md)
482
493
  - [Late::EnrollContactsRequest](docs/EnrollContactsRequest.md)
483
494
  - [Late::ErrorResponse](docs/ErrorResponse.md)
@@ -559,10 +570,19 @@ Class | Method | HTTP request | Description
559
570
  - [Late::GetGoogleBusinessLocationDetails200ResponseServiceItemsInnerPrice](docs/GetGoogleBusinessLocationDetails200ResponseServiceItemsInnerPrice.md)
560
571
  - [Late::GetGoogleBusinessLocationDetails200ResponseServiceItemsInnerStructuredServiceItem](docs/GetGoogleBusinessLocationDetails200ResponseServiceItemsInnerStructuredServiceItem.md)
561
572
  - [Late::GetGoogleBusinessLocationDetails200ResponseSpecialHours](docs/GetGoogleBusinessLocationDetails200ResponseSpecialHours.md)
573
+ - [Late::GetGoogleBusinessPerformance200Response](docs/GetGoogleBusinessPerformance200Response.md)
574
+ - [Late::GetGoogleBusinessPerformance200ResponseDateRange](docs/GetGoogleBusinessPerformance200ResponseDateRange.md)
575
+ - [Late::GetGoogleBusinessPerformance200ResponseMetricsValue](docs/GetGoogleBusinessPerformance200ResponseMetricsValue.md)
576
+ - [Late::GetGoogleBusinessPerformance200ResponseMetricsValueValuesInner](docs/GetGoogleBusinessPerformance200ResponseMetricsValueValuesInner.md)
577
+ - [Late::GetGoogleBusinessPerformance400Response](docs/GetGoogleBusinessPerformance400Response.md)
562
578
  - [Late::GetGoogleBusinessReviews200Response](docs/GetGoogleBusinessReviews200Response.md)
563
579
  - [Late::GetGoogleBusinessReviews200ResponseReviewsInner](docs/GetGoogleBusinessReviews200ResponseReviewsInner.md)
564
580
  - [Late::GetGoogleBusinessReviews200ResponseReviewsInnerReviewReply](docs/GetGoogleBusinessReviews200ResponseReviewsInnerReviewReply.md)
565
581
  - [Late::GetGoogleBusinessReviews200ResponseReviewsInnerReviewer](docs/GetGoogleBusinessReviews200ResponseReviewsInnerReviewer.md)
582
+ - [Late::GetGoogleBusinessSearchKeywords200Response](docs/GetGoogleBusinessSearchKeywords200Response.md)
583
+ - [Late::GetGoogleBusinessSearchKeywords200ResponseKeywordsInner](docs/GetGoogleBusinessSearchKeywords200ResponseKeywordsInner.md)
584
+ - [Late::GetGoogleBusinessSearchKeywords200ResponseMonthRange](docs/GetGoogleBusinessSearchKeywords200ResponseMonthRange.md)
585
+ - [Late::GetGoogleBusinessSearchKeywords400Response](docs/GetGoogleBusinessSearchKeywords400Response.md)
566
586
  - [Late::GetInboxConversation200Response](docs/GetInboxConversation200Response.md)
567
587
  - [Late::GetInboxConversation200ResponseData](docs/GetInboxConversation200ResponseData.md)
568
588
  - [Late::GetInboxConversationMessages200Response](docs/GetInboxConversationMessages200Response.md)
data/docs/AnalyticsApi.md CHANGED
@@ -9,6 +9,8 @@ All URIs are relative to *https://zernio.com/api*
9
9
  | [**get_content_decay**](AnalyticsApi.md#get_content_decay) | **GET** /v1/analytics/content-decay | Get content performance decay |
10
10
  | [**get_daily_metrics**](AnalyticsApi.md#get_daily_metrics) | **GET** /v1/analytics/daily-metrics | Get daily aggregated metrics |
11
11
  | [**get_follower_stats**](AnalyticsApi.md#get_follower_stats) | **GET** /v1/accounts/follower-stats | Get follower stats |
12
+ | [**get_google_business_performance**](AnalyticsApi.md#get_google_business_performance) | **GET** /v1/analytics/googlebusiness/performance | Get Google Business Profile performance metrics |
13
+ | [**get_google_business_search_keywords**](AnalyticsApi.md#get_google_business_search_keywords) | **GET** /v1/analytics/googlebusiness/search-keywords | Get Google Business Profile search keywords |
12
14
  | [**get_instagram_account_insights**](AnalyticsApi.md#get_instagram_account_insights) | **GET** /v1/analytics/instagram/account-insights | Get Instagram account-level insights |
13
15
  | [**get_instagram_demographics**](AnalyticsApi.md#get_instagram_demographics) | **GET** /v1/analytics/instagram/demographics | Get Instagram audience demographics |
14
16
  | [**get_linked_in_aggregate_analytics**](AnalyticsApi.md#get_linked_in_aggregate_analytics) | **GET** /v1/accounts/{accountId}/linkedin-aggregate-analytics | Get LinkedIn aggregate stats |
@@ -421,6 +423,158 @@ end
421
423
  - **Accept**: application/json
422
424
 
423
425
 
426
+ ## get_google_business_performance
427
+
428
+ > <GetGoogleBusinessPerformance200Response> get_google_business_performance(account_id, opts)
429
+
430
+ Get Google Business Profile performance metrics
431
+
432
+ Returns daily performance metrics for a Google Business Profile location. Metrics include impressions (Maps/Search, desktop/mobile), website clicks, call clicks, direction requests, conversations, bookings, and food orders. Data may be delayed 2-3 days. Max 18 months of historical data. Requires the Analytics add-on.
433
+
434
+ ### Examples
435
+
436
+ ```ruby
437
+ require 'time'
438
+ require 'late-sdk'
439
+ # setup authorization
440
+ Late.configure do |config|
441
+ # Configure Bearer authorization (JWT): bearerAuth
442
+ config.access_token = 'YOUR_BEARER_TOKEN'
443
+ end
444
+
445
+ api_instance = Late::AnalyticsApi.new
446
+ account_id = 'account_id_example' # String | The Zernio SocialAccount ID for the Google Business Profile account.
447
+ opts = {
448
+ metrics: 'metrics_example', # String | Comma-separated metric names. Defaults to all available metrics. Valid values: BUSINESS_IMPRESSIONS_DESKTOP_MAPS, BUSINESS_IMPRESSIONS_DESKTOP_SEARCH, BUSINESS_IMPRESSIONS_MOBILE_MAPS, BUSINESS_IMPRESSIONS_MOBILE_SEARCH, BUSINESS_CONVERSATIONS, BUSINESS_DIRECTION_REQUESTS, CALL_CLICKS, WEBSITE_CLICKS, BUSINESS_BOOKINGS, BUSINESS_FOOD_ORDERS, BUSINESS_FOOD_MENU_CLICKS
449
+ start_date: Date.parse('2013-10-20'), # Date | Start date (YYYY-MM-DD). Defaults to 30 days ago. Max 18 months back.
450
+ end_date: Date.parse('2013-10-20') # Date | End date (YYYY-MM-DD). Defaults to today.
451
+ }
452
+
453
+ begin
454
+ # Get Google Business Profile performance metrics
455
+ result = api_instance.get_google_business_performance(account_id, opts)
456
+ p result
457
+ rescue Late::ApiError => e
458
+ puts "Error when calling AnalyticsApi->get_google_business_performance: #{e}"
459
+ end
460
+ ```
461
+
462
+ #### Using the get_google_business_performance_with_http_info variant
463
+
464
+ This returns an Array which contains the response data, status code and headers.
465
+
466
+ > <Array(<GetGoogleBusinessPerformance200Response>, Integer, Hash)> get_google_business_performance_with_http_info(account_id, opts)
467
+
468
+ ```ruby
469
+ begin
470
+ # Get Google Business Profile performance metrics
471
+ data, status_code, headers = api_instance.get_google_business_performance_with_http_info(account_id, opts)
472
+ p status_code # => 2xx
473
+ p headers # => { ... }
474
+ p data # => <GetGoogleBusinessPerformance200Response>
475
+ rescue Late::ApiError => e
476
+ puts "Error when calling AnalyticsApi->get_google_business_performance_with_http_info: #{e}"
477
+ end
478
+ ```
479
+
480
+ ### Parameters
481
+
482
+ | Name | Type | Description | Notes |
483
+ | ---- | ---- | ----------- | ----- |
484
+ | **account_id** | **String** | The Zernio SocialAccount ID for the Google Business Profile account. | |
485
+ | **metrics** | **String** | Comma-separated metric names. Defaults to all available metrics. Valid values: BUSINESS_IMPRESSIONS_DESKTOP_MAPS, BUSINESS_IMPRESSIONS_DESKTOP_SEARCH, BUSINESS_IMPRESSIONS_MOBILE_MAPS, BUSINESS_IMPRESSIONS_MOBILE_SEARCH, BUSINESS_CONVERSATIONS, BUSINESS_DIRECTION_REQUESTS, CALL_CLICKS, WEBSITE_CLICKS, BUSINESS_BOOKINGS, BUSINESS_FOOD_ORDERS, BUSINESS_FOOD_MENU_CLICKS | [optional] |
486
+ | **start_date** | **Date** | Start date (YYYY-MM-DD). Defaults to 30 days ago. Max 18 months back. | [optional] |
487
+ | **end_date** | **Date** | End date (YYYY-MM-DD). Defaults to today. | [optional] |
488
+
489
+ ### Return type
490
+
491
+ [**GetGoogleBusinessPerformance200Response**](GetGoogleBusinessPerformance200Response.md)
492
+
493
+ ### Authorization
494
+
495
+ [bearerAuth](../README.md#bearerAuth)
496
+
497
+ ### HTTP request headers
498
+
499
+ - **Content-Type**: Not defined
500
+ - **Accept**: application/json
501
+
502
+
503
+ ## get_google_business_search_keywords
504
+
505
+ > <GetGoogleBusinessSearchKeywords200Response> get_google_business_search_keywords(account_id, opts)
506
+
507
+ Get Google Business Profile search keywords
508
+
509
+ Returns search keywords that triggered impressions for a Google Business Profile location. Data is aggregated monthly. Keywords below a minimum impression threshold set by Google are excluded. Max 18 months of historical data. Requires the Analytics add-on.
510
+
511
+ ### Examples
512
+
513
+ ```ruby
514
+ require 'time'
515
+ require 'late-sdk'
516
+ # setup authorization
517
+ Late.configure do |config|
518
+ # Configure Bearer authorization (JWT): bearerAuth
519
+ config.access_token = 'YOUR_BEARER_TOKEN'
520
+ end
521
+
522
+ api_instance = Late::AnalyticsApi.new
523
+ account_id = 'account_id_example' # String | The Zernio SocialAccount ID for the Google Business Profile account.
524
+ opts = {
525
+ start_month: 'start_month_example', # String | Start month (YYYY-MM). Defaults to 3 months ago.
526
+ end_month: 'end_month_example' # String | End month (YYYY-MM). Defaults to current month.
527
+ }
528
+
529
+ begin
530
+ # Get Google Business Profile search keywords
531
+ result = api_instance.get_google_business_search_keywords(account_id, opts)
532
+ p result
533
+ rescue Late::ApiError => e
534
+ puts "Error when calling AnalyticsApi->get_google_business_search_keywords: #{e}"
535
+ end
536
+ ```
537
+
538
+ #### Using the get_google_business_search_keywords_with_http_info variant
539
+
540
+ This returns an Array which contains the response data, status code and headers.
541
+
542
+ > <Array(<GetGoogleBusinessSearchKeywords200Response>, Integer, Hash)> get_google_business_search_keywords_with_http_info(account_id, opts)
543
+
544
+ ```ruby
545
+ begin
546
+ # Get Google Business Profile search keywords
547
+ data, status_code, headers = api_instance.get_google_business_search_keywords_with_http_info(account_id, opts)
548
+ p status_code # => 2xx
549
+ p headers # => { ... }
550
+ p data # => <GetGoogleBusinessSearchKeywords200Response>
551
+ rescue Late::ApiError => e
552
+ puts "Error when calling AnalyticsApi->get_google_business_search_keywords_with_http_info: #{e}"
553
+ end
554
+ ```
555
+
556
+ ### Parameters
557
+
558
+ | Name | Type | Description | Notes |
559
+ | ---- | ---- | ----------- | ----- |
560
+ | **account_id** | **String** | The Zernio SocialAccount ID for the Google Business Profile account. | |
561
+ | **start_month** | **String** | Start month (YYYY-MM). Defaults to 3 months ago. | [optional] |
562
+ | **end_month** | **String** | End month (YYYY-MM). Defaults to current month. | [optional] |
563
+
564
+ ### Return type
565
+
566
+ [**GetGoogleBusinessSearchKeywords200Response**](GetGoogleBusinessSearchKeywords200Response.md)
567
+
568
+ ### Authorization
569
+
570
+ [bearerAuth](../README.md#bearerAuth)
571
+
572
+ ### HTTP request headers
573
+
574
+ - **Content-Type**: Not defined
575
+ - **Accept**: application/json
576
+
577
+
424
578
  ## get_instagram_account_insights
425
579
 
426
580
  > <InstagramAccountInsightsResponse> get_instagram_account_insights(account_id, opts)
@@ -0,0 +1,20 @@
1
+ # Late::CreateInboxConversation201Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **success** | **Boolean** | | [optional] |
8
+ | **data** | [**CreateInboxConversation201ResponseData**](CreateInboxConversation201ResponseData.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::CreateInboxConversation201Response.new(
16
+ success: true,
17
+ data: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,26 @@
1
+ # Late::CreateInboxConversation201ResponseData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **message_id** | **String** | Platform message ID (dm_event_id) | [optional] |
8
+ | **conversation_id** | **String** | Platform conversation ID (dm_conversation_id) | [optional] |
9
+ | **participant_id** | **String** | Twitter numeric user ID of the recipient | [optional] |
10
+ | **participant_name** | **String** | Display name of the recipient | [optional] |
11
+ | **participant_username** | **String** | Twitter username of the recipient | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'late-sdk'
17
+
18
+ instance = Late::CreateInboxConversation201ResponseData.new(
19
+ message_id: null,
20
+ conversation_id: null,
21
+ participant_id: null,
22
+ participant_name: null,
23
+ participant_username: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,20 @@
1
+ # Late::CreateInboxConversation400Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **error** | **String** | | [optional] |
8
+ | **code** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::CreateInboxConversation400Response.new(
16
+ error: null,
17
+ code: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Late::CreateInboxConversation422Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **error** | **String** | | [optional] |
8
+ | **code** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::CreateInboxConversation422Response.new(
16
+ error: null,
17
+ code: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,26 @@
1
+ # Late::CreateInboxConversationRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **account_id** | **String** | The social account ID to send from | |
8
+ | **participant_id** | **String** | Twitter numeric user ID of the recipient. Provide either this or &#x60;participantUsername&#x60;. | [optional] |
9
+ | **participant_username** | **String** | Twitter username (with or without @) of the recipient. Resolved to a user ID via lookup. Provide either this or &#x60;participantId&#x60;. | [optional] |
10
+ | **message** | **String** | Text content of the message. At least one of &#x60;message&#x60; or attachment is required. | [optional] |
11
+ | **skip_dm_check** | **Boolean** | Skip the &#x60;receives_your_dm&#x60; eligibility check before sending. Use if you have already verified the recipient accepts DMs. | [optional][default to false] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'late-sdk'
17
+
18
+ instance = Late::CreateInboxConversationRequest.new(
19
+ account_id: null,
20
+ participant_id: null,
21
+ participant_username: null,
22
+ message: null,
23
+ skip_dm_check: null
24
+ )
25
+ ```
26
+
@@ -18,6 +18,7 @@
18
18
  | **crossposting_enabled** | **Boolean** | | [optional][default to true] |
19
19
  | **metadata** | **Hash&lt;String, Object&gt;** | | [optional] |
20
20
  | **tiktok_settings** | [**TikTokPlatformData**](TikTokPlatformData.md) | Root-level TikTok settings applied to all TikTok platforms. Merged into each platform&#39;s platformSpecificData, with platform-specific settings taking precedence. | [optional] |
21
+ | **facebook_settings** | [**FacebookPlatformData**](FacebookPlatformData.md) | Root-level Facebook settings applied to all Facebook platforms. Merged into each platform&#39;s platformSpecificData, with platform-specific settings taking precedence. | [optional] |
21
22
  | **recycling** | [**RecyclingConfig**](RecyclingConfig.md) | | [optional] |
22
23
  | **queued_from_profile** | **String** | Profile ID to schedule via queue. When provided without scheduledFor, the post is auto-assigned to the next available slot. Do not call /v1/queue/next-slot and use that time in scheduledFor, as that bypasses queue locking. | [optional] |
23
24
  | **queue_id** | **String** | Specific queue ID to use when scheduling via queue. Only used when queuedFromProfile is also provided. If omitted, uses the profile&#39;s default queue. | [optional] |
@@ -42,6 +43,7 @@ instance = Late::CreatePostRequest.new(
42
43
  crossposting_enabled: null,
43
44
  metadata: null,
44
45
  tiktok_settings: null,
46
+ facebook_settings: null,
45
47
  recycling: null,
46
48
  queued_from_profile: null,
47
49
  queue_id: null
@@ -0,0 +1,24 @@
1
+ # Late::EditPost200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **success** | **Boolean** | | [optional] |
8
+ | **id** | **String** | New tweet ID assigned by X after edit | [optional] |
9
+ | **url** | **String** | URL of the edited tweet | [optional] |
10
+ | **message** | **String** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'late-sdk'
16
+
17
+ instance = Late::EditPost200Response.new(
18
+ success: null,
19
+ id: null,
20
+ url: null,
21
+ message: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,20 @@
1
+ # Late::EditPostRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **platform** | **String** | The platform to edit the post on. Currently only twitter is supported. | |
8
+ | **content** | **String** | The new tweet text content | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::EditPostRequest.new(
16
+ platform: null,
17
+ content: null
18
+ )
19
+ ```
20
+
@@ -4,9 +4,10 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
+ | **draft** | **Boolean** | When true, creates the post as an unpublished draft visible in Facebook Publishing Tools instead of publishing immediately. Supported for feed posts (text, link, image, video) and reels. Not supported for stories. Drafts expire after ~30 days. | [optional][default to false] |
7
8
  | **content_type** | **String** | Set to &#39;story&#39; for Page Stories (24h ephemeral) or &#39;reel&#39; for Reels (short vertical video). Defaults to feed post if omitted. | [optional] |
8
9
  | **title** | **String** | Reel title (only for contentType&#x3D;reel). Separate from the caption/content field. | [optional] |
9
- | **first_comment** | **String** | Optional first comment to post immediately after publishing (feed posts only, not stories or reels) | [optional] |
10
+ | **first_comment** | **String** | Optional first comment to post immediately after publishing (feed posts only, not stories or reels). Skipped when draft is true. | [optional] |
10
11
  | **page_id** | **String** | Target Facebook Page ID for multi-page posting. If omitted, uses the default page. Use GET /v1/accounts/{id}/facebook-page to list pages. | [optional] |
11
12
 
12
13
  ## Example
@@ -15,6 +16,7 @@
15
16
  require 'late-sdk'
16
17
 
17
18
  instance = Late::FacebookPlatformData.new(
19
+ draft: null,
18
20
  content_type: null,
19
21
  title: null,
20
22
  first_comment: null,
@@ -0,0 +1,28 @@
1
+ # Late::GetGoogleBusinessPerformance200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **success** | **Boolean** | | [optional] |
8
+ | **account_id** | **String** | | [optional] |
9
+ | **platform** | **String** | | [optional] |
10
+ | **date_range** | [**GetGoogleBusinessPerformance200ResponseDateRange**](GetGoogleBusinessPerformance200ResponseDateRange.md) | | [optional] |
11
+ | **metrics** | [**Hash&lt;String, GetGoogleBusinessPerformance200ResponseMetricsValue&gt;**](GetGoogleBusinessPerformance200ResponseMetricsValue.md) | Each key is a metric name containing total and daily values. | [optional] |
12
+ | **data_delay** | **String** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'late-sdk'
18
+
19
+ instance = Late::GetGoogleBusinessPerformance200Response.new(
20
+ success: true,
21
+ account_id: null,
22
+ platform: googlebusiness,
23
+ date_range: null,
24
+ metrics: null,
25
+ data_delay: Data may be delayed 2-3 days
26
+ )
27
+ ```
28
+
@@ -0,0 +1,20 @@
1
+ # Late::GetGoogleBusinessPerformance200ResponseDateRange
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **start_date** | **Date** | | [optional] |
8
+ | **end_date** | **Date** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::GetGoogleBusinessPerformance200ResponseDateRange.new(
16
+ start_date: 2026-03-01,
17
+ end_date: 2026-03-31
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Late::GetGoogleBusinessPerformance200ResponseMetricsValue
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **total** | **Integer** | Sum of all daily values in the range | [optional] |
8
+ | **values** | [**Array&lt;GetGoogleBusinessPerformance200ResponseMetricsValueValuesInner&gt;**](GetGoogleBusinessPerformance200ResponseMetricsValueValuesInner.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::GetGoogleBusinessPerformance200ResponseMetricsValue.new(
16
+ total: null,
17
+ values: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Late::GetGoogleBusinessPerformance200ResponseMetricsValueValuesInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **date** | **Date** | | [optional] |
8
+ | **value** | **Integer** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::GetGoogleBusinessPerformance200ResponseMetricsValueValuesInner.new(
16
+ date: null,
17
+ value: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Late::GetGoogleBusinessPerformance400Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **error** | **String** | | [optional] |
8
+ | **valid_metrics** | **Array&lt;String&gt;** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::GetGoogleBusinessPerformance400Response.new(
16
+ error: Invalid metrics: INVALID_METRIC,
17
+ valid_metrics: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,28 @@
1
+ # Late::GetGoogleBusinessSearchKeywords200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **success** | **Boolean** | | [optional] |
8
+ | **account_id** | **String** | | [optional] |
9
+ | **platform** | **String** | | [optional] |
10
+ | **month_range** | [**GetGoogleBusinessSearchKeywords200ResponseMonthRange**](GetGoogleBusinessSearchKeywords200ResponseMonthRange.md) | | [optional] |
11
+ | **keywords** | [**Array&lt;GetGoogleBusinessSearchKeywords200ResponseKeywordsInner&gt;**](GetGoogleBusinessSearchKeywords200ResponseKeywordsInner.md) | | [optional] |
12
+ | **note** | **String** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'late-sdk'
18
+
19
+ instance = Late::GetGoogleBusinessSearchKeywords200Response.new(
20
+ success: true,
21
+ account_id: null,
22
+ platform: googlebusiness,
23
+ month_range: null,
24
+ keywords: null,
25
+ note: Keywords below a minimum impression threshold are excluded by Google
26
+ )
27
+ ```
28
+
@@ -0,0 +1,20 @@
1
+ # Late::GetGoogleBusinessSearchKeywords200ResponseKeywordsInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **keyword** | **String** | | [optional] |
8
+ | **impressions** | **Integer** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::GetGoogleBusinessSearchKeywords200ResponseKeywordsInner.new(
16
+ keyword: restaurant near me,
17
+ impressions: 245
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Late::GetGoogleBusinessSearchKeywords200ResponseMonthRange
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **start_month** | **String** | | [optional] |
8
+ | **end_month** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'late-sdk'
14
+
15
+ instance = Late::GetGoogleBusinessSearchKeywords200ResponseMonthRange.new(
16
+ start_month: 2026-01,
17
+ end_month: 2026-03
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # Late::GetGoogleBusinessSearchKeywords400Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **error** | **String** | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'late-sdk'
13
+
14
+ instance = Late::GetGoogleBusinessSearchKeywords400Response.new(
15
+ error: Invalid startMonth format. Use YYYY-MM.
16
+ )
17
+ ```
18
+