emarsys 0.3.12 → 0.3.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/README.md +3 -0
- data/lib/emarsys/data_objects/contact.rb +18 -6
- data/lib/emarsys/data_objects/contact_list.rb +11 -1
- data/lib/emarsys/version.rb +1 -1
- data/spec/emarsys/data_objects/contact_spec.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 438c871d801d4782d2e87ed2fc095847b5323a64
|
4
|
+
data.tar.gz: 9d01a343ecb897f827d3b0e543fb08382e73d540
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1b1ae69f75b6d77168dee74a56166942266084119f7ba169b3eecf7726bfdd6ef1d4e810195b014bcf3564d6a97f3e1bb1e254638abf0545d54f9ee4e0d7844
|
7
|
+
data.tar.gz: f846c1d9637cf3050fca1b249df4023f1ea6e2f766cec60eb3c46f8ddb9b53b41c91ca47df081d9fa2f4f0f6384c52152b8d11402c5859808d879da38b5cea52
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v0.3.13
|
4
|
+
|
5
|
+
* Add method to delete ContactList by ID ([#63](https://github.com/Absolventa/emarsys-rb/pull/63))
|
6
|
+
* Use correct endpoint in ContactList.remove_contacts ([#62](https://github.com/Absolventa/emarsys-rb/pull/62))
|
7
|
+
* Improved Contact.query method ([#61](https://github.com/Absolventa/emarsys-rb/pull/61))
|
8
|
+
|
9
|
+
## v0.3.12
|
10
|
+
|
11
|
+
* Documentation update for Segments (change to README only)
|
12
|
+
|
13
|
+
## v0.3.11
|
14
|
+
|
15
|
+
* Add support for Segments API ([#58](https://github.com/Absolventa/emarsys-rb/pull/58))
|
16
|
+
|
3
17
|
## v0.3.10
|
4
18
|
|
5
19
|
* Fix 'Invalid Password' error ([#55](https://github.com/Absolventa/emarsys-rb/pull/55))
|
data/README.md
CHANGED
@@ -121,15 +121,27 @@ module Emarsys
|
|
121
121
|
|
122
122
|
# Query contacts by custom
|
123
123
|
#
|
124
|
-
# @param key_id [Integer, String] The key used to query
|
125
|
-
# @param key_value [String] Value of internal id field
|
126
124
|
# @param return_value [Integer, String] Value of internal id field
|
125
|
+
# @param account [String] The account to use
|
126
|
+
# @param opts [Mixed] Further symbols to pass down to the request
|
127
127
|
# @return [Hash] result data
|
128
128
|
# @example
|
129
|
-
#
|
130
|
-
#
|
131
|
-
|
132
|
-
|
129
|
+
# # Get all emails from the emarsys account
|
130
|
+
# Emarsys::Contact.query(return_value: 'email')
|
131
|
+
# # Get the ID of the account with a specific email
|
132
|
+
# Emarsys::Contact.query(key_id: '_email', key_value: 'john.doe@example.com', return_value: 'email')
|
133
|
+
# Emarsys::Contact.query(key_id: 3, key_value: 'jane.doe@example.com', return_value: 'email')
|
134
|
+
def query(return_value:, account: nil, **opts)
|
135
|
+
if opts.key?(:key_id) && opts.key?(:key_value)
|
136
|
+
id, value = [opts.delete(:key_id), opts.delete(:key_value)]
|
137
|
+
opts["#{transform_key_id(id).to_s}"] = value
|
138
|
+
end
|
139
|
+
|
140
|
+
opts = opts.each_with_object({}) do |(key, val), memo|
|
141
|
+
memo[key.to_s] = val
|
142
|
+
end
|
143
|
+
|
144
|
+
get account, 'contact/query', opts.merge('return' => return_value)
|
133
145
|
end
|
134
146
|
|
135
147
|
# Exports the selected fields of contacts whoch registered in the specified time range
|
@@ -29,6 +29,16 @@ module Emarsys
|
|
29
29
|
post account, "contactlist", params
|
30
30
|
end
|
31
31
|
|
32
|
+
# Delete a contact list
|
33
|
+
#
|
34
|
+
# @param id [Integer] Internal contact list id
|
35
|
+
|
36
|
+
# @example
|
37
|
+
# Emarsys::ContactList.delete(751283429)
|
38
|
+
def delete(id, account: nil)
|
39
|
+
post account, "contactlist/#{id}/deletelist", {}
|
40
|
+
end
|
41
|
+
|
32
42
|
# Add a contacts to a specific contact list
|
33
43
|
#
|
34
44
|
# This cannot be an instance method, because the API does not allow to retrieve a single resource. How crappy is that?
|
@@ -40,7 +50,7 @@ module Emarsys
|
|
40
50
|
#
|
41
51
|
# This cannot be an instance method, because the API does not allow to retrieve a single resource. How crappy is that?
|
42
52
|
def remove_contacts(id, key_id:, external_ids: [], account: nil)
|
43
|
-
post account, "contactlist/#{id}/
|
53
|
+
post account, "contactlist/#{id}/delete", {'key_id' => key_id, 'external_ids' => external_ids}
|
44
54
|
end
|
45
55
|
|
46
56
|
end
|
data/lib/emarsys/version.rb
CHANGED
@@ -102,6 +102,18 @@ describe Emarsys::Contact do
|
|
102
102
|
Emarsys::Contact.query(key_id: 3, key_value: 'jane.doe@example.com', return_value: 'email')
|
103
103
|
expect(stub).to have_been_requested.once
|
104
104
|
end
|
105
|
+
|
106
|
+
it "transforms the key_id correctly to its id" do
|
107
|
+
stub = stub_request(:get, "https://api.emarsys.net/api/v2/contact/query/?3=jane.doe@example.com&return=email").to_return(standard_return_body)
|
108
|
+
Emarsys::Contact.query(key_id: '_email', key_value: 'jane.doe@example.com', return_value: 'email')
|
109
|
+
expect(stub).to have_been_requested.once
|
110
|
+
end
|
111
|
+
|
112
|
+
it "allows to get all contacts" do
|
113
|
+
stub = stub_request(:get, "https://api.emarsys.net/api/v2/contact/query/?return=email").to_return(standard_return_body)
|
114
|
+
Emarsys::Contact.query(return_value: 'email')
|
115
|
+
expect(stub).to have_been_requested.once
|
116
|
+
end
|
105
117
|
end
|
106
118
|
|
107
119
|
describe ".export_registrations" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emarsys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Schoppmann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|