late-sdk 0.0.685 → 0.0.687
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/MessagesApi.md +2 -2
- data/docs/UpdateCommentAutomationRequest.md +4 -0
- data/docs/WebhookEventsApi.md +1 -1
- data/lib/zernio-sdk/api/comment_automations_api.rb +1 -1
- data/lib/zernio-sdk/api/messages_api.rb +4 -4
- data/lib/zernio-sdk/api/webhook_events_api.rb +2 -2
- 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/models/webhook_payload_reaction.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_reaction_reaction_sender.rb +1 -1
- data/lib/zernio-sdk/version.rb +1 -1
- data/openapi.yaml +46 -12
- data/spec/api/messages_api_spec.rb +2 -2
- 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.687.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: 0b5d60d2c910e77cb19e82c172c9fc21bafee71e7f6268c41550ee778980d58f
|
|
4
|
+
data.tar.gz: 848a89b56eb0d9a62a427eedd2891c728f73082334e94640c4fc25035219aae6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 57e06d7b96abc064adc8a77de7563e199bbda2702c9f773a2cdfa2a49e32abdb55277a3ad7ea1d573d039fe818b67f52cdd656966c563dd9eb579e2cb62d3222
|
|
7
|
+
data.tar.gz: d1a77a5c346a727af127194277f1585636def8a4c30f4d3bbf1aba82162b2a639af547850475543c9aa702c143bf8637a0d3b495e4a26978c8ee662a4b7f0154
|
|
@@ -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
|
data/docs/MessagesApi.md
CHANGED
|
@@ -26,7 +26,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
26
26
|
|
|
27
27
|
Add reaction
|
|
28
28
|
|
|
29
|
-
Add an emoji reaction to a message. Platform support: - Telegram: Supports a subset of Unicode emoji reactions - WhatsApp: Supports any standard emoji (one reaction per message per sender) - All others: Returns 400 (not supported)
|
|
29
|
+
Add an emoji reaction to a message. Platform support: - Telegram: Supports a subset of Unicode emoji reactions - WhatsApp: Supports any standard emoji (one reaction per message per sender) - Instagram and Facebook Messenger: Any standard emoji, subject to Meta's 24h messaging window - Slack: The emoji must have a Slack name (e.g. `:thumbsup:`); unnamed characters return 400 - All others: Returns 400 (not supported)
|
|
30
30
|
|
|
31
31
|
### Examples
|
|
32
32
|
|
|
@@ -618,7 +618,7 @@ end
|
|
|
618
618
|
|
|
619
619
|
Remove reaction
|
|
620
620
|
|
|
621
|
-
Remove a reaction from a message. Platform support: - Telegram: Send empty reaction array to clear - WhatsApp: Send empty emoji to remove - All others: Returns 400 (not supported)
|
|
621
|
+
Remove a reaction from a message. Platform support: - Telegram: Send empty reaction array to clear - WhatsApp: Send empty emoji to remove - Instagram and Facebook Messenger: Sends Meta's `unreact` action; the emoji does not need to be repeated - Slack: Removes the reaction we previously sent on that message - All others: Returns 400 (not supported)
|
|
622
622
|
|
|
623
623
|
### Examples
|
|
624
624
|
|
|
@@ -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
|
data/docs/WebhookEventsApi.md
CHANGED
|
@@ -2167,7 +2167,7 @@ nil (empty response body)
|
|
|
2167
2167
|
|
|
2168
2168
|
Reaction received event
|
|
2169
2169
|
|
|
2170
|
-
Fired when a participant adds or removes an emoji reaction on a message. Supported on WhatsApp and
|
|
2170
|
+
Fired when a participant adds or removes an emoji reaction on a message. Supported on WhatsApp, Telegram, Slack, Instagram and Facebook Messenger. Distinct from message.received so a reaction (e.g. a thumbs-up) is not mistaken for an inbound message. The `reaction.action` field is `added` or `removed`. On WhatsApp and Meta removals the platform does not report which emoji was removed, so `reaction.emoji` may be an empty string. Instagram and Facebook accounts connected before reactions shipped only emit this event after their webhook subscription is refreshed; reconnect the account if reactions never arrive. Requires the Inbox add-on.
|
|
2171
2171
|
|
|
2172
2172
|
### Examples
|
|
2173
2173
|
|
|
@@ -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
|
|
@@ -20,7 +20,7 @@ module Zernio
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Add reaction
|
|
23
|
-
# Add an emoji reaction to a message. Platform support: - Telegram: Supports a subset of Unicode emoji reactions - WhatsApp: Supports any standard emoji (one reaction per message per sender) - All others: Returns 400 (not supported)
|
|
23
|
+
# Add an emoji reaction to a message. Platform support: - Telegram: Supports a subset of Unicode emoji reactions - WhatsApp: Supports any standard emoji (one reaction per message per sender) - Instagram and Facebook Messenger: Any standard emoji, subject to Meta's 24h messaging window - Slack: The emoji must have a Slack name (e.g. `:thumbsup:`); unnamed characters return 400 - All others: Returns 400 (not supported)
|
|
24
24
|
# @param conversation_id [String] The conversation ID
|
|
25
25
|
# @param message_id [String] The platform message ID to react to
|
|
26
26
|
# @param add_message_reaction_request [AddMessageReactionRequest]
|
|
@@ -32,7 +32,7 @@ module Zernio
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
# Add reaction
|
|
35
|
-
# Add an emoji reaction to a message. Platform support: - Telegram: Supports a subset of Unicode emoji reactions - WhatsApp: Supports any standard emoji (one reaction per message per sender) - All others: Returns 400 (not supported)
|
|
35
|
+
# Add an emoji reaction to a message. Platform support: - Telegram: Supports a subset of Unicode emoji reactions - WhatsApp: Supports any standard emoji (one reaction per message per sender) - Instagram and Facebook Messenger: Any standard emoji, subject to Meta's 24h messaging window - Slack: The emoji must have a Slack name (e.g. `:thumbsup:`); unnamed characters return 400 - All others: Returns 400 (not supported)
|
|
36
36
|
# @param conversation_id [String] The conversation ID
|
|
37
37
|
# @param message_id [String] The platform message ID to react to
|
|
38
38
|
# @param add_message_reaction_request [AddMessageReactionRequest]
|
|
@@ -657,7 +657,7 @@ module Zernio
|
|
|
657
657
|
end
|
|
658
658
|
|
|
659
659
|
# Remove reaction
|
|
660
|
-
# Remove a reaction from a message. Platform support: - Telegram: Send empty reaction array to clear - WhatsApp: Send empty emoji to remove - All others: Returns 400 (not supported)
|
|
660
|
+
# Remove a reaction from a message. Platform support: - Telegram: Send empty reaction array to clear - WhatsApp: Send empty emoji to remove - Instagram and Facebook Messenger: Sends Meta's `unreact` action; the emoji does not need to be repeated - Slack: Removes the reaction we previously sent on that message - All others: Returns 400 (not supported)
|
|
661
661
|
# @param conversation_id [String] The conversation ID
|
|
662
662
|
# @param message_id [String] The platform message ID
|
|
663
663
|
# @param account_id [String] Social account ID
|
|
@@ -669,7 +669,7 @@ module Zernio
|
|
|
669
669
|
end
|
|
670
670
|
|
|
671
671
|
# Remove reaction
|
|
672
|
-
# Remove a reaction from a message. Platform support: - Telegram: Send empty reaction array to clear - WhatsApp: Send empty emoji to remove - All others: Returns 400 (not supported)
|
|
672
|
+
# Remove a reaction from a message. Platform support: - Telegram: Send empty reaction array to clear - WhatsApp: Send empty emoji to remove - Instagram and Facebook Messenger: Sends Meta's `unreact` action; the emoji does not need to be repeated - Slack: Removes the reaction we previously sent on that message - All others: Returns 400 (not supported)
|
|
673
673
|
# @param conversation_id [String] The conversation ID
|
|
674
674
|
# @param message_id [String] The platform message ID
|
|
675
675
|
# @param account_id [String] Social account ID
|
|
@@ -2066,7 +2066,7 @@ module Zernio
|
|
|
2066
2066
|
end
|
|
2067
2067
|
|
|
2068
2068
|
# Reaction received event
|
|
2069
|
-
# Fired when a participant adds or removes an emoji reaction on a message. Supported on WhatsApp and
|
|
2069
|
+
# Fired when a participant adds or removes an emoji reaction on a message. Supported on WhatsApp, Telegram, Slack, Instagram and Facebook Messenger. Distinct from message.received so a reaction (e.g. a thumbs-up) is not mistaken for an inbound message. The `reaction.action` field is `added` or `removed`. On WhatsApp and Meta removals the platform does not report which emoji was removed, so `reaction.emoji` may be an empty string. Instagram and Facebook accounts connected before reactions shipped only emit this event after their webhook subscription is refreshed; reconnect the account if reactions never arrive. Requires the Inbox add-on.
|
|
2070
2070
|
# @param webhook_payload_reaction [WebhookPayloadReaction]
|
|
2071
2071
|
# @param [Hash] opts the optional parameters
|
|
2072
2072
|
# @return [nil]
|
|
@@ -2076,7 +2076,7 @@ module Zernio
|
|
|
2076
2076
|
end
|
|
2077
2077
|
|
|
2078
2078
|
# Reaction received event
|
|
2079
|
-
# Fired when a participant adds or removes an emoji reaction on a message. Supported on WhatsApp and
|
|
2079
|
+
# Fired when a participant adds or removes an emoji reaction on a message. Supported on WhatsApp, Telegram, Slack, Instagram and Facebook Messenger. Distinct from message.received so a reaction (e.g. a thumbs-up) is not mistaken for an inbound message. The `reaction.action` field is `added` or `removed`. On WhatsApp and Meta removals the platform does not report which emoji was removed, so `reaction.emoji` may be an empty string. Instagram and Facebook accounts connected before reactions shipped only emit this event after their webhook subscription is refreshed; reconnect the account if reactions never arrive. Requires the Inbox add-on.
|
|
2080
2080
|
# @param webhook_payload_reaction [WebhookPayloadReaction]
|
|
2081
2081
|
# @param [Hash] opts the optional parameters
|
|
2082
2082
|
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
|
@@ -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
|