ontraport_api 0.2.2 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -10
- data/lib/ontraport_api/apis/contacts.rb +11 -0
- data/lib/ontraport_api/client.rb +0 -2
- data/lib/ontraport_api/version.rb +1 -1
- metadata +2 -3
- data/lib/ontraport_api/apis/contact_sequences.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50858291d18ca45568187334332eeb3ebae2f273
|
4
|
+
data.tar.gz: 1fd0b967adbda2e007532c8fbcbafb4da5d2aee5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2906f58101d748efcd566ebb6653c08ce99bd4964f3c6a8823305e84d74e34bc1842e82e630b8a6e95002502f350e6f8f8965677e0b2097b31d6ccbbe2d45827
|
7
|
+
data.tar.gz: ac5d3fd413ef37b14720bc0ef651f672ace6323fc8b94b844ede68554cc52d22f2d101602a029b7364e094f8e3ce09b81305ff0ad7ec73d98140723d9be0023b
|
data/README.md
CHANGED
@@ -41,13 +41,15 @@ client.get_contact(id) # Get a Contact's
|
|
41
41
|
client.new_contact(contact_params) # Create new Contact
|
42
42
|
client.update_contact(id, contact_params) # Update Contact Details
|
43
43
|
client.contact_fields(format) # Fetch Contact Meta Fields
|
44
|
-
client.
|
44
|
+
client.add_sequences_to_contact(id, sequence_ids) # Add Sequences (Array / String) to Contact
|
45
|
+
client.add_tags_to_contact(id, tag_ids) # Add Tags (Array / String) to Contact
|
46
|
+
client.add_tags_to_contacts(tag_ids, contacts_criteria) # Add Tags (Array / String) to Selected Contacts
|
45
47
|
client.remove_tags_from_contacts(tag_ids, contacts_criteria) # Remove Tags from Selected Contacts
|
46
48
|
client.get_contacts(search_criteria) # Get List of Contacts based on Search Criteria
|
47
49
|
client.get_contacts_by_<field_name>(value) # Wildcard alias to client.get_contacts("<field_name> = 'value'")
|
48
50
|
```
|
49
51
|
|
50
|
-
### Tags
|
52
|
+
### Tags
|
51
53
|
|
52
54
|
```ruby
|
53
55
|
client.get_tags(conditions) # Get Tags by condition
|
@@ -55,19 +57,13 @@ client.new_tag(tag_name) # Create new Tag with tag_name
|
|
55
57
|
client.get_tags_by_<field_name>(value) # Wildcard alias to client.get_tags("<field_name> = 'value'")
|
56
58
|
```
|
57
59
|
|
58
|
-
### Sequences
|
60
|
+
### Sequences
|
59
61
|
|
60
62
|
```ruby
|
61
63
|
client.get_sequences(conditions) # Get all sequences
|
62
64
|
client.get_sequences_by_<field_name>(value) # Wildcard alias to client.get_sequences("<field_name> = 'value'")
|
63
65
|
```
|
64
66
|
|
65
|
-
### Contact Sequences (experimental)
|
66
|
-
|
67
|
-
```ruby
|
68
|
-
client.add_sequence_to_contact(sequence_drip_id, contact_id) # Add Sequence to Contact
|
69
|
-
```
|
70
|
-
|
71
67
|
See https://api.ontraport.com/doc/ on details of parameters.
|
72
68
|
|
73
69
|
|
@@ -126,7 +122,7 @@ Adding Sequence to Contact:
|
|
126
122
|
|
127
123
|
```ruby
|
128
124
|
sequence = client.get_sequences_by_name('Sales Funnel')
|
129
|
-
result = client.
|
125
|
+
result = client.add_sequences_to_contact(contact['id'], sequence['drip_id'])
|
130
126
|
puts 'Success' if result['error'].nil?
|
131
127
|
```
|
132
128
|
|
@@ -157,6 +153,10 @@ Otherwise, they're missing because I haven't got to them yet. Check the TODO lis
|
|
157
153
|
|
158
154
|
## Release Notes
|
159
155
|
|
156
|
+
#### v0.3.1
|
157
|
+
- Deprecated #add_sequence_to_contact in favour of #add_sequences_to_contact since it did not trigger sequence immediately
|
158
|
+
- Breaks v0.2.2 implementation
|
159
|
+
|
160
160
|
#### v0.2.2
|
161
161
|
- Added generic Object query
|
162
162
|
|
@@ -6,8 +6,10 @@ module OntraportApi
|
|
6
6
|
'get_contact' => [:get, '/object'],
|
7
7
|
'new_contact' => [:post, '/objects'],
|
8
8
|
'update_contact' => [:put, '/objects'],
|
9
|
+
'add_sequences_to_contact' => [:put, '/objects'],
|
9
10
|
'get_contacts' => [:get, '/objects'],
|
10
11
|
'contact_fields' => [:get, '/objects/meta'],
|
12
|
+
'add_tags_to_contact' => [:put, '/objects/tag'],
|
11
13
|
'add_tags_to_contacts' => [:put, '/objects/tag'],
|
12
14
|
'remove_tags_from_contacts' => [:delete, '/objects/tag']
|
13
15
|
}
|
@@ -24,6 +26,15 @@ module OntraportApi
|
|
24
26
|
query_contacts(payload.merge(id: id))
|
25
27
|
end
|
26
28
|
|
29
|
+
def add_sequences_to_contact(id, sequence_ids)
|
30
|
+
sequence_ids = sequence_ids.is_a?(Array) ? sequence_ids.join('*/*') : sequence_ids
|
31
|
+
query_contacts({ id: id, updateSequence: "*/*#{sequence_ids}*/*" })
|
32
|
+
end
|
33
|
+
|
34
|
+
def add_tags_to_contact(id, tag_ids)
|
35
|
+
add_tags_to_contacts(tag_ids, "id = #{id}")
|
36
|
+
end
|
37
|
+
|
27
38
|
def contact_fields(format = {})
|
28
39
|
default_format = { format: 'byId' }
|
29
40
|
format = default_format.merge(format)
|
data/lib/ontraport_api/client.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'httparty'
|
2
2
|
require_relative 'apis/contacts'
|
3
|
-
require_relative 'apis/contact_sequences'
|
4
3
|
require_relative 'apis/forms'
|
5
4
|
require_relative 'apis/messages'
|
6
5
|
require_relative 'apis/objects'
|
@@ -16,7 +15,6 @@ module OntraportApi
|
|
16
15
|
base_uri 'https://api.ontraport.com/1'
|
17
16
|
|
18
17
|
include APIs::Contacts
|
19
|
-
include APIs::ContactSequences
|
20
18
|
include APIs::Products
|
21
19
|
include APIs::Forms
|
22
20
|
include APIs::Messages
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ontraport_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jimmy Ngu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -79,7 +79,6 @@ files:
|
|
79
79
|
- README.md
|
80
80
|
- Rakefile
|
81
81
|
- lib/ontraport_api.rb
|
82
|
-
- lib/ontraport_api/apis/contact_sequences.rb
|
83
82
|
- lib/ontraport_api/apis/contacts.rb
|
84
83
|
- lib/ontraport_api/apis/forms.rb
|
85
84
|
- lib/ontraport_api/apis/messages.rb
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module OntraportApi
|
2
|
-
module APIs
|
3
|
-
module ContactSequences
|
4
|
-
CONTACT_SEQUENCES_OBJECT_ID = 8
|
5
|
-
CONTACT_SEQUENCES_API_METHODS_AND_PATHS = {
|
6
|
-
'add_sequence_to_contact' => [:post, '/objects']
|
7
|
-
}
|
8
|
-
|
9
|
-
def add_sequence_to_contact(sequence_id, contact_id)
|
10
|
-
query_contact_sequences({ drip_id: sequence_id, contact_id: contact_id })
|
11
|
-
end
|
12
|
-
|
13
|
-
def query_contact_sequences(payload)
|
14
|
-
method, path = CONTACT_SEQUENCES_API_METHODS_AND_PATHS[caller[0][/`.*'/][1..-2]]
|
15
|
-
query(method, path, payload.merge({ objectID: CONTACT_SEQUENCES_OBJECT_ID }))
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|