late-sdk 0.0.602 → 0.0.604
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/docs/CommentsApi.md +1 -1
- data/docs/GetInboxPostComments200ResponsePagination.md +1 -1
- data/docs/ListFormLeads200Response.md +1 -1
- data/docs/ListInboxMentions200Response.md +1 -1
- data/docs/ListLeadForms200Response.md +1 -1
- data/docs/ListLeads200Response.md +1 -1
- data/docs/SearchTweets200Response.md +1 -1
- data/docs/SearchTweets200ResponsePagination.md +20 -0
- data/lib/zernio-sdk/api/comments_api.rb +2 -2
- data/lib/zernio-sdk/api/messages_api.rb +1 -1
- data/lib/zernio-sdk/models/get_inbox_post_comments200_response_pagination.rb +1 -0
- data/lib/zernio-sdk/models/list_form_leads200_response.rb +1 -1
- data/lib/zernio-sdk/models/list_inbox_mentions200_response.rb +1 -1
- data/lib/zernio-sdk/models/list_lead_forms200_response.rb +1 -1
- data/lib/zernio-sdk/models/list_leads200_response.rb +1 -1
- data/lib/zernio-sdk/models/search_tweets200_response.rb +1 -1
- data/lib/zernio-sdk/models/search_tweets200_response_pagination.rb +157 -0
- data/lib/zernio-sdk/models/webhook_payload_conversation_started_conversation.rb +2 -2
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +1 -0
- data/openapi.yaml +7 -3
- data/spec/api/comments_api_spec.rb +1 -1
- data/spec/models/search_tweets200_response_pagination_spec.rb +42 -0
- data/spec/models/webhook_payload_conversation_started_conversation_spec.rb +1 -1
- data/zernio-sdk-0.0.604.gem +0 -0
- metadata +6 -2
- data/zernio-sdk-0.0.602.gem +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f6b3b225d9367b8ad46fd0eb49fd8e9961f7e71ea0a9db696397a9a9d3582a2f
|
|
4
|
+
data.tar.gz: 6b6dc3c0cb6379a37d73fdca9a11335568e48ef4a4d8904e8972d8c7402a7100
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 590217bbbabea9a11648b9ffdee5a0d75eea33ee9aa3ce6de5fb69d5ecc8a08182de765b6417af66d522512e6970a0f47e3ad44697df9999ebed879e6b464b3c
|
|
7
|
+
data.tar.gz: 8e0b665508f3afac487770f9e33d47641840d1466684487d987d7b1a9e1124fec0dbb504bd0c0ffd3d15d2df19be7e88a8a140ad7ee80491a86b8b387f6cf175
|
data/README.md
CHANGED
|
@@ -1676,6 +1676,7 @@ Class | Method | HTTP request | Description
|
|
|
1676
1676
|
- [Zernio::SearchReddit200Response](docs/SearchReddit200Response.md)
|
|
1677
1677
|
- [Zernio::SearchTweets200Response](docs/SearchTweets200Response.md)
|
|
1678
1678
|
- [Zernio::SearchTweets200ResponseMeta](docs/SearchTweets200ResponseMeta.md)
|
|
1679
|
+
- [Zernio::SearchTweets200ResponsePagination](docs/SearchTweets200ResponsePagination.md)
|
|
1679
1680
|
- [Zernio::SearchTweets200ResponseTweetsInner](docs/SearchTweets200ResponseTweetsInner.md)
|
|
1680
1681
|
- [Zernio::SearchTweets200ResponseTweetsInnerAuthor](docs/SearchTweets200ResponseTweetsInnerAuthor.md)
|
|
1681
1682
|
- [Zernio::SelectFacebookPage200Response](docs/SelectFacebookPage200Response.md)
|
data/docs/CommentsApi.md
CHANGED
|
@@ -396,7 +396,7 @@ end
|
|
|
396
396
|
|
|
397
397
|
List commented posts
|
|
398
398
|
|
|
399
|
-
Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted.
|
|
399
|
+
Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted. Pagination walks each account's platform listing. Following `nextCursor` reaches past the first page on Facebook and Instagram only, since they are the platforms that support a server-side date window; on the others the listing stops at its first page.
|
|
400
400
|
|
|
401
401
|
### Examples
|
|
402
402
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **has_more** | **Boolean** | | [optional] |
|
|
8
|
-
| **cursor** | **String** |
|
|
8
|
+
| **cursor** | **String** | Only present when hasMore is true. Absent on the last page, so treat its absence as the end of the thread. | [optional] |
|
|
9
9
|
|
|
10
10
|
## Example
|
|
11
11
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **status** | **String** | | [optional] |
|
|
8
8
|
| **leads** | [**Array<ListFormLeads200ResponseLeadsInner>**](ListFormLeads200ResponseLeadsInner.md) | | [optional] |
|
|
9
|
-
| **pagination** | [**
|
|
9
|
+
| **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
|
|
10
10
|
|
|
11
11
|
## Example
|
|
12
12
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **data** | [**Array<ListInboxMentions200ResponseDataInner>**](ListInboxMentions200ResponseDataInner.md) | | [optional] |
|
|
8
|
-
| **pagination** | [**
|
|
8
|
+
| **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
|
|
9
9
|
| **meta** | [**ListInboxMentions200ResponseMeta**](ListInboxMentions200ResponseMeta.md) | | [optional] |
|
|
10
10
|
|
|
11
11
|
## Example
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **status** | **String** | | [optional] |
|
|
8
8
|
| **forms** | **Array<Object>** | | [optional] |
|
|
9
|
-
| **pagination** | [**
|
|
9
|
+
| **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
|
|
10
10
|
|
|
11
11
|
## Example
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **status** | **String** | | [optional] |
|
|
8
8
|
| **leads** | [**Array<ListLeads200ResponseLeadsInner>**](ListLeads200ResponseLeadsInner.md) | | [optional] |
|
|
9
|
-
| **pagination** | [**
|
|
9
|
+
| **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
|
|
10
10
|
|
|
11
11
|
## Example
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **status** | **String** | | [optional] |
|
|
8
8
|
| **tweets** | [**Array<SearchTweets200ResponseTweetsInner>**](SearchTweets200ResponseTweetsInner.md) | | [optional] |
|
|
9
|
-
| **pagination** | [**
|
|
9
|
+
| **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
|
|
10
10
|
| **meta** | [**SearchTweets200ResponseMeta**](SearchTweets200ResponseMeta.md) | | [optional] |
|
|
11
11
|
|
|
12
12
|
## Example
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Zernio::SearchTweets200ResponsePagination
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **has_more** | **Boolean** | | [optional] |
|
|
8
|
+
| **cursor** | **String** | | [optional] |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'zernio-sdk'
|
|
14
|
+
|
|
15
|
+
instance = Zernio::SearchTweets200ResponsePagination.new(
|
|
16
|
+
has_more: null,
|
|
17
|
+
cursor: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -427,7 +427,7 @@ module Zernio
|
|
|
427
427
|
end
|
|
428
428
|
|
|
429
429
|
# List commented posts
|
|
430
|
-
# Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted.
|
|
430
|
+
# Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted. Pagination walks each account's platform listing. Following `nextCursor` reaches past the first page on Facebook and Instagram only, since they are the platforms that support a server-side date window; on the others the listing stops at its first page.
|
|
431
431
|
# @param [Hash] opts the optional parameters
|
|
432
432
|
# @option opts [String] :profile_id Filter by profile ID
|
|
433
433
|
# @option opts [String] :platform Filter by platform. `metaads` is a synthetic value meaning the user's ads (boosted/dark posts) only; `facebook`/`instagram` return organic posts only.
|
|
@@ -445,7 +445,7 @@ module Zernio
|
|
|
445
445
|
end
|
|
446
446
|
|
|
447
447
|
# List commented posts
|
|
448
|
-
# Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted.
|
|
448
|
+
# Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted. Pagination walks each account's platform listing. Following `nextCursor` reaches past the first page on Facebook and Instagram only, since they are the platforms that support a server-side date window; on the others the listing stops at its first page.
|
|
449
449
|
# @param [Hash] opts the optional parameters
|
|
450
450
|
# @option opts [String] :profile_id Filter by profile ID
|
|
451
451
|
# @option opts [String] :platform Filter by platform. `metaads` is a synthetic value meaning the user's ads (boosted/dark posts) only; `facebook`/`instagram` return organic posts only.
|
|
@@ -779,7 +779,7 @@ module Zernio
|
|
|
779
779
|
if @api_client.config.client_side_validation && opts[:'direction'] && !allowable_values.include?(opts[:'direction'])
|
|
780
780
|
fail ArgumentError, "invalid value for \"direction\", must be one of #{allowable_values}"
|
|
781
781
|
end
|
|
782
|
-
allowable_values = ["facebook", "instagram", "telegram", "whatsapp", "sms"]
|
|
782
|
+
allowable_values = ["facebook", "instagram", "telegram", "whatsapp", "sms", "slack"]
|
|
783
783
|
if @api_client.config.client_side_validation && opts[:'platform'] && !allowable_values.include?(opts[:'platform'])
|
|
784
784
|
fail ArgumentError, "invalid value for \"platform\", must be one of #{allowable_values}"
|
|
785
785
|
end
|
|
@@ -17,6 +17,7 @@ module Zernio
|
|
|
17
17
|
class GetInboxPostComments200ResponsePagination < ApiModelBase
|
|
18
18
|
attr_accessor :has_more
|
|
19
19
|
|
|
20
|
+
# Only present when hasMore is true. Absent on the last page, so treat its absence as the end of the thread.
|
|
20
21
|
attr_accessor :cursor
|
|
21
22
|
|
|
22
23
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -44,7 +44,7 @@ module Zernio
|
|
|
44
44
|
def self.openapi_types
|
|
45
45
|
{
|
|
46
46
|
:'data' => :'Array<ListInboxMentions200ResponseDataInner>',
|
|
47
|
-
:'pagination' => :'
|
|
47
|
+
:'pagination' => :'SearchTweets200ResponsePagination',
|
|
48
48
|
:'meta' => :'ListInboxMentions200ResponseMeta'
|
|
49
49
|
}
|
|
50
50
|
end
|
|
@@ -48,7 +48,7 @@ module Zernio
|
|
|
48
48
|
{
|
|
49
49
|
:'status' => :'String',
|
|
50
50
|
:'tweets' => :'Array<SearchTweets200ResponseTweetsInner>',
|
|
51
|
-
:'pagination' => :'
|
|
51
|
+
:'pagination' => :'SearchTweets200ResponsePagination',
|
|
52
52
|
:'meta' => :'SearchTweets200ResponseMeta'
|
|
53
53
|
}
|
|
54
54
|
end
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Zernio
|
|
17
|
+
class SearchTweets200ResponsePagination < ApiModelBase
|
|
18
|
+
attr_accessor :has_more
|
|
19
|
+
|
|
20
|
+
attr_accessor :cursor
|
|
21
|
+
|
|
22
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
23
|
+
def self.attribute_map
|
|
24
|
+
{
|
|
25
|
+
:'has_more' => :'hasMore',
|
|
26
|
+
:'cursor' => :'cursor'
|
|
27
|
+
}
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Returns attribute mapping this model knows about
|
|
31
|
+
def self.acceptable_attribute_map
|
|
32
|
+
attribute_map
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Returns all the JSON keys this model knows about
|
|
36
|
+
def self.acceptable_attributes
|
|
37
|
+
acceptable_attribute_map.values
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Attribute type mapping.
|
|
41
|
+
def self.openapi_types
|
|
42
|
+
{
|
|
43
|
+
:'has_more' => :'Boolean',
|
|
44
|
+
:'cursor' => :'String'
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# List of attributes with nullable: true
|
|
49
|
+
def self.openapi_nullable
|
|
50
|
+
Set.new([
|
|
51
|
+
:'cursor'
|
|
52
|
+
])
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Initializes the object
|
|
56
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
57
|
+
def initialize(attributes = {})
|
|
58
|
+
if (!attributes.is_a?(Hash))
|
|
59
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::SearchTweets200ResponsePagination` initialize method"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
63
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
64
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
65
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
66
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::SearchTweets200ResponsePagination`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
67
|
+
end
|
|
68
|
+
h[k.to_sym] = v
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if attributes.key?(:'has_more')
|
|
72
|
+
self.has_more = attributes[:'has_more']
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
if attributes.key?(:'cursor')
|
|
76
|
+
self.cursor = attributes[:'cursor']
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
81
|
+
# @return Array for valid properties with the reasons
|
|
82
|
+
def list_invalid_properties
|
|
83
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
84
|
+
invalid_properties = Array.new
|
|
85
|
+
invalid_properties
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Check to see if the all the properties in the model are valid
|
|
89
|
+
# @return true if the model is valid
|
|
90
|
+
def valid?
|
|
91
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
92
|
+
true
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Checks equality by comparing each attribute.
|
|
96
|
+
# @param [Object] Object to be compared
|
|
97
|
+
def ==(o)
|
|
98
|
+
return true if self.equal?(o)
|
|
99
|
+
self.class == o.class &&
|
|
100
|
+
has_more == o.has_more &&
|
|
101
|
+
cursor == o.cursor
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# @see the `==` method
|
|
105
|
+
# @param [Object] Object to be compared
|
|
106
|
+
def eql?(o)
|
|
107
|
+
self == o
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Calculates hash code according to all attributes.
|
|
111
|
+
# @return [Integer] Hash code
|
|
112
|
+
def hash
|
|
113
|
+
[has_more, cursor].hash
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Builds the object from hash
|
|
117
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
118
|
+
# @return [Object] Returns the model itself
|
|
119
|
+
def self.build_from_hash(attributes)
|
|
120
|
+
return nil unless attributes.is_a?(Hash)
|
|
121
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
122
|
+
transformed_hash = {}
|
|
123
|
+
openapi_types.each_pair do |key, type|
|
|
124
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
125
|
+
transformed_hash["#{key}"] = nil
|
|
126
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
127
|
+
# check to ensure the input is an array given that the attribute
|
|
128
|
+
# is documented as an array but the input is not
|
|
129
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
130
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
131
|
+
end
|
|
132
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
133
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
new(transformed_hash)
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Returns the object in the form of hash
|
|
140
|
+
# @return [Hash] Returns the object in the form of hash
|
|
141
|
+
def to_hash
|
|
142
|
+
hash = {}
|
|
143
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
144
|
+
value = self.send(attr)
|
|
145
|
+
if value.nil?
|
|
146
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
147
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
hash[param] = _to_hash(value)
|
|
151
|
+
end
|
|
152
|
+
hash
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
end
|
|
@@ -202,7 +202,7 @@ module Zernio
|
|
|
202
202
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
203
203
|
return false if @id.nil?
|
|
204
204
|
return false if @platform.nil?
|
|
205
|
-
platform_validator = EnumAttributeValidator.new('String', ["instagram", "facebook", "telegram", "whatsapp", "twitter", "reddit", "bluesky", "sms"])
|
|
205
|
+
platform_validator = EnumAttributeValidator.new('String', ["instagram", "facebook", "telegram", "whatsapp", "twitter", "reddit", "bluesky", "sms", "slack"])
|
|
206
206
|
return false unless platform_validator.valid?(@platform)
|
|
207
207
|
return false if @platform_conversation_id.nil?
|
|
208
208
|
return false if @participant_name.nil?
|
|
@@ -225,7 +225,7 @@ module Zernio
|
|
|
225
225
|
# Custom attribute writer method checking allowed values (enum).
|
|
226
226
|
# @param [Object] platform Object to be assigned
|
|
227
227
|
def platform=(platform)
|
|
228
|
-
validator = EnumAttributeValidator.new('String', ["instagram", "facebook", "telegram", "whatsapp", "twitter", "reddit", "bluesky", "sms"])
|
|
228
|
+
validator = EnumAttributeValidator.new('String', ["instagram", "facebook", "telegram", "whatsapp", "twitter", "reddit", "bluesky", "sms", "slack"])
|
|
229
229
|
unless validator.valid?(platform)
|
|
230
230
|
fail ArgumentError, "invalid value for \"platform\", must be one of #{validator.allowable_values}."
|
|
231
231
|
end
|
data/lib/zernio-sdk/version.rb
CHANGED
data/lib/zernio-sdk.rb
CHANGED
|
@@ -1097,6 +1097,7 @@ require 'zernio-sdk/models/search_inbox_conversations200_response_meta_failed_ac
|
|
|
1097
1097
|
require 'zernio-sdk/models/search_reddit200_response'
|
|
1098
1098
|
require 'zernio-sdk/models/search_tweets200_response'
|
|
1099
1099
|
require 'zernio-sdk/models/search_tweets200_response_meta'
|
|
1100
|
+
require 'zernio-sdk/models/search_tweets200_response_pagination'
|
|
1100
1101
|
require 'zernio-sdk/models/search_tweets200_response_tweets_inner'
|
|
1101
1102
|
require 'zernio-sdk/models/search_tweets200_response_tweets_inner_author'
|
|
1102
1103
|
require 'zernio-sdk/models/select_facebook_page200_response'
|
data/openapi.yaml
CHANGED
|
@@ -3522,7 +3522,7 @@ components:
|
|
|
3522
3522
|
id: { type: string, description: Internal conversation ID }
|
|
3523
3523
|
platform:
|
|
3524
3524
|
type: string
|
|
3525
|
-
enum: [instagram, facebook, telegram, whatsapp, twitter, reddit, bluesky, sms]
|
|
3525
|
+
enum: [instagram, facebook, telegram, whatsapp, twitter, reddit, bluesky, sms, slack]
|
|
3526
3526
|
platformConversationId: { type: string }
|
|
3527
3527
|
participantId: { type: string, description: "Contact's platform identifier (IGSID, PSID, wa_id, etc.)" }
|
|
3528
3528
|
participantName: { type: string }
|
|
@@ -22154,7 +22154,7 @@ paths:
|
|
|
22154
22154
|
description: Filter by profile ID
|
|
22155
22155
|
- name: platform
|
|
22156
22156
|
in: query
|
|
22157
|
-
schema: { type: string, enum: [facebook, instagram, telegram, whatsapp, sms] }
|
|
22157
|
+
schema: { type: string, enum: [facebook, instagram, telegram, whatsapp, sms, slack] }
|
|
22158
22158
|
description: Filter by platform (searchable platforms only)
|
|
22159
22159
|
- name: accountId
|
|
22160
22160
|
in: query
|
|
@@ -23697,6 +23697,10 @@ paths:
|
|
|
23697
23697
|
from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with
|
|
23698
23698
|
the Marketing API token (Facebook side) or the connected Instagram account's token
|
|
23699
23699
|
(Instagram side); a row whose count can't be read is omitted.
|
|
23700
|
+
|
|
23701
|
+
Pagination walks each account's platform listing. Following `nextCursor` reaches past
|
|
23702
|
+
the first page on Facebook and Instagram only, since they are the platforms that
|
|
23703
|
+
support a server-side date window; on the others the listing stops at its first page.
|
|
23700
23704
|
tags: [Comments]
|
|
23701
23705
|
security: [{ bearerAuth: [] }]
|
|
23702
23706
|
parameters:
|
|
@@ -23897,7 +23901,7 @@ paths:
|
|
|
23897
23901
|
type: object
|
|
23898
23902
|
properties:
|
|
23899
23903
|
hasMore: { type: boolean }
|
|
23900
|
-
cursor: { type: [string, "null"] }
|
|
23904
|
+
cursor: { type: [string, "null"], description: 'Only present when hasMore is true. Absent on the last page, so treat its absence as the end of the thread.' }
|
|
23901
23905
|
meta:
|
|
23902
23906
|
type: object
|
|
23903
23907
|
properties:
|
|
@@ -107,7 +107,7 @@ describe 'CommentsApi' do
|
|
|
107
107
|
|
|
108
108
|
# unit tests for list_inbox_comments
|
|
109
109
|
# List commented posts
|
|
110
|
-
# Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted.
|
|
110
|
+
# Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted. Pagination walks each account's platform listing. Following `nextCursor` reaches past the first page on Facebook and Instagram only, since they are the platforms that support a server-side date window; on the others the listing stops at its first page.
|
|
111
111
|
# @param [Hash] opts the optional parameters
|
|
112
112
|
# @option opts [String] :profile_id Filter by profile ID
|
|
113
113
|
# @option opts [String] :platform Filter by platform. `metaads` is a synthetic value meaning the user's ads (boosted/dark posts) only; `facebook`/`instagram` return organic posts only.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::SearchTweets200ResponsePagination
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::SearchTweets200ResponsePagination do
|
|
21
|
+
#let(:instance) { Zernio::SearchTweets200ResponsePagination.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of SearchTweets200ResponsePagination' do
|
|
24
|
+
it 'should create an instance of SearchTweets200ResponsePagination' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::SearchTweets200ResponsePagination)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "has_more"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "cursor"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
@@ -36,7 +36,7 @@ describe Zernio::WebhookPayloadConversationStartedConversation do
|
|
|
36
36
|
describe 'test attribute "platform"' do
|
|
37
37
|
it 'should work' do
|
|
38
38
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["instagram", "facebook", "telegram", "whatsapp", "twitter", "reddit", "bluesky", "sms"])
|
|
39
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["instagram", "facebook", "telegram", "whatsapp", "twitter", "reddit", "bluesky", "sms", "slack"])
|
|
40
40
|
# validator.allowable_values.each do |value|
|
|
41
41
|
# expect { instance.platform = value }.not_to raise_error
|
|
42
42
|
# end
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: late-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.604
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -1188,6 +1188,7 @@ files:
|
|
|
1188
1188
|
- docs/SearchReddit200Response.md
|
|
1189
1189
|
- docs/SearchTweets200Response.md
|
|
1190
1190
|
- docs/SearchTweets200ResponseMeta.md
|
|
1191
|
+
- docs/SearchTweets200ResponsePagination.md
|
|
1191
1192
|
- docs/SearchTweets200ResponseTweetsInner.md
|
|
1192
1193
|
- docs/SearchTweets200ResponseTweetsInnerAuthor.md
|
|
1193
1194
|
- docs/SelectFacebookPage200Response.md
|
|
@@ -2808,6 +2809,7 @@ files:
|
|
|
2808
2809
|
- lib/zernio-sdk/models/search_reddit200_response.rb
|
|
2809
2810
|
- lib/zernio-sdk/models/search_tweets200_response.rb
|
|
2810
2811
|
- lib/zernio-sdk/models/search_tweets200_response_meta.rb
|
|
2812
|
+
- lib/zernio-sdk/models/search_tweets200_response_pagination.rb
|
|
2811
2813
|
- lib/zernio-sdk/models/search_tweets200_response_tweets_inner.rb
|
|
2812
2814
|
- lib/zernio-sdk/models/search_tweets200_response_tweets_inner_author.rb
|
|
2813
2815
|
- lib/zernio-sdk/models/select_facebook_page200_response.rb
|
|
@@ -4404,6 +4406,7 @@ files:
|
|
|
4404
4406
|
- spec/models/search_inbox_conversations200_response_spec.rb
|
|
4405
4407
|
- spec/models/search_reddit200_response_spec.rb
|
|
4406
4408
|
- spec/models/search_tweets200_response_meta_spec.rb
|
|
4409
|
+
- spec/models/search_tweets200_response_pagination_spec.rb
|
|
4407
4410
|
- spec/models/search_tweets200_response_spec.rb
|
|
4408
4411
|
- spec/models/search_tweets200_response_tweets_inner_author_spec.rb
|
|
4409
4412
|
- spec/models/search_tweets200_response_tweets_inner_spec.rb
|
|
@@ -4859,7 +4862,7 @@ files:
|
|
|
4859
4862
|
- spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
|
|
4860
4863
|
- spec/models/you_tube_video_retention_response_spec.rb
|
|
4861
4864
|
- spec/spec_helper.rb
|
|
4862
|
-
- zernio-sdk-0.0.
|
|
4865
|
+
- zernio-sdk-0.0.604.gem
|
|
4863
4866
|
- zernio-sdk.gemspec
|
|
4864
4867
|
homepage: https://openapi-generator.tech
|
|
4865
4868
|
licenses:
|
|
@@ -5414,6 +5417,7 @@ test_files:
|
|
|
5414
5417
|
- spec/models/edit_inbox_message200_response_spec.rb
|
|
5415
5418
|
- spec/models/preflight_sms_registration200_response_advisories_inner_spec.rb
|
|
5416
5419
|
- spec/models/create_pinterest_board_request_spec.rb
|
|
5420
|
+
- spec/models/search_tweets200_response_pagination_spec.rb
|
|
5417
5421
|
- spec/models/list_broadcast_recipients200_response_recipients_inner_spec.rb
|
|
5418
5422
|
- spec/models/webhook_payload_message_message_attachments_inner_spec.rb
|
|
5419
5423
|
- spec/models/create_standalone_ad_request_placement_assets_spec.rb
|
data/zernio-sdk-0.0.602.gem
DELETED
|
Binary file
|