mints 0.0.17 → 0.0.21

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.
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