Class: Teamlab::Mail

Inherits:
Object
  • Object
show all
Defined in:
lib/teamlab/Modules/Mail.rb

Instance Method Summary collapse

Constructor Details

#initializeMail



4
5
6
# File 'lib/teamlab/Modules/Mail.rb', line 4

def initialize
  @request = Teamlab::Request.new('mail')
end

Instance Method Details

#add_tag_to_conversations(tag_id, *conversation_ids) ⇒ Object



206
207
208
# File 'lib/teamlab/Modules/Mail.rb', line 206

def add_tag_to_conversations(tag_id, *conversation_ids)
  @request.put(['conversations', 'tag', tag_id.to_s, 'set'], messages: conversation_ids.flatten)
end

#add_trusted_address(address) ⇒ Object



246
247
248
# File 'lib/teamlab/Modules/Mail.rb', line 246

def add_trusted_address(address)
  @request.post(%w(display_messages addresses), addres: address)
end

#attach_teamlab_document(message_id, file_id, options = {}) ⇒ Object



34
35
36
# File 'lib/teamlab/Modules/Mail.rb', line 34

def attach_teamlab_document(message_id, file_id, options = {})
  @request.post(['messages', message_id.to_s, 'document'], {fileId: file_id}.merge(options))
end

#create_account_by_email(email, password) ⇒ Object



118
119
120
# File 'lib/teamlab/Modules/Mail.rb', line 118

def (email, password)
  @request.post(%w(accounts simple), {email: email, password: password})
end

#create_account_with_custom_mail_service(name, email, account, password, options = {}) ⇒ Object



110
111
112
# File 'lib/teamlab/Modules/Mail.rb', line 110

def (name, email, , password, options = {})
  @request.post(%w(accounts), {name: name, email: email, account: , password: password}.merge(options))
end

#create_oauth_account(email, token, options = {}) ⇒ Object



114
115
116
# File 'lib/teamlab/Modules/Mail.rb', line 114

def (email, token, options = {})
  @request.post(%w(accounts oauth), {email: email, token: token}.merge(options))
end

#create_tag(name, options = {}) ⇒ Object



262
263
264
# File 'lib/teamlab/Modules/Mail.rb', line 262

def create_tag(name, options = {})
  @request.post(%w(tags), {name: name}.merge(options))
end

#delete_account(email) ⇒ Object



134
135
136
# File 'lib/teamlab/Modules/Mail.rb', line 134

def (email)
  @request.delete(['accounts', email.to_s])
end

#delete_alert_by_id(id) ⇒ Object



146
147
148
# File 'lib/teamlab/Modules/Mail.rb', line 146

def delete_alert_by_id(id)
  @request.delete(['alert', id.to_s])
end

#delete_attachment_from_message(message_id, attachment_id) ⇒ Object



74
75
76
# File 'lib/teamlab/Modules/Mail.rb', line 74

def delete_attachment_from_message(message_id, attachment_id)
  @request.delete(['messages', message_id.to_s, 'attachments', attachment_id.to_s])
end

#delete_tag(id) ⇒ Object



278
279
280
# File 'lib/teamlab/Modules/Mail.rb', line 278

def delete_tag(id)
  @request.delete(['tags', id.to_s])
end

#export_all_message_attachments_to_my_docs(message_id) ⇒ Object



70
71
72
# File 'lib/teamlab/Modules/Mail.rb', line 70

def export_all_message_attachments_to_my_docs(message_id)
  @request.put(%w(attachments mydocuments export), messageId: message_id)
end

#export_attachments_to_my_docs(attachment_id) ⇒ Object



66
67
68
# File 'lib/teamlab/Modules/Mail.rb', line 66

def export_attachments_to_my_docs(attachment_id)
  @request.put(%w(attachment mydocuments export), attachmentId: attachment_id)
end

#export_mail_to_crm_relations_history(message_id, *crm_contact_ids) ⇒ Object



62
63
64
# File 'lib/teamlab/Modules/Mail.rb', line 62

def export_mail_to_crm_relations_history(message_id, *crm_contact_ids)
  @request.put(%w(messages crm export), messageId: message_id, crmContactIds: crm_contact_ids.flatten)
end

#generate_custom_guidObject

region GUID



234
235
236
# File 'lib/teamlab/Modules/Mail.rb', line 234

def generate_custom_guid
  @request.get(%w(random_guid))
end

#get_account_by_email(email) ⇒ Object



102
103
104
# File 'lib/teamlab/Modules/Mail.rb', line 102

def (email)
  @request.get(['accounts', email.to_s])
end

#get_account_listObject

region Accounts



98
99
100
# File 'lib/teamlab/Modules/Mail.rb', line 98

def 
  @request.get(%w(accounts))
end

#get_alerts_listObject

region Alerts



142
143
144
# File 'lib/teamlab/Modules/Mail.rb', line 142

def get_alerts_list
  @request.get('alert')
end

#get_contact_list_for_auto_complete(term) ⇒ Object

region Contacts



154
155
156
# File 'lib/teamlab/Modules/Mail.rb', line 154

def get_contact_list_for_auto_complete(term)
  @request.get(%w(contacts), term: term)
end

#get_crm_linked_entities(message_id) ⇒ Object



158
159
160
# File 'lib/teamlab/Modules/Mail.rb', line 158

def get_crm_linked_entities(message_id)
  @request.get(%w(crm linked entities), messageId: message_id)
end

#get_default_account_settings(email, options = {}) ⇒ Object



106
107
108
# File 'lib/teamlab/Modules/Mail.rb', line 106

def (email, options = {})
  @request.get(['accounts', email.to_s, 'default'], options)
end

#get_filtered_conversations(options = {}) ⇒ Object

region Conversations



166
167
168
# File 'lib/teamlab/Modules/Mail.rb', line 166

def get_filtered_conversations(options = {})
  @request.get(%w(conversations), options)
end

#get_filtered_messages(page, options = {}) ⇒ Object

region Messages



10
11
12
# File 'lib/teamlab/Modules/Mail.rb', line 10

def get_filtered_messages(page, options = {})
  @request.get(%w(messages), {page: page}.merge(options))
end

#get_folder_change_date(folder_id) ⇒ Object



222
223
224
# File 'lib/teamlab/Modules/Mail.rb', line 222

def get_folder_change_date(folder_id)
  @request.get(['folders', folder_id.to_s, 'modify_date'])
end

#get_folders(options = {}) ⇒ Object

region Folders



218
219
220
# File 'lib/teamlab/Modules/Mail.rb', line 218

def get_folders(options = {})
  @request.get(%w(folders), options)
end

#get_html_of_help_centerObject

region HelpCenter



82
83
84
# File 'lib/teamlab/Modules/Mail.rb', line 82

def get_html_of_help_center
  @request.get(%w(helpcenter))
end

#get_meail_signature(mailbox_id) ⇒ Object

endregion



88
89
90
# File 'lib/teamlab/Modules/Mail.rb', line 88

def get_meail_signature(mailbox_id)
  @request.get(['signature', mailbox_id.to_s])
end

#get_message(id, options = {}) ⇒ Object



14
15
16
# File 'lib/teamlab/Modules/Mail.rb', line 14

def get_message(id, options = {})
  @request.get(['messages', id.to_s], options)
end

#get_message_modify_dateObject



22
23
24
# File 'lib/teamlab/Modules/Mail.rb', line 22

def get_message_modify_date
  @request.get(%w(messages modify_date))
end

#get_message_templateObject



18
19
20
# File 'lib/teamlab/Modules/Mail.rb', line 18

def get_message_template
  @request.get(%w(messages template))
end

#get_messages_linked_into_one_chain(message_id, load_all_content) ⇒ Object



170
171
172
# File 'lib/teamlab/Modules/Mail.rb', line 170

def get_messages_linked_into_one_chain(message_id, load_all_content)
  @request.get(['conversation', message_id.to_s], loadAllContent: load_all_content)
end

#get_previous_or_next_conversation_id(id, direction, options = {}) ⇒ Object



174
175
176
# File 'lib/teamlab/Modules/Mail.rb', line 174

def get_previous_or_next_conversation_id(id, direction, options = {})
  @request.get(['conversation', id.to_s, direction.to_s], options)
end

#get_previous_or_next_message_id(id, direction, options = {}) ⇒ Object



26
27
28
# File 'lib/teamlab/Modules/Mail.rb', line 26

def get_previous_or_next_message_id(id, direction, options = {})
  @request.get(['messages', id.to_s, direction.to_s], options)
end

#get_tag_listObject

region Tags



258
259
260
# File 'lib/teamlab/Modules/Mail.rb', line 258

def get_tag_list
  @request.get(%w(tags))
end

#get_trusted_addressesObject

region IMAGES



242
243
244
# File 'lib/teamlab/Modules/Mail.rb', line 242

def get_trusted_addresses
  @request.get(%w(display_messages addresses))
end

#is_chain_crm_linked_by_message(message_id) ⇒ Object



178
179
180
# File 'lib/teamlab/Modules/Mail.rb', line 178

def is_chain_crm_linked_by_message(message_id)
  @request.get(%w(conversations link crm status), messageId: message_id)
end

#mark_conversation_as_crm_linked(message_id, *crm_contact_ids) ⇒ Object



198
199
200
# File 'lib/teamlab/Modules/Mail.rb', line 198

def mark_conversation_as_crm_linked(message_id, *crm_contact_ids)
  @request.put(%w(conversations crm mark), messageId: message_id, crmContactIds: crm_contact_ids.flatten)
end

#move_conversations_to_folder(folder_id, *message_ids) ⇒ Object



182
183
184
# File 'lib/teamlab/Modules/Mail.rb', line 182

def move_conversations_to_folder(folder_id, *message_ids)
  @request.put(%w(conversations move), folderId: folder_id, ids: message_ids.flatten)
end

#move_messages_to_folder(folder_id, *message_ids) ⇒ Object



42
43
44
# File 'lib/teamlab/Modules/Mail.rb', line 42

def move_messages_to_folder(folder_id, *message_ids)
  @request.put(%w(,essages move), folderId: folder_id, ids: message_ids.flatten)
end

#remove_all_messages_from_folder(folder_id) ⇒ Object



226
227
228
# File 'lib/teamlab/Modules/Mail.rb', line 226

def remove_all_messages_from_folder(folder_id)
  @request.get(['folders', folder_id.to_s, 'messages'])
end

#remove_conversations(*ids) ⇒ Object



190
191
192
# File 'lib/teamlab/Modules/Mail.rb', line 190

def remove_conversations(*ids)
  @request.put(%w(conversations remove), ids: ids.flatten)
end

#remove_from_trusted_addresses(address) ⇒ Object



250
251
252
# File 'lib/teamlab/Modules/Mail.rb', line 250

def remove_from_trusted_addresses(address)
  @request.delete(%w(display_messages addresses), addres: address)
end

#remove_messages(*ids) ⇒ Object



54
55
56
# File 'lib/teamlab/Modules/Mail.rb', line 54

def remove_messages(*ids)
  @request.put(%w(messages remove), ids: ids.flatten)
end

#remove_tag_from_conversations(tag_id, *conversation_ids) ⇒ Object



210
211
212
# File 'lib/teamlab/Modules/Mail.rb', line 210

def remove_tag_from_conversations(tag_id, *conversation_ids)
  @request.put(['conversations', 'tag', tag_id.to_s, 'unset'], messages: conversation_ids.flatten)
end

#remove_tag_from_messages(id, *message_ids) ⇒ Object



274
275
276
# File 'lib/teamlab/Modules/Mail.rb', line 274

def remove_tag_from_messages(id, *message_ids)
  @request.put(['tags', id.to_s, 'remove'], messages: message_ids.flatten)
end

#restore_conversations_to_folders(*ids) ⇒ Object



194
195
196
# File 'lib/teamlab/Modules/Mail.rb', line 194

def restore_conversations_to_folders(*ids)
  @request.put(%w(conversations restore), ids: ids.flatten)
end

#restore_message_to_foldersObject



58
59
60
# File 'lib/teamlab/Modules/Mail.rb', line 58

def restore_message_to_folders
  @request.put(%w(messages restore))
end

#save_message(id, options = {}) ⇒ Object



50
51
52
# File 'lib/teamlab/Modules/Mail.rb', line 50

def save_message(id, options = {})
  @request.put(%w(messages save), {id: id}.merge(options))
end

#send_message(id, options = {}) ⇒ Object



46
47
48
# File 'lib/teamlab/Modules/Mail.rb', line 46

def send_message(id, options = {})
  @request.put(%w(messages send), {id: id}.merge(options))
end

#set_account_state(email, state) ⇒ Object



126
127
128
# File 'lib/teamlab/Modules/Mail.rb', line 126

def (email, state)
  @request.put(['accounts', email.to_s, 'state'], state: state)
end

#set_account_state_by_mailbox(mailbox_id, email_in_folder) ⇒ Object



130
131
132
# File 'lib/teamlab/Modules/Mail.rb', line 130

def (mailbox_id, email_in_folder)
  @request.put(['accounts', mailbox_id.to_s, 'emailinfolder'], emailInFolder: email_in_folder)
end

#set_conversations_status(status, *ids) ⇒ Object



186
187
188
# File 'lib/teamlab/Modules/Mail.rb', line 186

def set_conversations_status(status, *ids)
  @request.put(%w(conversations mark), status: status, ids: ids.flatten)
end

#set_message_crm_status(emails, *user_ids) ⇒ Object



30
31
32
# File 'lib/teamlab/Modules/Mail.rb', line 30

def set_message_crm_status(emails, *user_ids)
  @request.post(%w(messages update_crm), {emails: emails, userIds: user_ids.flatten})
end

#set_message_status(status, *ids) ⇒ Object



38
39
40
# File 'lib/teamlab/Modules/Mail.rb', line 38

def set_message_status(status, *ids)
  @request.put(%w(messages mark), {status: status, ids: ids.flatten})
end

#set_tag_to_messages(id, *message_ids) ⇒ Object



270
271
272
# File 'lib/teamlab/Modules/Mail.rb', line 270

def set_tag_to_messages(id, *message_ids)
  @request.put(['tags', id.to_s, 'set'], messages: message_ids.flatten)
end


202
203
204
# File 'lib/teamlab/Modules/Mail.rb', line 202

def unmark_conversation_link_with_crm(message_id, *crm_contact_ids)
  @request.put(%w(conversations crm unmark), messageId: message_id, crmContactIds: crm_contact_ids.flatten)
end

#update_account(name, email, password, options = {}) ⇒ Object



122
123
124
# File 'lib/teamlab/Modules/Mail.rb', line 122

def (name, email, password, options = {})
  @request.put(%w(accounts), {name: name, email: email, password: password}.merge(options))
end

#update_signature(mailbox_id, html, options = {}) ⇒ Object



92
93
94
# File 'lib/teamlab/Modules/Mail.rb', line 92

def update_signature(mailbox_id, html, options = {})
  @request.post(['signature', 'update', mailbox_id.to_s], {html: html}.merge(options))
end

#update_tag(id, name, options = {}) ⇒ Object



266
267
268
# File 'lib/teamlab/Modules/Mail.rb', line 266

def update_tag(id, name, options = {})
  @request.put(['tags', id.to_s], {name: name}.merge(options))
end