late-sdk 0.0.685 → 0.0.686
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/docs/CommentAutomationsApi.md +1 -1
- data/docs/ConversionEvent.md +1 -1
- data/docs/ConversionEventUser.md +2 -0
- data/docs/CreateCommentAutomation200ResponseAutomation.md +4 -0
- data/docs/CreateCommentAutomationRequest.md +4 -0
- data/docs/GetCommentAutomation200ResponseAutomation.md +4 -0
- data/docs/GetCommentAutomation200ResponseLogsInner.md +3 -1
- data/docs/ListCommentAutomations200ResponseAutomationsInner.md +4 -0
- data/docs/UpdateCommentAutomationRequest.md +4 -0
- data/lib/zernio-sdk/api/comment_automations_api.rb +1 -1
- data/lib/zernio-sdk/models/conversion_event.rb +1 -1
- data/lib/zernio-sdk/models/conversion_event_user.rb +11 -1
- data/lib/zernio-sdk/models/create_comment_automation200_response_automation.rb +21 -1
- data/lib/zernio-sdk/models/create_comment_automation_request.rb +77 -1
- data/lib/zernio-sdk/models/get_comment_automation200_response_automation.rb +21 -1
- data/lib/zernio-sdk/models/get_comment_automation200_response_logs_inner.rb +14 -4
- data/lib/zernio-sdk/models/list_comment_automations200_response_automations_inner.rb +21 -1
- data/lib/zernio-sdk/models/update_comment_automation_request.rb +77 -1
- data/lib/zernio-sdk/version.rb +1 -1
- data/openapi.yaml +30 -4
- data/spec/models/conversion_event_user_spec.rb +6 -0
- data/spec/models/create_comment_automation200_response_automation_spec.rb +12 -0
- data/spec/models/create_comment_automation_request_spec.rb +12 -0
- data/spec/models/get_comment_automation200_response_automation_spec.rb +12 -0
- data/spec/models/get_comment_automation200_response_logs_inner_spec.rb +7 -1
- data/spec/models/list_comment_automations200_response_automations_inner_spec.rb +12 -0
- data/spec/models/update_comment_automation_request_spec.rb +12 -0
- data/zernio-sdk-0.0.686.gem +0 -0
- metadata +1567 -1567
- data/zernio-sdk-0.0.685.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: f4f22a8096310e1cc8f40bb4e8c383ec0e349773ef668159de65699f0542512d
|
|
4
|
+
data.tar.gz: 2772a4785d3e100f8a3b370f7bcdd12b7accbae51ab231e3c9ed16b86883b56c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e52482d8cb3484b6e2339788b85e51455ba117ecb6ce0a0fddb14afbf093a6268da890b8cd6d2bcd09cb2d26368762a0184758e98977a66f04e5824bff650c0f
|
|
7
|
+
data.tar.gz: 7ab9db137b6dc2e723e48f102315dcc7fe7eb869d63e8dfbe11cc9efc89150e3fb5ffe2db35c97f7ace0679d20e31ea512aad814f280bc1895b202ef785981c9
|
|
@@ -240,7 +240,7 @@ end
|
|
|
240
240
|
api_instance = Zernio::CommentAutomationsApi.new
|
|
241
241
|
automation_id = 'automation_id_example' # String |
|
|
242
242
|
opts = {
|
|
243
|
-
status: '
|
|
243
|
+
status: 'pending', # String | Filter by result status
|
|
244
244
|
limit: 56, # Integer |
|
|
245
245
|
skip: 56 # Integer |
|
|
246
246
|
}
|
data/docs/ConversionEvent.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
| **items** | [**Array<ConversionEventItemsInner>**](ConversionEventItemsInner.md) | Item-level detail for ecommerce events. | [optional] |
|
|
14
14
|
| **source_url** | **String** | URL where the conversion originated (used by Meta). | [optional] |
|
|
15
15
|
| **action_source** | **String** | Where the conversion happened. Used by Meta. Google also requires an event source internally; omitting this field sends OTHER to Google. Send an explicit value for accurate origin reporting. | [optional] |
|
|
16
|
-
| **platform_data** | **Hash<String, Object>** | Escape hatch for platform-specific fields we haven't normalized.
|
|
16
|
+
| **platform_data** | **Hash<String, Object>** | Escape hatch for platform-specific fields we haven't normalized. On Meta, keys are shallow-merged into `custom_data` only: fields Zernio already builds (`value`, `currency`, `contents`, `num_items`) always win on collision, and `user_data` (hashed match keys) is never touched. Use first-class fields (e.g. `user.leadId`) for anything that must reach `user_data`. | [optional] |
|
|
17
17
|
|
|
18
18
|
## Example
|
|
19
19
|
|
data/docs/ConversionEventUser.md
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
| **zip** | **String** | Meta advanced matching (zp). US uses first 5 digits; hashed server-side. Meta only. | [optional] |
|
|
18
18
|
| **dob** | **String** | Meta advanced matching (db). YYYYMMDD; hashed server-side. Meta only. | [optional] |
|
|
19
19
|
| **gender** | **String** | Meta advanced matching (ge). 'f' or 'm'; hashed server-side. Meta only. | [optional] |
|
|
20
|
+
| **lead_id** | **String** | Meta lead ID from a Lead Ad submission, as a string. Required for Conversion Leads CRM events: send it with `actionSource: 'crm'` and `platformData: { event_source: 'crm', lead_event_source: '<CRM name>' }`. Forwarded unhashed to Meta's `user_data.lead_id`. Meta only. | [optional] |
|
|
20
21
|
| **click_ids** | [**ConversionEventUserClickIds**](ConversionEventUserClickIds.md) | | [optional] |
|
|
21
22
|
|
|
22
23
|
## Example
|
|
@@ -38,6 +39,7 @@ instance = Zernio::ConversionEventUser.new(
|
|
|
38
39
|
zip: null,
|
|
39
40
|
dob: null,
|
|
40
41
|
gender: null,
|
|
42
|
+
lead_id: null,
|
|
41
43
|
click_ids: null
|
|
42
44
|
)
|
|
43
45
|
```
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
| **comment_reply_variations** | **Array<String>** | Alternate public replies rotated at random with commentReply. Omitted when none. | [optional] |
|
|
21
21
|
| **link_tracking** | **Boolean** | | [optional] |
|
|
22
22
|
| **click_tag** | **String** | | [optional] |
|
|
23
|
+
| **dm_delay_seconds** | **Integer** | Seconds waited after the trigger before the DM is sent. Absent when the DM goes out immediately. | [optional] |
|
|
24
|
+
| **comment_reply_delay_seconds** | **Integer** | Seconds waited before the public reply is posted. Absent when it follows the DM immediately. | [optional] |
|
|
23
25
|
| **audience** | [**CommentAutomationAudience**](CommentAutomationAudience.md) | | [optional] |
|
|
24
26
|
| **follow_gate** | [**CommentAutomationFollowGate**](CommentAutomationFollowGate.md) | | [optional] |
|
|
25
27
|
| **is_active** | **Boolean** | | [optional] |
|
|
@@ -48,6 +50,8 @@ instance = Zernio::CreateCommentAutomation200ResponseAutomation.new(
|
|
|
48
50
|
comment_reply_variations: null,
|
|
49
51
|
link_tracking: null,
|
|
50
52
|
click_tag: null,
|
|
53
|
+
dm_delay_seconds: null,
|
|
54
|
+
comment_reply_delay_seconds: null,
|
|
51
55
|
audience: null,
|
|
52
56
|
follow_gate: null,
|
|
53
57
|
is_active: null,
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
| **comment_reply_variations** | **Array<String>** | Optional alternate public replies, rotated at random alongside commentReply (picked independently of the DM). Up to 5. | [optional] |
|
|
23
23
|
| **link_tracking** | **Boolean** | Wrap link buttons in the DM in a tracked redirect so clicks are counted (Link Clicks / CTR). Pass false to send links exactly as written. Defaults to on. | [optional][default to true] |
|
|
24
24
|
| **click_tag** | **String** | Optional tag applied to a contact when they click a tracked link (requires linkTracking). Lets you segment clickers for broadcasts/sequences. | [optional] |
|
|
25
|
+
| **dm_delay_seconds** | **Integer** | Seconds to wait after the trigger before sending the DM. Omit or send 0 to reply immediately (the default). Max 86400 (24h). The trigger is still matched and deduplicated the moment the comment arrives, so a delay only moves when the response is sent. | [optional] |
|
|
26
|
+
| **comment_reply_delay_seconds** | **Integer** | Seconds to wait before posting the public comment reply. Omit or send 0 to post it right after the DM (the default). The reply never goes out before the DM, so a value below dmDelaySeconds is raised to it. Ignored when trigger=story_reply, which has no public reply. | [optional] |
|
|
25
27
|
| **audience** | [**CommentAutomationAudience**](CommentAutomationAudience.md) | | [optional] |
|
|
26
28
|
| **follow_gate** | [**CommentAutomationFollowGate**](CommentAutomationFollowGate.md) | | [optional] |
|
|
27
29
|
|
|
@@ -49,6 +51,8 @@ instance = Zernio::CreateCommentAutomationRequest.new(
|
|
|
49
51
|
comment_reply_variations: null,
|
|
50
52
|
link_tracking: null,
|
|
51
53
|
click_tag: null,
|
|
54
|
+
dm_delay_seconds: null,
|
|
55
|
+
comment_reply_delay_seconds: null,
|
|
52
56
|
audience: null,
|
|
53
57
|
follow_gate: null
|
|
54
58
|
)
|
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
| **comment_reply_variations** | **Array<String>** | Alternate public replies rotated at random with commentReply. Omitted when none. | [optional] |
|
|
24
24
|
| **link_tracking** | **Boolean** | | [optional] |
|
|
25
25
|
| **click_tag** | **String** | | [optional] |
|
|
26
|
+
| **dm_delay_seconds** | **Integer** | Seconds waited after the trigger before the DM is sent. Absent when the DM goes out immediately. | [optional] |
|
|
27
|
+
| **comment_reply_delay_seconds** | **Integer** | Seconds waited before the public reply is posted. Absent when it follows the DM immediately. | [optional] |
|
|
26
28
|
| **audience** | [**CommentAutomationAudience**](CommentAutomationAudience.md) | | [optional] |
|
|
27
29
|
| **follow_gate** | [**CommentAutomationFollowGate**](CommentAutomationFollowGate.md) | | [optional] |
|
|
28
30
|
| **is_active** | **Boolean** | | [optional] |
|
|
@@ -55,6 +57,8 @@ instance = Zernio::GetCommentAutomation200ResponseAutomation.new(
|
|
|
55
57
|
comment_reply_variations: null,
|
|
56
58
|
link_tracking: null,
|
|
57
59
|
click_tag: null,
|
|
60
|
+
dm_delay_seconds: null,
|
|
61
|
+
comment_reply_delay_seconds: null,
|
|
58
62
|
audience: null,
|
|
59
63
|
follow_gate: null,
|
|
60
64
|
is_active: null,
|
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
| **commenter_id** | **String** | | [optional] |
|
|
10
10
|
| **commenter_name** | **String** | | [optional] |
|
|
11
11
|
| **comment_text** | **String** | | [optional] |
|
|
12
|
-
| **status** | **String** | DM outcome. 'gated' = the follow-gate confirmation DM went out and we are waiting for the tap; it flips to 'sent' or 'skipped' when they tap. | [optional] |
|
|
12
|
+
| **status** | **String** | DM outcome. 'pending' = the automation has a dmDelaySeconds and the response is queued but not sent yet. 'gated' = the follow-gate confirmation DM went out and we are waiting for the tap; it flips to 'sent' or 'skipped' when they tap. | [optional] |
|
|
13
13
|
| **audience_outcome** | **String** | How the audience rule resolved. Absent on automations without one. | [optional] |
|
|
14
14
|
| **commenter_is_follower** | **Boolean** | Follow relationship at decision time. Absent when Instagram would not tell us (the commenter never messaged the account). | [optional] |
|
|
15
15
|
| **commenter_follower_count** | **Integer** | | [optional] |
|
|
16
16
|
| **error** | **String** | DM error message if status is failed | [optional] |
|
|
17
17
|
| **comment_reply_status** | **String** | Outcome of the optional public reply on the triggering comment. 'skipped' if no commentReply was configured or if the DM failed (the public reply is not attempted in that case). | [optional] |
|
|
18
18
|
| **comment_reply_error** | **String** | Public-reply error message if commentReplyStatus is failed | [optional] |
|
|
19
|
+
| **next_due_at** | **Time** | When the next queued send fires. Present only while something is still pending. | [optional] |
|
|
19
20
|
| **created_at** | **Time** | | [optional] |
|
|
20
21
|
|
|
21
22
|
## Example
|
|
@@ -36,6 +37,7 @@ instance = Zernio::GetCommentAutomation200ResponseLogsInner.new(
|
|
|
36
37
|
error: null,
|
|
37
38
|
comment_reply_status: null,
|
|
38
39
|
comment_reply_error: null,
|
|
40
|
+
next_due_at: null,
|
|
39
41
|
created_at: null
|
|
40
42
|
)
|
|
41
43
|
```
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
| **comment_reply_variations** | **Array<String>** | Alternate public replies rotated at random with commentReply. Omitted when none. | [optional] |
|
|
23
23
|
| **link_tracking** | **Boolean** | Whether link buttons in the DM are wrapped in a tracked redirect to count clicks. | [optional] |
|
|
24
24
|
| **click_tag** | **String** | Tag applied to a contact when they click a tracked link. | [optional] |
|
|
25
|
+
| **dm_delay_seconds** | **Integer** | Seconds waited after the trigger before the DM is sent. Absent when the DM goes out immediately. | [optional] |
|
|
26
|
+
| **comment_reply_delay_seconds** | **Integer** | Seconds waited before the public reply is posted. Absent when it follows the DM immediately. | [optional] |
|
|
25
27
|
| **is_active** | **Boolean** | | [optional] |
|
|
26
28
|
| **stats** | [**ListCommentAutomations200ResponseAutomationsInnerStats**](ListCommentAutomations200ResponseAutomationsInnerStats.md) | | [optional] |
|
|
27
29
|
| **created_at** | **Time** | | [optional] |
|
|
@@ -50,6 +52,8 @@ instance = Zernio::ListCommentAutomations200ResponseAutomationsInner.new(
|
|
|
50
52
|
comment_reply_variations: null,
|
|
51
53
|
link_tracking: null,
|
|
52
54
|
click_tag: null,
|
|
55
|
+
dm_delay_seconds: null,
|
|
56
|
+
comment_reply_delay_seconds: null,
|
|
53
57
|
is_active: null,
|
|
54
58
|
stats: null,
|
|
55
59
|
created_at: null
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
| **comment_reply_variations** | **Array<String>** | Alternate public replies for random rotation. Pass [] to clear. | [optional] |
|
|
18
18
|
| **link_tracking** | **Boolean** | Wrap link buttons in a tracked redirect to count clicks. Pass false to send links untouched. | [optional] |
|
|
19
19
|
| **click_tag** | **String** | Tag applied to a contact when they click a tracked link (requires linkTracking). Empty string clears it. | [optional] |
|
|
20
|
+
| **dm_delay_seconds** | **Integer** | Seconds to wait after the trigger before sending the DM. Send 0 to clear the delay and reply immediately. | [optional] |
|
|
21
|
+
| **comment_reply_delay_seconds** | **Integer** | Seconds to wait before posting the public comment reply. Send 0 to clear it. The reply never goes out before the DM. | [optional] |
|
|
20
22
|
| **audience** | [**CommentAutomationAudience**](CommentAutomationAudience.md) | | [optional] |
|
|
21
23
|
| **follow_gate** | [**CommentAutomationFollowGate**](CommentAutomationFollowGate.md) | | [optional] |
|
|
22
24
|
| **is_active** | **Boolean** | | [optional] |
|
|
@@ -40,6 +42,8 @@ instance = Zernio::UpdateCommentAutomationRequest.new(
|
|
|
40
42
|
comment_reply_variations: null,
|
|
41
43
|
link_tracking: null,
|
|
42
44
|
click_tag: null,
|
|
45
|
+
dm_delay_seconds: null,
|
|
46
|
+
comment_reply_delay_seconds: null,
|
|
43
47
|
audience: null,
|
|
44
48
|
follow_gate: null,
|
|
45
49
|
is_active: null
|
|
@@ -242,7 +242,7 @@ module Zernio
|
|
|
242
242
|
if @api_client.config.client_side_validation && automation_id.nil?
|
|
243
243
|
fail ArgumentError, "Missing the required parameter 'automation_id' when calling CommentAutomationsApi.list_comment_automation_logs"
|
|
244
244
|
end
|
|
245
|
-
allowable_values = ["sent", "failed", "skipped", "gated"]
|
|
245
|
+
allowable_values = ["pending", "sent", "failed", "skipped", "gated"]
|
|
246
246
|
if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
|
|
247
247
|
fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
|
|
248
248
|
end
|
|
@@ -42,7 +42,7 @@ module Zernio
|
|
|
42
42
|
# Where the conversion happened. Used by Meta. Google also requires an event source internally; omitting this field sends OTHER to Google. Send an explicit value for accurate origin reporting.
|
|
43
43
|
attr_accessor :action_source
|
|
44
44
|
|
|
45
|
-
# Escape hatch for platform-specific fields we haven't normalized.
|
|
45
|
+
# Escape hatch for platform-specific fields we haven't normalized. On Meta, keys are shallow-merged into `custom_data` only: fields Zernio already builds (`value`, `currency`, `contents`, `num_items`) always win on collision, and `user_data` (hashed match keys) is never touched. Use first-class fields (e.g. `user.leadId`) for anything that must reach `user_data`.
|
|
46
46
|
attr_accessor :platform_data
|
|
47
47
|
|
|
48
48
|
class EnumAttributeValidator
|
|
@@ -55,6 +55,9 @@ module Zernio
|
|
|
55
55
|
# Meta advanced matching (ge). 'f' or 'm'; hashed server-side. Meta only.
|
|
56
56
|
attr_accessor :gender
|
|
57
57
|
|
|
58
|
+
# Meta lead ID from a Lead Ad submission, as a string. Required for Conversion Leads CRM events: send it with `actionSource: 'crm'` and `platformData: { event_source: 'crm', lead_event_source: '<CRM name>' }`. Forwarded unhashed to Meta's `user_data.lead_id`. Meta only.
|
|
59
|
+
attr_accessor :lead_id
|
|
60
|
+
|
|
58
61
|
attr_accessor :click_ids
|
|
59
62
|
|
|
60
63
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -73,6 +76,7 @@ module Zernio
|
|
|
73
76
|
:'zip' => :'zip',
|
|
74
77
|
:'dob' => :'dob',
|
|
75
78
|
:'gender' => :'gender',
|
|
79
|
+
:'lead_id' => :'leadId',
|
|
76
80
|
:'click_ids' => :'clickIds'
|
|
77
81
|
}
|
|
78
82
|
end
|
|
@@ -103,6 +107,7 @@ module Zernio
|
|
|
103
107
|
:'zip' => :'String',
|
|
104
108
|
:'dob' => :'String',
|
|
105
109
|
:'gender' => :'String',
|
|
110
|
+
:'lead_id' => :'String',
|
|
106
111
|
:'click_ids' => :'ConversionEventUserClickIds'
|
|
107
112
|
}
|
|
108
113
|
end
|
|
@@ -181,6 +186,10 @@ module Zernio
|
|
|
181
186
|
self.gender = attributes[:'gender']
|
|
182
187
|
end
|
|
183
188
|
|
|
189
|
+
if attributes.key?(:'lead_id')
|
|
190
|
+
self.lead_id = attributes[:'lead_id']
|
|
191
|
+
end
|
|
192
|
+
|
|
184
193
|
if attributes.key?(:'click_ids')
|
|
185
194
|
self.click_ids = attributes[:'click_ids']
|
|
186
195
|
end
|
|
@@ -219,6 +228,7 @@ module Zernio
|
|
|
219
228
|
zip == o.zip &&
|
|
220
229
|
dob == o.dob &&
|
|
221
230
|
gender == o.gender &&
|
|
231
|
+
lead_id == o.lead_id &&
|
|
222
232
|
click_ids == o.click_ids
|
|
223
233
|
end
|
|
224
234
|
|
|
@@ -231,7 +241,7 @@ module Zernio
|
|
|
231
241
|
# Calculates hash code according to all attributes.
|
|
232
242
|
# @return [Integer] Hash code
|
|
233
243
|
def hash
|
|
234
|
-
[email, phone, first_name, last_name, external_id, ip_address, user_agent, country, city, state, zip, dob, gender, click_ids].hash
|
|
244
|
+
[email, phone, first_name, last_name, external_id, ip_address, user_agent, country, city, state, zip, dob, gender, lead_id, click_ids].hash
|
|
235
245
|
end
|
|
236
246
|
|
|
237
247
|
# Builds the object from hash
|
|
@@ -53,6 +53,12 @@ module Zernio
|
|
|
53
53
|
|
|
54
54
|
attr_accessor :click_tag
|
|
55
55
|
|
|
56
|
+
# Seconds waited after the trigger before the DM is sent. Absent when the DM goes out immediately.
|
|
57
|
+
attr_accessor :dm_delay_seconds
|
|
58
|
+
|
|
59
|
+
# Seconds waited before the public reply is posted. Absent when it follows the DM immediately.
|
|
60
|
+
attr_accessor :comment_reply_delay_seconds
|
|
61
|
+
|
|
56
62
|
attr_accessor :audience
|
|
57
63
|
|
|
58
64
|
attr_accessor :follow_gate
|
|
@@ -104,6 +110,8 @@ module Zernio
|
|
|
104
110
|
:'comment_reply_variations' => :'commentReplyVariations',
|
|
105
111
|
:'link_tracking' => :'linkTracking',
|
|
106
112
|
:'click_tag' => :'clickTag',
|
|
113
|
+
:'dm_delay_seconds' => :'dmDelaySeconds',
|
|
114
|
+
:'comment_reply_delay_seconds' => :'commentReplyDelaySeconds',
|
|
107
115
|
:'audience' => :'audience',
|
|
108
116
|
:'follow_gate' => :'followGate',
|
|
109
117
|
:'is_active' => :'isActive',
|
|
@@ -141,6 +149,8 @@ module Zernio
|
|
|
141
149
|
:'comment_reply_variations' => :'Array<String>',
|
|
142
150
|
:'link_tracking' => :'Boolean',
|
|
143
151
|
:'click_tag' => :'String',
|
|
152
|
+
:'dm_delay_seconds' => :'Integer',
|
|
153
|
+
:'comment_reply_delay_seconds' => :'Integer',
|
|
144
154
|
:'audience' => :'CommentAutomationAudience',
|
|
145
155
|
:'follow_gate' => :'CommentAutomationFollowGate',
|
|
146
156
|
:'is_active' => :'Boolean',
|
|
@@ -245,6 +255,14 @@ module Zernio
|
|
|
245
255
|
self.click_tag = attributes[:'click_tag']
|
|
246
256
|
end
|
|
247
257
|
|
|
258
|
+
if attributes.key?(:'dm_delay_seconds')
|
|
259
|
+
self.dm_delay_seconds = attributes[:'dm_delay_seconds']
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
if attributes.key?(:'comment_reply_delay_seconds')
|
|
263
|
+
self.comment_reply_delay_seconds = attributes[:'comment_reply_delay_seconds']
|
|
264
|
+
end
|
|
265
|
+
|
|
248
266
|
if attributes.key?(:'audience')
|
|
249
267
|
self.audience = attributes[:'audience']
|
|
250
268
|
end
|
|
@@ -326,6 +344,8 @@ module Zernio
|
|
|
326
344
|
comment_reply_variations == o.comment_reply_variations &&
|
|
327
345
|
link_tracking == o.link_tracking &&
|
|
328
346
|
click_tag == o.click_tag &&
|
|
347
|
+
dm_delay_seconds == o.dm_delay_seconds &&
|
|
348
|
+
comment_reply_delay_seconds == o.comment_reply_delay_seconds &&
|
|
329
349
|
audience == o.audience &&
|
|
330
350
|
follow_gate == o.follow_gate &&
|
|
331
351
|
is_active == o.is_active &&
|
|
@@ -342,7 +362,7 @@ module Zernio
|
|
|
342
362
|
# Calculates hash code according to all attributes.
|
|
343
363
|
# @return [Integer] Hash code
|
|
344
364
|
def hash
|
|
345
|
-
[id, name, platform, trigger, platform_post_id, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, audience, follow_gate, is_active, stats, created_at].hash
|
|
365
|
+
[id, name, platform, trigger, platform_post_id, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, dm_delay_seconds, comment_reply_delay_seconds, audience, follow_gate, is_active, stats, created_at].hash
|
|
346
366
|
end
|
|
347
367
|
|
|
348
368
|
# Builds the object from hash
|
|
@@ -68,6 +68,12 @@ module Zernio
|
|
|
68
68
|
# Optional tag applied to a contact when they click a tracked link (requires linkTracking). Lets you segment clickers for broadcasts/sequences.
|
|
69
69
|
attr_accessor :click_tag
|
|
70
70
|
|
|
71
|
+
# Seconds to wait after the trigger before sending the DM. Omit or send 0 to reply immediately (the default). Max 86400 (24h). The trigger is still matched and deduplicated the moment the comment arrives, so a delay only moves when the response is sent.
|
|
72
|
+
attr_accessor :dm_delay_seconds
|
|
73
|
+
|
|
74
|
+
# Seconds to wait before posting the public comment reply. Omit or send 0 to post it right after the DM (the default). The reply never goes out before the DM, so a value below dmDelaySeconds is raised to it. Ignored when trigger=story_reply, which has no public reply.
|
|
75
|
+
attr_accessor :comment_reply_delay_seconds
|
|
76
|
+
|
|
71
77
|
attr_accessor :audience
|
|
72
78
|
|
|
73
79
|
attr_accessor :follow_gate
|
|
@@ -115,6 +121,8 @@ module Zernio
|
|
|
115
121
|
:'comment_reply_variations' => :'commentReplyVariations',
|
|
116
122
|
:'link_tracking' => :'linkTracking',
|
|
117
123
|
:'click_tag' => :'clickTag',
|
|
124
|
+
:'dm_delay_seconds' => :'dmDelaySeconds',
|
|
125
|
+
:'comment_reply_delay_seconds' => :'commentReplyDelaySeconds',
|
|
118
126
|
:'audience' => :'audience',
|
|
119
127
|
:'follow_gate' => :'followGate'
|
|
120
128
|
}
|
|
@@ -151,6 +159,8 @@ module Zernio
|
|
|
151
159
|
:'comment_reply_variations' => :'Array<String>',
|
|
152
160
|
:'link_tracking' => :'Boolean',
|
|
153
161
|
:'click_tag' => :'String',
|
|
162
|
+
:'dm_delay_seconds' => :'Integer',
|
|
163
|
+
:'comment_reply_delay_seconds' => :'Integer',
|
|
154
164
|
:'audience' => :'CommentAutomationAudience',
|
|
155
165
|
:'follow_gate' => :'CommentAutomationFollowGate'
|
|
156
166
|
}
|
|
@@ -274,6 +284,14 @@ module Zernio
|
|
|
274
284
|
self.click_tag = attributes[:'click_tag']
|
|
275
285
|
end
|
|
276
286
|
|
|
287
|
+
if attributes.key?(:'dm_delay_seconds')
|
|
288
|
+
self.dm_delay_seconds = attributes[:'dm_delay_seconds']
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
if attributes.key?(:'comment_reply_delay_seconds')
|
|
292
|
+
self.comment_reply_delay_seconds = attributes[:'comment_reply_delay_seconds']
|
|
293
|
+
end
|
|
294
|
+
|
|
277
295
|
if attributes.key?(:'audience')
|
|
278
296
|
self.audience = attributes[:'audience']
|
|
279
297
|
end
|
|
@@ -316,6 +334,22 @@ module Zernio
|
|
|
316
334
|
invalid_properties.push('invalid value for "comment_reply_variations", number of items must be less than or equal to 5.')
|
|
317
335
|
end
|
|
318
336
|
|
|
337
|
+
if !@dm_delay_seconds.nil? && @dm_delay_seconds > 86400
|
|
338
|
+
invalid_properties.push('invalid value for "dm_delay_seconds", must be smaller than or equal to 86400.')
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
if !@dm_delay_seconds.nil? && @dm_delay_seconds < 0
|
|
342
|
+
invalid_properties.push('invalid value for "dm_delay_seconds", must be greater than or equal to 0.')
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
if !@comment_reply_delay_seconds.nil? && @comment_reply_delay_seconds > 86400
|
|
346
|
+
invalid_properties.push('invalid value for "comment_reply_delay_seconds", must be smaller than or equal to 86400.')
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
if !@comment_reply_delay_seconds.nil? && @comment_reply_delay_seconds < 0
|
|
350
|
+
invalid_properties.push('invalid value for "comment_reply_delay_seconds", must be greater than or equal to 0.')
|
|
351
|
+
end
|
|
352
|
+
|
|
319
353
|
invalid_properties
|
|
320
354
|
end
|
|
321
355
|
|
|
@@ -334,6 +368,10 @@ module Zernio
|
|
|
334
368
|
return false if !@buttons.nil? && @buttons.length > 3
|
|
335
369
|
return false if !@dm_message_variations.nil? && @dm_message_variations.length > 5
|
|
336
370
|
return false if !@comment_reply_variations.nil? && @comment_reply_variations.length > 5
|
|
371
|
+
return false if !@dm_delay_seconds.nil? && @dm_delay_seconds > 86400
|
|
372
|
+
return false if !@dm_delay_seconds.nil? && @dm_delay_seconds < 0
|
|
373
|
+
return false if !@comment_reply_delay_seconds.nil? && @comment_reply_delay_seconds > 86400
|
|
374
|
+
return false if !@comment_reply_delay_seconds.nil? && @comment_reply_delay_seconds < 0
|
|
337
375
|
true
|
|
338
376
|
end
|
|
339
377
|
|
|
@@ -439,6 +477,42 @@ module Zernio
|
|
|
439
477
|
@comment_reply_variations = comment_reply_variations
|
|
440
478
|
end
|
|
441
479
|
|
|
480
|
+
# Custom attribute writer method with validation
|
|
481
|
+
# @param [Object] dm_delay_seconds Value to be assigned
|
|
482
|
+
def dm_delay_seconds=(dm_delay_seconds)
|
|
483
|
+
if dm_delay_seconds.nil?
|
|
484
|
+
fail ArgumentError, 'dm_delay_seconds cannot be nil'
|
|
485
|
+
end
|
|
486
|
+
|
|
487
|
+
if dm_delay_seconds > 86400
|
|
488
|
+
fail ArgumentError, 'invalid value for "dm_delay_seconds", must be smaller than or equal to 86400.'
|
|
489
|
+
end
|
|
490
|
+
|
|
491
|
+
if dm_delay_seconds < 0
|
|
492
|
+
fail ArgumentError, 'invalid value for "dm_delay_seconds", must be greater than or equal to 0.'
|
|
493
|
+
end
|
|
494
|
+
|
|
495
|
+
@dm_delay_seconds = dm_delay_seconds
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
# Custom attribute writer method with validation
|
|
499
|
+
# @param [Object] comment_reply_delay_seconds Value to be assigned
|
|
500
|
+
def comment_reply_delay_seconds=(comment_reply_delay_seconds)
|
|
501
|
+
if comment_reply_delay_seconds.nil?
|
|
502
|
+
fail ArgumentError, 'comment_reply_delay_seconds cannot be nil'
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
if comment_reply_delay_seconds > 86400
|
|
506
|
+
fail ArgumentError, 'invalid value for "comment_reply_delay_seconds", must be smaller than or equal to 86400.'
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
if comment_reply_delay_seconds < 0
|
|
510
|
+
fail ArgumentError, 'invalid value for "comment_reply_delay_seconds", must be greater than or equal to 0.'
|
|
511
|
+
end
|
|
512
|
+
|
|
513
|
+
@comment_reply_delay_seconds = comment_reply_delay_seconds
|
|
514
|
+
end
|
|
515
|
+
|
|
442
516
|
# Checks equality by comparing each attribute.
|
|
443
517
|
# @param [Object] Object to be compared
|
|
444
518
|
def ==(o)
|
|
@@ -462,6 +536,8 @@ module Zernio
|
|
|
462
536
|
comment_reply_variations == o.comment_reply_variations &&
|
|
463
537
|
link_tracking == o.link_tracking &&
|
|
464
538
|
click_tag == o.click_tag &&
|
|
539
|
+
dm_delay_seconds == o.dm_delay_seconds &&
|
|
540
|
+
comment_reply_delay_seconds == o.comment_reply_delay_seconds &&
|
|
465
541
|
audience == o.audience &&
|
|
466
542
|
follow_gate == o.follow_gate
|
|
467
543
|
end
|
|
@@ -475,7 +551,7 @@ module Zernio
|
|
|
475
551
|
# Calculates hash code according to all attributes.
|
|
476
552
|
# @return [Integer] Hash code
|
|
477
553
|
def hash
|
|
478
|
-
[profile_id, account_id, trigger, platform_post_id, post_id, post_title, name, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, audience, follow_gate].hash
|
|
554
|
+
[profile_id, account_id, trigger, platform_post_id, post_id, post_title, name, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, dm_delay_seconds, comment_reply_delay_seconds, audience, follow_gate].hash
|
|
479
555
|
end
|
|
480
556
|
|
|
481
557
|
# Builds the object from hash
|
|
@@ -59,6 +59,12 @@ module Zernio
|
|
|
59
59
|
|
|
60
60
|
attr_accessor :click_tag
|
|
61
61
|
|
|
62
|
+
# Seconds waited after the trigger before the DM is sent. Absent when the DM goes out immediately.
|
|
63
|
+
attr_accessor :dm_delay_seconds
|
|
64
|
+
|
|
65
|
+
# Seconds waited before the public reply is posted. Absent when it follows the DM immediately.
|
|
66
|
+
attr_accessor :comment_reply_delay_seconds
|
|
67
|
+
|
|
62
68
|
attr_accessor :audience
|
|
63
69
|
|
|
64
70
|
attr_accessor :follow_gate
|
|
@@ -115,6 +121,8 @@ module Zernio
|
|
|
115
121
|
:'comment_reply_variations' => :'commentReplyVariations',
|
|
116
122
|
:'link_tracking' => :'linkTracking',
|
|
117
123
|
:'click_tag' => :'clickTag',
|
|
124
|
+
:'dm_delay_seconds' => :'dmDelaySeconds',
|
|
125
|
+
:'comment_reply_delay_seconds' => :'commentReplyDelaySeconds',
|
|
118
126
|
:'audience' => :'audience',
|
|
119
127
|
:'follow_gate' => :'followGate',
|
|
120
128
|
:'is_active' => :'isActive',
|
|
@@ -156,6 +164,8 @@ module Zernio
|
|
|
156
164
|
:'comment_reply_variations' => :'Array<String>',
|
|
157
165
|
:'link_tracking' => :'Boolean',
|
|
158
166
|
:'click_tag' => :'String',
|
|
167
|
+
:'dm_delay_seconds' => :'Integer',
|
|
168
|
+
:'comment_reply_delay_seconds' => :'Integer',
|
|
159
169
|
:'audience' => :'CommentAutomationAudience',
|
|
160
170
|
:'follow_gate' => :'CommentAutomationFollowGate',
|
|
161
171
|
:'is_active' => :'Boolean',
|
|
@@ -273,6 +283,14 @@ module Zernio
|
|
|
273
283
|
self.click_tag = attributes[:'click_tag']
|
|
274
284
|
end
|
|
275
285
|
|
|
286
|
+
if attributes.key?(:'dm_delay_seconds')
|
|
287
|
+
self.dm_delay_seconds = attributes[:'dm_delay_seconds']
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
if attributes.key?(:'comment_reply_delay_seconds')
|
|
291
|
+
self.comment_reply_delay_seconds = attributes[:'comment_reply_delay_seconds']
|
|
292
|
+
end
|
|
293
|
+
|
|
276
294
|
if attributes.key?(:'audience')
|
|
277
295
|
self.audience = attributes[:'audience']
|
|
278
296
|
end
|
|
@@ -361,6 +379,8 @@ module Zernio
|
|
|
361
379
|
comment_reply_variations == o.comment_reply_variations &&
|
|
362
380
|
link_tracking == o.link_tracking &&
|
|
363
381
|
click_tag == o.click_tag &&
|
|
382
|
+
dm_delay_seconds == o.dm_delay_seconds &&
|
|
383
|
+
comment_reply_delay_seconds == o.comment_reply_delay_seconds &&
|
|
364
384
|
audience == o.audience &&
|
|
365
385
|
follow_gate == o.follow_gate &&
|
|
366
386
|
is_active == o.is_active &&
|
|
@@ -378,7 +398,7 @@ module Zernio
|
|
|
378
398
|
# Calculates hash code according to all attributes.
|
|
379
399
|
# @return [Integer] Hash code
|
|
380
400
|
def hash
|
|
381
|
-
[id, name, platform, trigger, account_id, platform_post_id, post_id, post_title, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, audience, follow_gate, is_active, stats, created_at, updated_at].hash
|
|
401
|
+
[id, name, platform, trigger, account_id, platform_post_id, post_id, post_title, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, dm_delay_seconds, comment_reply_delay_seconds, audience, follow_gate, is_active, stats, created_at, updated_at].hash
|
|
382
402
|
end
|
|
383
403
|
|
|
384
404
|
# Builds the object from hash
|
|
@@ -25,7 +25,7 @@ module Zernio
|
|
|
25
25
|
|
|
26
26
|
attr_accessor :comment_text
|
|
27
27
|
|
|
28
|
-
# DM outcome. 'gated' = the follow-gate confirmation DM went out and we are waiting for the tap; it flips to 'sent' or 'skipped' when they tap.
|
|
28
|
+
# DM outcome. 'pending' = the automation has a dmDelaySeconds and the response is queued but not sent yet. 'gated' = the follow-gate confirmation DM went out and we are waiting for the tap; it flips to 'sent' or 'skipped' when they tap.
|
|
29
29
|
attr_accessor :status
|
|
30
30
|
|
|
31
31
|
# How the audience rule resolved. Absent on automations without one.
|
|
@@ -45,6 +45,9 @@ module Zernio
|
|
|
45
45
|
# Public-reply error message if commentReplyStatus is failed
|
|
46
46
|
attr_accessor :comment_reply_error
|
|
47
47
|
|
|
48
|
+
# When the next queued send fires. Present only while something is still pending.
|
|
49
|
+
attr_accessor :next_due_at
|
|
50
|
+
|
|
48
51
|
attr_accessor :created_at
|
|
49
52
|
|
|
50
53
|
class EnumAttributeValidator
|
|
@@ -84,6 +87,7 @@ module Zernio
|
|
|
84
87
|
:'error' => :'error',
|
|
85
88
|
:'comment_reply_status' => :'commentReplyStatus',
|
|
86
89
|
:'comment_reply_error' => :'commentReplyError',
|
|
90
|
+
:'next_due_at' => :'nextDueAt',
|
|
87
91
|
:'created_at' => :'createdAt'
|
|
88
92
|
}
|
|
89
93
|
end
|
|
@@ -113,6 +117,7 @@ module Zernio
|
|
|
113
117
|
:'error' => :'String',
|
|
114
118
|
:'comment_reply_status' => :'String',
|
|
115
119
|
:'comment_reply_error' => :'String',
|
|
120
|
+
:'next_due_at' => :'Time',
|
|
116
121
|
:'created_at' => :'Time'
|
|
117
122
|
}
|
|
118
123
|
end
|
|
@@ -187,6 +192,10 @@ module Zernio
|
|
|
187
192
|
self.comment_reply_error = attributes[:'comment_reply_error']
|
|
188
193
|
end
|
|
189
194
|
|
|
195
|
+
if attributes.key?(:'next_due_at')
|
|
196
|
+
self.next_due_at = attributes[:'next_due_at']
|
|
197
|
+
end
|
|
198
|
+
|
|
190
199
|
if attributes.key?(:'created_at')
|
|
191
200
|
self.created_at = attributes[:'created_at']
|
|
192
201
|
end
|
|
@@ -204,7 +213,7 @@ module Zernio
|
|
|
204
213
|
# @return true if the model is valid
|
|
205
214
|
def valid?
|
|
206
215
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
207
|
-
status_validator = EnumAttributeValidator.new('String', ["sent", "failed", "skipped", "gated"])
|
|
216
|
+
status_validator = EnumAttributeValidator.new('String', ["pending", "sent", "failed", "skipped", "gated"])
|
|
208
217
|
return false unless status_validator.valid?(@status)
|
|
209
218
|
audience_outcome_validator = EnumAttributeValidator.new('String', ["passed", "blocked", "gate_sent", "gate_passed", "gate_failed"])
|
|
210
219
|
return false unless audience_outcome_validator.valid?(@audience_outcome)
|
|
@@ -216,7 +225,7 @@ module Zernio
|
|
|
216
225
|
# Custom attribute writer method checking allowed values (enum).
|
|
217
226
|
# @param [Object] status Object to be assigned
|
|
218
227
|
def status=(status)
|
|
219
|
-
validator = EnumAttributeValidator.new('String', ["sent", "failed", "skipped", "gated"])
|
|
228
|
+
validator = EnumAttributeValidator.new('String', ["pending", "sent", "failed", "skipped", "gated"])
|
|
220
229
|
unless validator.valid?(status)
|
|
221
230
|
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
222
231
|
end
|
|
@@ -260,6 +269,7 @@ module Zernio
|
|
|
260
269
|
error == o.error &&
|
|
261
270
|
comment_reply_status == o.comment_reply_status &&
|
|
262
271
|
comment_reply_error == o.comment_reply_error &&
|
|
272
|
+
next_due_at == o.next_due_at &&
|
|
263
273
|
created_at == o.created_at
|
|
264
274
|
end
|
|
265
275
|
|
|
@@ -272,7 +282,7 @@ module Zernio
|
|
|
272
282
|
# Calculates hash code according to all attributes.
|
|
273
283
|
# @return [Integer] Hash code
|
|
274
284
|
def hash
|
|
275
|
-
[id, comment_id, commenter_id, commenter_name, comment_text, status, audience_outcome, commenter_is_follower, commenter_follower_count, error, comment_reply_status, comment_reply_error, created_at].hash
|
|
285
|
+
[id, comment_id, commenter_id, commenter_name, comment_text, status, audience_outcome, commenter_is_follower, commenter_follower_count, error, comment_reply_status, comment_reply_error, next_due_at, created_at].hash
|
|
276
286
|
end
|
|
277
287
|
|
|
278
288
|
# Builds the object from hash
|
|
@@ -59,6 +59,12 @@ module Zernio
|
|
|
59
59
|
# Tag applied to a contact when they click a tracked link.
|
|
60
60
|
attr_accessor :click_tag
|
|
61
61
|
|
|
62
|
+
# Seconds waited after the trigger before the DM is sent. Absent when the DM goes out immediately.
|
|
63
|
+
attr_accessor :dm_delay_seconds
|
|
64
|
+
|
|
65
|
+
# Seconds waited before the public reply is posted. Absent when it follows the DM immediately.
|
|
66
|
+
attr_accessor :comment_reply_delay_seconds
|
|
67
|
+
|
|
62
68
|
attr_accessor :is_active
|
|
63
69
|
|
|
64
70
|
attr_accessor :stats
|
|
@@ -108,6 +114,8 @@ module Zernio
|
|
|
108
114
|
:'comment_reply_variations' => :'commentReplyVariations',
|
|
109
115
|
:'link_tracking' => :'linkTracking',
|
|
110
116
|
:'click_tag' => :'clickTag',
|
|
117
|
+
:'dm_delay_seconds' => :'dmDelaySeconds',
|
|
118
|
+
:'comment_reply_delay_seconds' => :'commentReplyDelaySeconds',
|
|
111
119
|
:'is_active' => :'isActive',
|
|
112
120
|
:'stats' => :'stats',
|
|
113
121
|
:'created_at' => :'createdAt'
|
|
@@ -145,6 +153,8 @@ module Zernio
|
|
|
145
153
|
:'comment_reply_variations' => :'Array<String>',
|
|
146
154
|
:'link_tracking' => :'Boolean',
|
|
147
155
|
:'click_tag' => :'String',
|
|
156
|
+
:'dm_delay_seconds' => :'Integer',
|
|
157
|
+
:'comment_reply_delay_seconds' => :'Integer',
|
|
148
158
|
:'is_active' => :'Boolean',
|
|
149
159
|
:'stats' => :'ListCommentAutomations200ResponseAutomationsInnerStats',
|
|
150
160
|
:'created_at' => :'Time'
|
|
@@ -255,6 +265,14 @@ module Zernio
|
|
|
255
265
|
self.click_tag = attributes[:'click_tag']
|
|
256
266
|
end
|
|
257
267
|
|
|
268
|
+
if attributes.key?(:'dm_delay_seconds')
|
|
269
|
+
self.dm_delay_seconds = attributes[:'dm_delay_seconds']
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
if attributes.key?(:'comment_reply_delay_seconds')
|
|
273
|
+
self.comment_reply_delay_seconds = attributes[:'comment_reply_delay_seconds']
|
|
274
|
+
end
|
|
275
|
+
|
|
258
276
|
if attributes.key?(:'is_active')
|
|
259
277
|
self.is_active = attributes[:'is_active']
|
|
260
278
|
end
|
|
@@ -342,6 +360,8 @@ module Zernio
|
|
|
342
360
|
comment_reply_variations == o.comment_reply_variations &&
|
|
343
361
|
link_tracking == o.link_tracking &&
|
|
344
362
|
click_tag == o.click_tag &&
|
|
363
|
+
dm_delay_seconds == o.dm_delay_seconds &&
|
|
364
|
+
comment_reply_delay_seconds == o.comment_reply_delay_seconds &&
|
|
345
365
|
is_active == o.is_active &&
|
|
346
366
|
stats == o.stats &&
|
|
347
367
|
created_at == o.created_at
|
|
@@ -356,7 +376,7 @@ module Zernio
|
|
|
356
376
|
# Calculates hash code according to all attributes.
|
|
357
377
|
# @return [Integer] Hash code
|
|
358
378
|
def hash
|
|
359
|
-
[id, name, platform, trigger, account_id, platform_post_id, post_title, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active, stats, created_at].hash
|
|
379
|
+
[id, name, platform, trigger, account_id, platform_post_id, post_title, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, dm_delay_seconds, comment_reply_delay_seconds, is_active, stats, created_at].hash
|
|
360
380
|
end
|
|
361
381
|
|
|
362
382
|
# Builds the object from hash
|