mints 0.0.17 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/lib/client.rb +96 -37
  4. data/lib/contact.rb +659 -94
  5. data/lib/generators/mints_files_generator.rb +6 -0
  6. data/lib/generators/mints_link.rb +61 -0
  7. data/lib/generators/short_link_controller.rb +41 -0
  8. data/lib/mints/controllers/admin_base_controller.rb +2 -2
  9. data/lib/mints/controllers/base_api_controller.rb +12 -11
  10. data/lib/mints/controllers/base_controller.rb +38 -9
  11. data/lib/mints_helper.rb +47 -0
  12. data/lib/pub.rb +258 -139
  13. data/lib/user/config/api_keys.rb +65 -0
  14. data/lib/user/config/appointments.rb +221 -0
  15. data/lib/user/config/attribute_groups.rb +77 -0
  16. data/lib/user/config/attributes.rb +86 -0
  17. data/lib/user/config/calendars.rb +89 -0
  18. data/lib/user/config/config.rb +65 -0
  19. data/lib/user/config/importers.rb +184 -0
  20. data/lib/user/config/public_folders.rb +108 -0
  21. data/lib/user/config/relationships.rb +138 -0
  22. data/lib/user/config/roles.rb +84 -0
  23. data/lib/user/config/seeds.rb +14 -0
  24. data/lib/user/config/system_settings.rb +53 -0
  25. data/lib/user/config/tags.rb +63 -0
  26. data/lib/user/config/taxonomies.rb +124 -0
  27. data/lib/user/config/teams.rb +70 -0
  28. data/lib/user/config/users.rb +76 -0
  29. data/lib/user/contacts/contacts.rb +21 -0
  30. data/lib/user/content/assets.rb +260 -0
  31. data/lib/user/content/content.rb +235 -0
  32. data/lib/user/content/content_instances.rb +147 -0
  33. data/lib/user/content/content_templates.rb +111 -0
  34. data/lib/user/content/conversations.rb +174 -0
  35. data/lib/user/content/dam.rb +88 -0
  36. data/lib/user/content/forms.rb +168 -0
  37. data/lib/user/content/message_templates.rb +162 -0
  38. data/lib/user/content/messages.rb +90 -0
  39. data/lib/user/content/pages.rb +81 -0
  40. data/lib/user/content/stories.rb +164 -0
  41. data/lib/user/content/story_templates.rb +95 -0
  42. data/lib/user/crm/companies.rb +111 -0
  43. data/lib/user/crm/contacts.rb +312 -0
  44. data/lib/user/crm/crm.rb +21 -0
  45. data/lib/user/crm/deals.rb +111 -0
  46. data/lib/user/crm/favorites.rb +17 -0
  47. data/lib/user/crm/segments.rb +132 -0
  48. data/lib/user/crm/users.rb +22 -0
  49. data/lib/user/crm/workflow_step_objects.rb +89 -0
  50. data/lib/user/crm/workflow_steps.rb +49 -0
  51. data/lib/user/crm/workflows.rb +70 -0
  52. data/lib/user/ecommerce/ecommerce.rb +29 -0
  53. data/lib/user/ecommerce/item_prices.rb +86 -0
  54. data/lib/user/ecommerce/locations.rb +166 -0
  55. data/lib/user/ecommerce/order_items_groups.rb +109 -0
  56. data/lib/user/ecommerce/order_statuses.rb +26 -0
  57. data/lib/user/ecommerce/orders.rb +258 -0
  58. data/lib/user/ecommerce/price_lists.rb +73 -0
  59. data/lib/user/ecommerce/product_templates.rb +104 -0
  60. data/lib/user/ecommerce/product_variations.rb +129 -0
  61. data/lib/user/ecommerce/products.rb +169 -0
  62. data/lib/user/ecommerce/skus.rb +88 -0
  63. data/lib/user/ecommerce/taxes.rb +82 -0
  64. data/lib/user/ecommerce/variant_options.rb +69 -0
  65. data/lib/user/ecommerce/variant_values.rb +72 -0
  66. data/lib/user/helpers/helpers.rb +113 -0
  67. data/lib/user/helpers/object_activities.rb +83 -0
  68. data/lib/user/helpers/object_folders.rb +82 -0
  69. data/lib/user/helpers/user_folders.rb +83 -0
  70. data/lib/user/marketing/marketing.rb +120 -0
  71. data/lib/user/profile/profile.rb +111 -0
  72. data/lib/user.rb +24 -368
  73. metadata +64 -2
@@ -0,0 +1,164 @@
1
+ module Stories
2
+ ##
3
+ # == Story
4
+ #
5
+
6
+ # === Publish story.
7
+ # Publish a story.
8
+ #
9
+ # ==== Parameters
10
+ # id:: (Integer) -- Story id.
11
+ # data:: (Hash) -- Data to be submited.
12
+ #
13
+ # ==== Example
14
+ # data = {
15
+ # "scheduled_at": "2021-09-06T20:29:16+00:00"
16
+ # }
17
+ # @data = @mints_user.publish_story(2, data)
18
+ def publish_story(id, data)
19
+ return @client.raw("put", "/content/stories/#{id}/publish", nil, data_transform(data))
20
+ end
21
+
22
+ # === Schedule story.
23
+ # Schedule a story in a specified date.
24
+ #
25
+ # ==== Parameters
26
+ # id:: (Integer) -- Story id.
27
+ # data:: (Hash) -- Data to be submited.
28
+ #
29
+ # ==== Example
30
+ # data = {
31
+ # "scheduled_at": "2021-09-06T20:29:16+00:00"
32
+ # }
33
+ # @data = @mints_user.schedule_story(1, data)
34
+ def schedule_story(id, data)
35
+ return @client.raw("put", "/content/stories/#{id}/schedule", nil, data_transform(data))
36
+ end
37
+
38
+ # === Revert published story.
39
+ # Revert a published story.
40
+ #
41
+ # ==== Parameters
42
+ # id:: (Integer) -- Story id.
43
+ #
44
+ # ==== Example
45
+ # @data = @mints_user.revert_published_story(1)
46
+ def revert_published_story(id)
47
+ return @client.raw("get", "/content/stories/#{id}/revert-published-data")
48
+ end
49
+
50
+ # === Get stories support data.
51
+ # Get support data used in stories.
52
+ #
53
+ # ==== Example
54
+ # @data = @mints_user.get_stories_support_data
55
+ def get_stories_support_data
56
+ return @client.raw("get", "/content/stories/support-data")
57
+ end
58
+
59
+ # === Duplicate story.
60
+ # Duplicate a story.
61
+ #
62
+ # ==== Parameters
63
+ # id:: (Integer) -- Story id.
64
+ # data:: (Hash) -- Data to be submited.
65
+ #
66
+ # ==== Example
67
+ # data = {
68
+ # "options": []
69
+ # }
70
+ # @data = @mints_user.duplicate_story(1, data.to_json)
71
+ def duplicate_story(id, data)
72
+ return @client.raw("post", "/content/stories/#{id}/duplicate", nil, data)
73
+ end
74
+
75
+ # === Get stories.
76
+ # Get a collection of stories.
77
+ #
78
+ # ==== Parameters
79
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
80
+ # use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
81
+ #
82
+ # ==== First Example
83
+ # @data = @mints_user.get_stories
84
+ #
85
+ # ==== Second Example
86
+ # options = {
87
+ # "fields": "id, title"
88
+ # }
89
+ # @data = @mints_user.get_stories(options)
90
+ #
91
+ # ==== Third Example
92
+ # options = {
93
+ # "fields": "id, title"
94
+ # }
95
+ # @data = @mints_user.get_stories(options, true)
96
+ def get_stories(options = nil, use_post = true)
97
+ return get_query_results("/content/stories", options, use_post)
98
+ end
99
+
100
+ # === Get story.
101
+ # Get a story info.
102
+ #
103
+ # ==== Parameters
104
+ # id:: (Integer) -- Story id.
105
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
106
+ #
107
+ # ==== First Example
108
+ # @data = @mints_user.get_story(1)
109
+ #
110
+ # ==== Second Example
111
+ # options = {
112
+ # "fields": "id, title"
113
+ # }
114
+ # @data = @mints_user.get_story(1, options)
115
+ def get_story(id, options = nil)
116
+ return @client.raw("get", "/content/stories/#{id}", options)
117
+ end
118
+
119
+ # === Create story.
120
+ # Create a story with data.
121
+ #
122
+ # ==== Parameters
123
+ # data:: (Hash) -- Data to be submited.
124
+ #
125
+ # ==== Example
126
+ # data = {
127
+ # "title": "New Story",
128
+ # "slug": "new-story",
129
+ # "social_metadata": "social metadata"
130
+ # }
131
+ # @data = @mints_user.create_story(data)
132
+ def create_story(data)
133
+ return @client.raw("post", "/content/stories", nil, data_transform(data))
134
+ end
135
+
136
+ # === Update story.
137
+ # Update a story info.
138
+ #
139
+ # ==== Parameters
140
+ # id:: (Integer) -- Story id.
141
+ # data:: (Hash) -- Data to be submited.
142
+ #
143
+ # ==== Example
144
+ # data = {
145
+ # "title": "New Story Modified",
146
+ # "slug": "new-story"
147
+ # }
148
+ # @data = @mints_user.update_story(5, data)
149
+ def update_story(id, data)
150
+ return @client.raw("put", "/content/stories/#{id}", nil, data_transform(data))
151
+ end
152
+
153
+ # === Delete story.
154
+ # Delete a story.
155
+ #
156
+ # ==== Parameters
157
+ # id:: (Integer) -- Story id.
158
+ #
159
+ # ==== Example
160
+ # @data = @mints_user.delete_story(6)
161
+ def delete_story(id)
162
+ return @client.raw("delete", "/content/stories/#{id}")
163
+ end
164
+ end
@@ -0,0 +1,95 @@
1
+ module StoryTemplates
2
+ ##
3
+ # == Story Template
4
+ #
5
+
6
+ # === Get support data of story template.
7
+ # Get support data used in a story template.
8
+ #
9
+ # ==== Parameters
10
+ # id:: (Integer) -- Story template id.
11
+ #
12
+ # ==== Example
13
+ # @data = @mints_user.get_story_template_support_data(1)
14
+ def get_story_template_support_data(id)
15
+ return @client.raw("get", "/content/story-templates/support-data/stories/#{id}")
16
+ end
17
+
18
+ # === Get support data of story templates.
19
+ # Get support data used in story templates.
20
+ #
21
+ # ==== Example
22
+ # @data = @mints_user.get_story_templates_support_data
23
+ def get_story_templates_support_data
24
+ return @client.raw("get", "/content/story-templates/support-data")
25
+ end
26
+
27
+ # === Get story templates.
28
+ # Get a collection of story templates.
29
+ #
30
+ # ==== Parameters
31
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
32
+ #
33
+ # ==== First Example
34
+ # @data = @mints_user.get_story_templates
35
+ #
36
+ # ==== Second Example
37
+ # options = {
38
+ # "fields": "id, title"
39
+ # }
40
+ # @data = @mints_user.get_story_templates(options)
41
+ def get_story_templates(options = nil)
42
+ return @client.raw("get", "/content/story-templates", options)
43
+ end
44
+
45
+ # === Get story template.
46
+ # Get a story template info.
47
+ #
48
+ # ==== Parameters
49
+ # id:: (Integer) -- Story template id.
50
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
51
+ #
52
+ # ==== First Example
53
+ # @data = @mints_user.get_story_template(2)
54
+ #
55
+ # ==== Second Example
56
+ # options = {
57
+ # "fields": "title"
58
+ # }
59
+ # @data = @mints_user.get_story_template(1, options)
60
+ def get_story_template(id, options = nil)
61
+ return @client.raw("get", "/content/story-templates/#{id}", options)
62
+ end
63
+
64
+ # === Create story template.
65
+ # Create a story template with data.
66
+ #
67
+ # ==== Parameters
68
+ # data:: (Hash) -- Data to be submited.
69
+ #
70
+ # ==== Example
71
+ # data = {
72
+ # "title": "New Story Template",
73
+ # "slug": "new-story-template-slug"
74
+ # }
75
+ # @data = @mints_user.create_story_template(data)
76
+ def create_story_template(data)
77
+ return @client.raw("post", "/content/story-templates", nil, data_transform(data))
78
+ end
79
+
80
+ # === Update story template.
81
+ # Update a story template info.
82
+ #
83
+ # ==== Parameters
84
+ # id:: (Integer) -- Story template id.
85
+ # data:: (Hash) -- Data to be submited.
86
+ #
87
+ # ==== Example
88
+ # data = {
89
+ # "title": "New Story Template Modified"
90
+ # }
91
+ # @data = @mints_user.update_story_template(3, data)
92
+ def update_story_template(id, data)
93
+ return @client.raw("put", "/content/story-templates/#{id}", nil, data_transform(data))
94
+ end
95
+ end
@@ -0,0 +1,111 @@
1
+ module Companies
2
+ ##
3
+ # == Companies
4
+ #
5
+
6
+ ##
7
+ # === Get companies support data.
8
+ # Get support data of companies.
9
+ #
10
+ # ==== Example
11
+ # @data = @mints_user.get_companies_support_data
12
+ def get_companies_support_data
13
+ return @client.raw("get", "/crm/companies/support-data")
14
+ end
15
+
16
+ # === Get companies.
17
+ # Get a collection of companies.
18
+ #
19
+ # ==== Parameters
20
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
21
+ # use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
22
+ #
23
+ # ==== First Example
24
+ # @data = @mints_user.get_companies
25
+ #
26
+ # ==== Second Example
27
+ # options = { "fields": "id, title", "sort": "-id" }
28
+ # @data = @mints_user.get_companies(options)
29
+ #
30
+ # ==== Third Example
31
+ # options = { "fields": "id, title", "sort": "-id" }
32
+ # @data = @mints_user.get_companies(options, false)
33
+ def get_companies(options = nil, use_post = true)
34
+ return get_query_results("/crm/companies", options, use_post)
35
+ end
36
+
37
+ # === Get company.
38
+ # Get a company info.
39
+ #
40
+ # ==== Parameters
41
+ # id:: (Integer) -- Company id.
42
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
43
+ #
44
+ # ==== First Example
45
+ # @data = @mints_user.get_company(21)
46
+ #
47
+ # ==== Second Example
48
+ # options = { "fields": "id, title" }
49
+ # @data = @mints_user.get_company(21, options)
50
+ def get_company(id, options = nil)
51
+ return @client.raw("get", "/crm/companies/#{id}", options)
52
+ end
53
+
54
+ # === Create company.
55
+ # Create a company with data.
56
+ #
57
+ # ==== Parameters
58
+ # data:: (Hash) -- Data to be submited.
59
+ #
60
+ # ==== Example
61
+ # data = {
62
+ # "title": "Company Title",
63
+ # "alias": "Alias",
64
+ # "website": "www.company.example.com",
65
+ # "street1": "Company St",
66
+ # "city": "Company City",
67
+ # "region": "Company Region",
68
+ # "postal_code": "12345",
69
+ # "country_id": 144,
70
+ # "tax_identifier": nil
71
+ # }
72
+ # @data = @mints_user.create_company(data)
73
+ def create_company(data)
74
+ return @client.raw("post", "/crm/companies/", nil, data_transform(data))
75
+ end
76
+
77
+ # === Update company.
78
+ # Update a company info.
79
+ #
80
+ # ==== Parameters
81
+ # id:: (Integer) -- Company id.
82
+ # data:: (Hash) -- Data to be submited.
83
+ #
84
+ # ==== Example
85
+ # data = {
86
+ # "title": "Company Title Modified"
87
+ # }
88
+ # @data = @mints_user.update_company(23, data)
89
+ def update_company(id, data)
90
+ return @client.raw("put", "/crm/companies/#{id}", nil, data_transform(data))
91
+ end
92
+
93
+ ##
94
+ # == Companies Bulk Actions
95
+ #
96
+
97
+ # === Delete Companies.
98
+ # Delete a group of companies.
99
+ #
100
+ # ==== Parameters
101
+ # data:: (Hash) -- Data to be submited.
102
+ #
103
+ # ==== Example
104
+ # data = {
105
+ # "ids": [ 21, 22 ]
106
+ # }
107
+ # @data = @mints_user.delete_companies(data)
108
+ def delete_companies(data)
109
+ return @client.raw("delete", "/crm/companies/delete", nil, data_transform(data))
110
+ end
111
+ end
@@ -0,0 +1,312 @@
1
+ module Contacts
2
+ ##
3
+ # == Contacts
4
+ #
5
+
6
+ ##
7
+ # === Get contacts support data.
8
+ #
9
+ # ==== Example
10
+ # @data = @mints_user.get_contacts_support_data
11
+ def get_contacts_support_data
12
+ return @client.raw("get", "/crm/contacts/support-data")
13
+ end
14
+
15
+ ##
16
+ # === Get online activity.
17
+ # Get online activity of a contact.
18
+ #
19
+ # ==== Parameters
20
+ # id:: (Integer) -- Contact id.
21
+ #
22
+ # ==== Example
23
+ # @data = @mints_user.get_online_activity(5)
24
+ def get_online_activity(id)
25
+ return @client.raw("get", "/crm/contacts/#{id}/online-activity")
26
+ end
27
+
28
+ ##
29
+ # === Get contacts.
30
+ # Get a collection of contacts.
31
+ #
32
+ # ==== Parameters
33
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
34
+ # use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
35
+ #
36
+ # ==== First Example
37
+ # @data = @mints_user.get_contacts
38
+ #
39
+ # ==== Second Example
40
+ # options = {
41
+ # "sort": "id",
42
+ # "fields[contacts]": "id, email"
43
+ # }
44
+ # @data = @mints_user.get_contacts(options)
45
+ #
46
+ # ==== Third Example
47
+ # options = {
48
+ # "sort": "id",
49
+ # "fields[contacts]": "id, email"
50
+ # }
51
+ # @data = @mints_user.get_contacts(options, true)
52
+ def get_contacts(options = nil, use_post = true)
53
+ return get_query_results("/crm/contacts", options, use_post)
54
+ end
55
+
56
+ ##
57
+ # === Get contact.
58
+ # Get a contact data.
59
+ #
60
+ # ==== Parameters
61
+ # id:: (Integer) -- Contact id.
62
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
63
+ #
64
+ # ==== First Example
65
+ # @data = @mints_user.get_contact(5)
66
+ #
67
+ # ==== Second Example
68
+ # options = {
69
+ # "sort": "id",
70
+ # "fields[contacts]": "id, email"
71
+ # }
72
+ # @data = @mints_user.get_contact(5, options)
73
+ def get_contact(id, options = nil)
74
+ return @client.raw("get", "/crm/contacts/#{id}", options)
75
+ end
76
+
77
+ ##
78
+ # === Create contact.
79
+ # Create a contact with data.
80
+ #
81
+ # ==== Parameters
82
+ # data:: (Hash) -- Data to be submited.
83
+ #
84
+ # ==== Example
85
+ # data = {
86
+ # "email": "email@example.com",
87
+ # "given_name": "Given_Name",
88
+ # "last_name": "Last_Name",
89
+ # "password": "123456"
90
+ # }
91
+ # @data = @mints_user.create_contact(data)
92
+ def create_contact(data)
93
+ return @client.raw("post", "/crm/contacts", nil, data_transform(data))
94
+ end
95
+
96
+ ##
97
+ # === Update contact.
98
+ # Update contact data.
99
+ #
100
+ # ==== Parameters
101
+ # id:: (Integer) -- Contact id.
102
+ # data:: (Hash) -- Data to be submited.
103
+ #
104
+ # ==== Example
105
+ # data = {
106
+ # "email": "email_modified@example.com",
107
+ # "company_id": 3
108
+ # }
109
+ # @data = @mints_user.update_contact(65, data)
110
+ def update_contact(id, data)
111
+ return @client.raw("put", "/crm/contacts/#{id}", nil, data_transform(data))
112
+ end
113
+
114
+ ##
115
+ # === Get contact deals.
116
+ # Get a collection of deals of a contact.
117
+ #
118
+ # ==== Parameters
119
+ # contact_id:: (Integer) -- Contact id.
120
+ #
121
+ # ==== Example
122
+ # @data = @mints_user.get_contact_deal(5)
123
+ def get_contact_deal(contact_id)
124
+ return @client.raw("get", "/crm/contacts/#{contact_id}/deals")
125
+ end
126
+
127
+ ##
128
+ # === Create contact deal.
129
+ # Create a contact deal with data.
130
+ #
131
+ # ==== Parameters
132
+ # contact_id:: (Integer) -- Contact id.
133
+ # data:: (Hash) -- Data to be submited.
134
+ #
135
+ # ==== Example
136
+ # data = {
137
+ # "deal_id": 6
138
+ # }
139
+ # @data = @mints_user.create_contact_deal(5, data.to_json)
140
+ def create_contact_deal(contact_id, data)
141
+ return @client.raw("post", "/crm/contacts/#{contact_id}/deals", nil, data)
142
+ end
143
+
144
+ ##
145
+ # === Delete contact deal.
146
+ # Delete a contact deal with data.
147
+ #
148
+ # ==== Parameters
149
+ # contact_id:: (Integer) -- Contact id.
150
+ # deal_id:: (Integer) -- Deal id.
151
+ #
152
+ # ==== Example
153
+ # @data = @mints_user.delete_contact_deal(5, 100)
154
+ def delete_contact_deal(contact_id, deal_id)
155
+ return @client.raw("delete", "/crm/contacts/#{contact_id}/deals/#{deal_id}")
156
+ end
157
+
158
+ ##
159
+ # === Get contact user.
160
+ # Get user data of a contact.
161
+ #
162
+ # ==== Parameters
163
+ # contact_id:: (Integer) -- Contact id.
164
+ #TODO: Replace Resource collection options url
165
+ # options:: (Hash) -- List of Resource Collection Options shown above can be used as parameter.
166
+ #
167
+ # ==== Example
168
+ # @data = @mints_user.get_contact_user(66)
169
+ def get_contact_user(contact_id)
170
+ return @client.raw("get", "/crm/contacts/#{contact_id}/users")
171
+ end
172
+
173
+ ##
174
+ # === Create contact user.
175
+ # Relate a contact with an user.
176
+ #
177
+ # ==== Parameters
178
+ # contact_id:: (Integer) -- Contact id.
179
+ # data:: (Hash) -- Data to be submited.
180
+ #
181
+ # ==== Example
182
+ # data = {
183
+ # "user_id": 9
184
+ # }
185
+ # @data = @mints_user.create_contact_user(66, data.to_json)
186
+ def create_contact_user(contact_id, data)
187
+ return @client.raw("post", "/crm/contacts/#{contact_id}/users", nil, data)
188
+ end
189
+
190
+ ##
191
+ # === Delete contact user.
192
+ # Delete a relationship between a contact and an user.
193
+ #
194
+ # ==== Parameters
195
+ # contact_id:: (Integer) -- Contact id.
196
+ # id:: (Integer) -- User id.
197
+ #
198
+ # ==== Example
199
+ # @data = @mints_user.delete_contact_user(153, 9)
200
+ def delete_contact_user(contact_id, id)
201
+ return @client.raw("delete", "/crm/contacts/#{contact_id}/users/#{id}")
202
+ end
203
+
204
+ ##
205
+ # === Get contact segments.
206
+ # Get segments of a contact.
207
+ #
208
+ # ==== Parameters
209
+ # contact_id:: (Integer) -- Contact id.
210
+ #
211
+ # ==== Example
212
+ # @data = @mints_user.get_contact_segments(1)
213
+ def get_contact_segments(contact_id)
214
+ return @client.raw("get", "/crm/contacts/#{contact_id}/segments")
215
+ end
216
+
217
+ ##
218
+ # === Get contact submissions.
219
+ # Get submissions of a contact.
220
+ #
221
+ # ==== Parameters
222
+ # contact_id:: (Integer) -- Contact id.
223
+ #
224
+ # ==== Example
225
+ # @data = @mints_user.get_contact_submissions(146)
226
+ def get_contact_submissions(contact_id)
227
+ return @client.raw("get", "/crm/contacts/#{contact_id}/submissions")
228
+ end
229
+
230
+ ##
231
+ # === Get contact tags.
232
+ # Get tags of a contact.
233
+ #
234
+ # ==== Parameters
235
+ # contact_id:: (Integer) -- Contact id.
236
+ #
237
+ # ==== Example
238
+ # @data = @mints_user.get_contact_tags(1)
239
+ def get_contact_tags(contact_id)
240
+ return @client.raw("get", "/crm/contacts/#{contact_id}/tags")
241
+ end
242
+
243
+ ##
244
+ # === Get contact magic links.
245
+ # Get magic links of a contact.
246
+ #
247
+ # ==== Parameters
248
+ # contact_id:: (Integer) -- Contact id.
249
+ #
250
+ # ==== Example
251
+ # @data = @mints_user.get_contact_magic_links(150)
252
+ def get_contact_magic_links(contact_id)
253
+ return @client.raw("get", "/crm/contacts/#{contact_id}/magic-links")
254
+ end
255
+
256
+ ##
257
+ # === Create contact merge.
258
+ # Merge contacts.
259
+ #
260
+ # ==== Parameters
261
+ # id:: (Integer) -- Contact id.
262
+ # data:: (Hash) -- Data to be submited. It contains ids to be merged.
263
+ #
264
+ # ==== Example
265
+ # data = {
266
+ # "mergeContactIds": [152]
267
+ # }
268
+ # @data = @mints_user.merge_contacts(151, data)
269
+ def merge_contacts(id, data)
270
+ return @client.raw("post", "/crm/contacts/#{id}/merge", nil, data_transform(data))
271
+ end
272
+
273
+ ##
274
+ # === Send magic links.
275
+ # Send magic links to contacts.
276
+ #
277
+ # ==== Parameters
278
+ # data:: (Hash) -- Data to be submited.
279
+ #
280
+ # ==== Example
281
+ # data = {
282
+ # "contacts": ["email_1@example.com", "email_2@example.com", "email_3@example.com"],
283
+ # "templateId": 2,
284
+ # "redirectUrl": "",
285
+ # "lifeTime": 1440,
286
+ # "maxVisits": 3
287
+ # }
288
+ # @data = @mints_user.send_magic_links(data)
289
+ def send_magic_links(data)
290
+ return @client.raw("post", "/crm/contacts/send-magic-link", nil, data_transform(data))
291
+ end
292
+
293
+ ##
294
+ # == Contacts Bulk Actions
295
+ #
296
+
297
+ ##
298
+ # === Delete contacts.
299
+ # Delete different contacts.
300
+ #
301
+ # ==== Parameters
302
+ # data:: (Hash) -- Data to be submited.
303
+ #
304
+ # ==== Example
305
+ # data = {
306
+ # "ids": [ 67, 68, 69 ]
307
+ # }
308
+ # @data = @mints_user.delete_contacts(data)
309
+ def delete_contacts(data) #TODO: ContactController.delete need a success output
310
+ return @client.raw("delete", "/crm/contacts/delete", nil, data_transform(data))
311
+ end
312
+ end
@@ -0,0 +1,21 @@
1
+ require_relative './companies.rb'
2
+ require_relative './contacts.rb'
3
+ require_relative './deals.rb'
4
+ require_relative './favorites.rb'
5
+ require_relative './segments.rb'
6
+ require_relative './users.rb'
7
+ require_relative './workflow_step_objects.rb'
8
+ require_relative './workflow_steps.rb'
9
+ require_relative './workflows.rb'
10
+
11
+ module CRM
12
+ include Companies
13
+ include Contacts
14
+ include Deals
15
+ include Favorites
16
+ include Segments
17
+ include Users
18
+ include WorkflowStepObjects
19
+ include WorkFlowSteps
20
+ include Workflows
21
+ end