drip-ruby 0.0.12 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +17 -0
- data/.rubocop_todo.yml +134 -0
- data/README.md +107 -13
- data/Rakefile +1 -1
- data/drip-ruby.gemspec +2 -2
- data/lib/drip/client.rb +23 -7
- data/lib/drip/client/accounts.rb +10 -0
- data/lib/drip/client/broadcasts.rb +29 -0
- data/lib/drip/client/campaign_subscriptions.rb +15 -0
- data/lib/drip/client/campaigns.rb +54 -0
- data/lib/drip/client/conversions.rb +27 -0
- data/lib/drip/client/custom_fields.rb +13 -0
- data/lib/drip/client/events.rb +13 -0
- data/lib/drip/client/forms.rb +23 -0
- data/lib/drip/client/purchases.rb +1 -1
- data/lib/drip/client/subscribers.rb +28 -6
- data/lib/drip/client/webhooks.rb +59 -0
- data/lib/drip/client/workflow_triggers.rb +44 -0
- data/lib/drip/client/workflows.rb +80 -0
- data/lib/drip/collections.rb +17 -5
- data/lib/drip/collections/broadcasts.rb +13 -0
- data/lib/drip/collections/campaign_subscriptions.rb +13 -0
- data/lib/drip/collections/campaigns.rb +13 -0
- data/lib/drip/collections/webhooks.rb +13 -0
- data/lib/drip/collections/workflow_triggers.rb +13 -0
- data/lib/drip/collections/workflows.rb +13 -0
- data/lib/drip/resources.rb +17 -5
- data/lib/drip/resources/broadcast.rb +9 -0
- data/lib/drip/resources/campaign.rb +9 -0
- data/lib/drip/resources/campaign_subscription.rb +9 -0
- data/lib/drip/resources/webhook.rb +9 -0
- data/lib/drip/resources/workflow.rb +9 -0
- data/lib/drip/resources/workflow_trigger.rb +9 -0
- data/lib/drip/response.rb +1 -1
- data/lib/drip/version.rb +1 -1
- data/test/drip/client/accounts_test.rb +17 -0
- data/test/drip/client/broadcasts_test.rb +47 -0
- data/test/drip/client/campaign_subscriptions_test.rb +31 -0
- data/test/drip/client/campaigns_test.rb +68 -0
- data/test/drip/client/conversions_test.rb +47 -0
- data/test/drip/client/custom_fields_test.rb +30 -0
- data/test/drip/client/events_test.rb +21 -5
- data/test/drip/client/forms_test.rb +47 -0
- data/test/drip/client/purchases_test.rb +0 -1
- data/test/drip/client/subscribers_test.rb +52 -9
- data/test/drip/client/webhooks_test.rb +91 -0
- data/test/drip/client/workflow_triggers_test.rb +85 -0
- data/test/drip/client/workflows_test.rb +122 -0
- data/test/drip/collection_test.rb +1 -1
- data/test/drip/collections_test.rb +8 -1
- data/test/drip/resources_test.rb +8 -1
- data/test/drip/response_test.rb +2 -2
- data/test/test_helper.rb +1 -1
- metadata +40 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5aafc1c74dbc6f3b1394f304f7d1b9ceb3fe829d
|
4
|
+
data.tar.gz: 9a83f650a30e9c127c1a594fcbbd6964af009966
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a36ee1b8ac89b1fb63663e49d383acc3a3d15ff22e6bccf3afe5a5ab6cf17d4c76b5ae5369fe8a44383317d1db63fbda43432e1ad9c41c37ad3569bd9377a58
|
7
|
+
data.tar.gz: 64d97aea9e8937326694c91e34abbd8825890dc31476e0efc22403fef440b9569edf4a5b0ddd3b211e32a3e859290aaa4269acd29698c4d8da380cea578c0ffd
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
Exclude:
|
5
|
+
- 'test/fixtures/**/*'
|
6
|
+
|
7
|
+
Layout/AlignParameters:
|
8
|
+
EnforcedStyle: with_fixed_indentation
|
9
|
+
|
10
|
+
Layout/ClosingParenthesisIndentation:
|
11
|
+
Enabled: false
|
12
|
+
|
13
|
+
Layout/DotPosition:
|
14
|
+
EnforcedStyle: trailing
|
15
|
+
|
16
|
+
Style/BracesAroundHashParameters:
|
17
|
+
Enabled: false
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2017-12-22 12:38:29 -0600 using RuboCop version 0.49.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 2
|
10
|
+
# Cop supports --auto-correct.
|
11
|
+
# Configuration parameters: SupportedStyles, IndentationWidth.
|
12
|
+
# SupportedStyles: outdent, indent
|
13
|
+
Layout/AccessModifierIndentation:
|
14
|
+
EnforcedStyle: outdent
|
15
|
+
|
16
|
+
# Offense count: 1
|
17
|
+
# Cop supports --auto-correct.
|
18
|
+
Layout/ElseAlignment:
|
19
|
+
Exclude:
|
20
|
+
- 'lib/drip/response.rb'
|
21
|
+
|
22
|
+
# Offense count: 1
|
23
|
+
# Cop supports --auto-correct.
|
24
|
+
Layout/EmptyLineAfterMagicComment:
|
25
|
+
Exclude:
|
26
|
+
- 'drip-ruby.gemspec'
|
27
|
+
|
28
|
+
# Offense count: 2
|
29
|
+
# Cop supports --auto-correct.
|
30
|
+
# Configuration parameters: SupportedStyles, IndentationWidth.
|
31
|
+
# SupportedStyles: special_inside_parentheses, consistent, align_braces
|
32
|
+
Layout/IndentHash:
|
33
|
+
EnforcedStyle: consistent
|
34
|
+
|
35
|
+
# Offense count: 1
|
36
|
+
# Cop supports --auto-correct.
|
37
|
+
# Configuration parameters: Width, IgnoredPatterns.
|
38
|
+
Layout/IndentationWidth:
|
39
|
+
Exclude:
|
40
|
+
- 'lib/drip/response.rb'
|
41
|
+
|
42
|
+
# Offense count: 1
|
43
|
+
# Cop supports --auto-correct.
|
44
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
45
|
+
# SupportedStyles: aligned, indented, indented_relative_to_receiver
|
46
|
+
Layout/MultilineMethodCallIndentation:
|
47
|
+
Exclude:
|
48
|
+
- 'lib/drip/collection.rb'
|
49
|
+
|
50
|
+
# Offense count: 1
|
51
|
+
# Cop supports --auto-correct.
|
52
|
+
# Configuration parameters: EnforcedStyleAlignWith, SupportedStylesAlignWith, AutoCorrect.
|
53
|
+
# SupportedStylesAlignWith: keyword, variable, start_of_line
|
54
|
+
Lint/EndAlignment:
|
55
|
+
Exclude:
|
56
|
+
- 'lib/drip/response.rb'
|
57
|
+
|
58
|
+
# Offense count: 1
|
59
|
+
Lint/ScriptPermission:
|
60
|
+
Exclude:
|
61
|
+
- 'Rakefile'
|
62
|
+
|
63
|
+
# Offense count: 1
|
64
|
+
# Cop supports --auto-correct.
|
65
|
+
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
|
66
|
+
Lint/UnusedBlockArgument:
|
67
|
+
Exclude:
|
68
|
+
- 'lib/drip/response.rb'
|
69
|
+
|
70
|
+
# Offense count: 2
|
71
|
+
# Cop supports --auto-correct.
|
72
|
+
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
|
73
|
+
Lint/UnusedMethodArgument:
|
74
|
+
Exclude:
|
75
|
+
- 'lib/drip/client.rb'
|
76
|
+
- 'lib/drip/collection.rb'
|
77
|
+
|
78
|
+
# Offense count: 7
|
79
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
80
|
+
Metrics/BlockLength:
|
81
|
+
Max: 48
|
82
|
+
|
83
|
+
# Offense count: 2
|
84
|
+
# Configuration parameters: CountComments.
|
85
|
+
Metrics/ClassLength:
|
86
|
+
Max: 189
|
87
|
+
|
88
|
+
# Offense count: 78
|
89
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
90
|
+
# URISchemes: http, https
|
91
|
+
Metrics/LineLength:
|
92
|
+
Max: 108
|
93
|
+
|
94
|
+
# Offense count: 4
|
95
|
+
# Configuration parameters: CountComments.
|
96
|
+
Metrics/MethodLength:
|
97
|
+
Max: 16
|
98
|
+
|
99
|
+
# Offense count: 22
|
100
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
101
|
+
# SupportedStyles: nested, compact
|
102
|
+
Style/ClassAndModuleChildren:
|
103
|
+
Enabled: false
|
104
|
+
|
105
|
+
# Offense count: 42
|
106
|
+
Style/Documentation:
|
107
|
+
Enabled: false
|
108
|
+
|
109
|
+
# Offense count: 2
|
110
|
+
Style/MethodMissing:
|
111
|
+
Exclude:
|
112
|
+
- 'lib/drip/resource.rb'
|
113
|
+
- 'lib/drip/response.rb'
|
114
|
+
|
115
|
+
# Offense count: 9
|
116
|
+
# Cop supports --auto-correct.
|
117
|
+
# Configuration parameters: Strict.
|
118
|
+
Style/NumericLiterals:
|
119
|
+
MinDigits: 8
|
120
|
+
|
121
|
+
# Offense count: 494
|
122
|
+
# Cop supports --auto-correct.
|
123
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, ConsistentQuotesInMultiline.
|
124
|
+
# SupportedStyles: single_quotes, double_quotes
|
125
|
+
Style/StringLiterals:
|
126
|
+
Enabled: false
|
127
|
+
|
128
|
+
# Offense count: 1
|
129
|
+
# Cop supports --auto-correct.
|
130
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
131
|
+
# SupportedStyles: single_quotes, double_quotes
|
132
|
+
Style/StringLiteralsInInterpolation:
|
133
|
+
Exclude:
|
134
|
+
- 'test/drip/client_test.rb'
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@ A Ruby toolkit for the [Drip](https://www.getdrip.com/) API.
|
|
4
4
|
|
5
5
|
[![Build Status](https://travis-ci.org/DripEmail/drip-ruby.svg?branch=master)](https://travis-ci.org/DripEmail/drip-ruby)
|
6
6
|
[![Code Climate](https://codeclimate.com/github/DripEmail/drip-ruby/badges/gpa.svg)](https://codeclimate.com/github/DripEmail/drip-ruby)
|
7
|
-
|
7
|
+
[![Gem Version](https://badge.fury.io/rb/drip-ruby.svg)](https://badge.fury.io/rb/drip-ruby)
|
8
8
|
|
9
9
|
|
10
10
|
## Installation
|
@@ -61,30 +61,124 @@ the "list accounts" endpoint.
|
|
61
61
|
Since the Drip client is a flat API client, most API actions are available
|
62
62
|
as methods on the client object. The following methods are currently available:
|
63
63
|
|
64
|
-
|
64
|
+
#### Accounts
|
65
|
+
|
66
|
+
| Actions | Methods |
|
65
67
|
| :------------------------- | :--------------------------------------------------- |
|
66
68
|
| List accounts | `#accounts` |
|
69
|
+
| Fetch an account | `#account(id)` |
|
70
|
+
|
71
|
+
#### Broadcasts
|
72
|
+
|
73
|
+
| Actions | Methods |
|
74
|
+
| :------------------------- | :--------------------------------------------------- |
|
75
|
+
| List broadcasts | `#broadcasts` |
|
76
|
+
| Fetch a broadcast | `#broadcast(id)` |
|
77
|
+
|
78
|
+
#### Campaigns
|
79
|
+
|
80
|
+
| Actions | Methods |
|
81
|
+
| :------------------------- | :--------------------------------------------------- |
|
82
|
+
| List campaigns | `#campaigns(options = {})` |
|
83
|
+
| Fetch a campaign | `#campaign(id)` |
|
84
|
+
| Activate a campaign | `#activate_campaign(id)` |
|
85
|
+
| Pause a campaign | `#pause_campaign(id)` |
|
86
|
+
| List campaign subscribers | `#campaign_subscribers(id)` |
|
87
|
+
| Subscribe to a campaign | See the `#subscribe` method on "Subscribers" below |
|
88
|
+
|
89
|
+
#### Campaign Subscriptions
|
90
|
+
|
91
|
+
| Actions | Methods |
|
92
|
+
| :------------------------- | :--------------------------------------------------- |
|
93
|
+
| List subscriber subscriptions | `#campaign_subscriptions(subscriber_id)` |
|
94
|
+
|
95
|
+
#### Conversions
|
96
|
+
|
97
|
+
| Actions | Methods |
|
98
|
+
| :------------------------- | :--------------------------------------------------- |
|
99
|
+
| List all conversions | `#conversions(options = {})` |
|
100
|
+
| Fetch a conversion | `#conversion(id)` |
|
101
|
+
|
102
|
+
#### Custom Fields
|
103
|
+
|
104
|
+
| Actions | Methods |
|
105
|
+
| :------------------------- | :--------------------------------------------------- |
|
106
|
+
| List all custom fields | `#custom_fields` |
|
107
|
+
|
108
|
+
#### Events
|
109
|
+
|
110
|
+
| Actions | Methods |
|
111
|
+
| :------------------------- | :--------------------------------------------------- |
|
112
|
+
| Track an event | `#track_event(email, action, properties = {})` |
|
113
|
+
| Track a batch of events | `#track_events(events)` |
|
114
|
+
| List all custom event actions | `#event_actions` |
|
115
|
+
|
116
|
+
#### Forms
|
117
|
+
|
118
|
+
| Actions | Methods |
|
119
|
+
| :------------------------- | :--------------------------------------------------- |
|
120
|
+
| List all forms | `#forms` |
|
121
|
+
| Fetch a form | `#form(id)` |
|
122
|
+
|
123
|
+
#### Purchases
|
124
|
+
|
125
|
+
| Actions | Methods |
|
126
|
+
| :------------------------- | :--------------------------------------------------- |
|
127
|
+
| List purchases for a subscriber | `#purchases(email)` |
|
128
|
+
| Create a purchase | `#create_purchase(email, amount, options = {})` |
|
129
|
+
| Fetch a purchase | `#purchase(email, id)` |
|
130
|
+
|
131
|
+
#### Subscribers
|
132
|
+
|
133
|
+
| Actions | Methods |
|
134
|
+
| :------------------------- | :--------------------------------------------------- |
|
67
135
|
| List subscribers | `#subscribers(options = {})` |
|
68
136
|
| Create/update a subscriber | `#create_or_update_subscriber(email, options = {})` |
|
69
137
|
| Create/update a batch of subscribers | `#create_or_update_subscribers(subscribers)` |
|
138
|
+
| Unsubscribe a batch of subscribers | `#unsubscribe_subscribers(subscribers)` |
|
70
139
|
| Fetch a subscriber | `#subscriber(id_or_email)` |
|
140
|
+
| Delete | `#delete_subscriber(id_or_email)` |
|
71
141
|
| Subscribe to a campaign | `#subscribe(email, campaign_id, options = {})` |
|
142
|
+
| Unsubscribe from all mailings | `#unsubscribe_from_all(id_or_email)` |
|
72
143
|
| Unsubscribe | `#unsubscribe(id_or_email, options = {})` |
|
73
|
-
|
144
|
+
|
145
|
+
#### Tags
|
146
|
+
|
147
|
+
| Actions | Methods |
|
148
|
+
| :------------------------- | :--------------------------------------------------- |
|
74
149
|
| List tags | `#tags` |
|
75
150
|
| Apply a tag | `#apply_tag(email, tag)` |
|
76
151
|
| Remove a tag | `#remove_tag(email, tag)` |
|
77
|
-
| Track an event | `#track_event(email, action, properties = {})` |
|
78
|
-
| Track a batch of events | `#track_events(events)` |
|
79
|
-
| List campaigns | `#campaigns` |
|
80
|
-
| Create a purchase | `#create_purchase(email, amount, options = {})` |
|
81
|
-
| List purchases for a subscriber | `#purchases(email)` |
|
82
|
-
| Fetch a purchase | `#purchase(email, id)` |
|
83
152
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
153
|
+
#### Webhooks
|
154
|
+
|
155
|
+
| Actions | Methods |
|
156
|
+
| :------------------------- | :--------------------------------------------------- |
|
157
|
+
| List webhooks | `#webhooks` |
|
158
|
+
| Fetch a webhook | `#webhook(id)` |
|
159
|
+
| Create a new webhook | `#create_webhook(post_url, include_received_email, events)` |
|
160
|
+
| Delete a webhook | `#delete_webhook(id)` |
|
161
|
+
|
162
|
+
#### Workflows
|
163
|
+
|
164
|
+
| Actions | Methods |
|
165
|
+
| :------------------------- | :--------------------------------------------------- |
|
166
|
+
| List workflows | `#workflows` |
|
167
|
+
| Fetch a workflow | `#workflow(id)` |
|
168
|
+
| Activate a workflow | `#activate_workflow(id)` |
|
169
|
+
| Pause a workflow | `#pause_workflow(id)` |
|
170
|
+
| Start a subscriber on a workflow | `#start_subscriber_workflow(id, options = {})` |
|
171
|
+
| Remove a subscriber from a workflow | `#remove_subscriber_workflow(workflow_id, id_or_email)` |
|
172
|
+
|
173
|
+
#### Workflow Triggers
|
174
|
+
|
175
|
+
| Actions | Methods |
|
176
|
+
| :------------------------- | :--------------------------------------------------- |
|
177
|
+
| List workflow triggers | `#workflow_triggers(id)` |
|
178
|
+
| Create a workflow trigger | `#create_workflow_trigger(id, options = {})` |
|
179
|
+
| Update a workflow trigger | `#update_workflow_trigger(id, options = {}` |
|
180
|
+
|
181
|
+
[See the official REST API docs](https://www.getdrip.com/docs/rest-api) for a complete API reference and explanations.
|
88
182
|
|
89
183
|
## Use Cases
|
90
184
|
|
data/Rakefile
CHANGED
data/drip-ruby.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Drip::VERSION
|
9
9
|
spec.authors = ["Derrick Reimer"]
|
10
10
|
spec.email = ["derrickreimer@gmail.com"]
|
11
|
-
spec.summary =
|
12
|
-
spec.description =
|
11
|
+
spec.summary = 'A Ruby gem for interacting with the Drip API'
|
12
|
+
spec.description = 'A simple wrapper for the Drip API'
|
13
13
|
spec.homepage = "http://github.com/DripEmail/drip-ruby"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
data/lib/drip/client.rb
CHANGED
@@ -1,10 +1,18 @@
|
|
1
1
|
require "drip/response"
|
2
2
|
require "drip/client/accounts"
|
3
|
-
require "drip/client/
|
4
|
-
require "drip/client/tags"
|
5
|
-
require "drip/client/events"
|
3
|
+
require "drip/client/broadcasts"
|
6
4
|
require "drip/client/campaigns"
|
5
|
+
require "drip/client/campaign_subscriptions"
|
6
|
+
require "drip/client/conversions"
|
7
|
+
require "drip/client/custom_fields"
|
8
|
+
require "drip/client/events"
|
9
|
+
require "drip/client/forms"
|
7
10
|
require "drip/client/purchases"
|
11
|
+
require "drip/client/subscribers"
|
12
|
+
require "drip/client/tags"
|
13
|
+
require "drip/client/webhooks"
|
14
|
+
require "drip/client/workflows"
|
15
|
+
require "drip/client/workflow_triggers"
|
8
16
|
require "faraday"
|
9
17
|
require "faraday_middleware"
|
10
18
|
require "json"
|
@@ -12,11 +20,19 @@ require "json"
|
|
12
20
|
module Drip
|
13
21
|
class Client
|
14
22
|
include Accounts
|
15
|
-
include
|
16
|
-
include Tags
|
17
|
-
include Events
|
23
|
+
include Broadcasts
|
18
24
|
include Campaigns
|
25
|
+
include CampaignSubscriptions
|
26
|
+
include Conversions
|
27
|
+
include CustomFields
|
28
|
+
include Events
|
29
|
+
include Forms
|
19
30
|
include Purchases
|
31
|
+
include Subscribers
|
32
|
+
include Tags
|
33
|
+
include Webhooks
|
34
|
+
include Workflows
|
35
|
+
include WorkflowTriggers
|
20
36
|
|
21
37
|
attr_accessor :access_token, :api_key, :account_id
|
22
38
|
|
@@ -83,7 +99,7 @@ module Drip
|
|
83
99
|
f.basic_auth api_key, ""
|
84
100
|
end
|
85
101
|
|
86
|
-
f.response :json, :
|
102
|
+
f.response :json, content_type: /\bjson$/
|
87
103
|
f.adapter :net_http
|
88
104
|
end
|
89
105
|
end
|
data/lib/drip/client/accounts.rb
CHANGED
@@ -8,6 +8,16 @@ module Drip
|
|
8
8
|
def accounts
|
9
9
|
get "accounts"
|
10
10
|
end
|
11
|
+
|
12
|
+
# Public: Fetch an account.
|
13
|
+
#
|
14
|
+
# id - Required. The String id of the account.
|
15
|
+
#
|
16
|
+
# Returns a Drip::Response.
|
17
|
+
# See https://www.getdrip.com/docs/rest-api#accounts
|
18
|
+
def account(id)
|
19
|
+
get "accounts/#{id}"
|
20
|
+
end
|
11
21
|
end
|
12
22
|
end
|
13
23
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Drip
|
2
|
+
class Client
|
3
|
+
module Broadcasts
|
4
|
+
# Public: Fetch all broadcasts to which the authenticated user has access
|
5
|
+
#
|
6
|
+
# options - A Hash of options.
|
7
|
+
# - status - Optional. Filter by one of the following statuses:
|
8
|
+
# draft, or scheduled, or sent. Defaults to all.
|
9
|
+
# - sort - Optional. Sort results by one of these fields:
|
10
|
+
# `send_at`, `name`. Default sorting is `created_at`
|
11
|
+
#
|
12
|
+
# Returns a Drip::Response
|
13
|
+
# See https://www.getdrip.com/docs/rest-api#broadcasts
|
14
|
+
def broadcasts(options = {})
|
15
|
+
get "#{account_id}/broadcasts", options
|
16
|
+
end
|
17
|
+
|
18
|
+
# Public: Fetch a broadcast.
|
19
|
+
#
|
20
|
+
# id - Required. The String id of the broadcast.
|
21
|
+
#
|
22
|
+
# Returns a Drip::Response.
|
23
|
+
# See https://www.getdrip.com/docs/rest-api#broadcasts
|
24
|
+
def broadcast(id)
|
25
|
+
get "#{account_id}/broadcasts/#{id}"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Drip
|
2
|
+
class Client
|
3
|
+
module CampaignSubscriptions
|
4
|
+
# Public: List all of a subscriber's campaign subscriptions
|
5
|
+
#
|
6
|
+
# subscriber_id - Required. The String subscriber id of the subscriber
|
7
|
+
#
|
8
|
+
# Returns a Drip::Response.
|
9
|
+
# See https://www.getdrip.com/docs.rest-api#campaign_subscriptions
|
10
|
+
def campaign_subscriptions(subscriber_id)
|
11
|
+
get "#{account_id}/subscribers/#{subscriber_id}/campaign_subscriptions"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|