Class: Teamlab::Mail
- Inherits:
-
Object
- Object
- Teamlab::Mail
- Defined in:
- lib/teamlab/Modules/Mail.rb
Instance Method Summary collapse
- #add_tag_to_conversations(tag_id, *conversation_ids) ⇒ Object
- #add_trusted_address(address) ⇒ Object
- #attach_teamlab_document(message_id, file_id, options = {}) ⇒ Object
- #create_account_by_email(email, password) ⇒ Object
- #create_account_with_custom_mail_service(name, email, account, password, options = {}) ⇒ Object
- #create_oauth_account(email, token, options = {}) ⇒ Object
- #create_tag(name, options = {}) ⇒ Object
- #delete_account(email) ⇒ Object
- #delete_alert_by_id(id) ⇒ Object
- #delete_attachment_from_message(message_id, attachment_id) ⇒ Object
- #delete_tag(id) ⇒ Object
- #export_all_message_attachments_to_my_docs(message_id) ⇒ Object
- #export_attachments_to_my_docs(attachment_id) ⇒ Object
- #export_mail_to_crm_relations_history(message_id, *crm_contact_ids) ⇒ Object
-
#generate_custom_guid ⇒ Object
region GUID.
- #get_account_by_email(email) ⇒ Object
-
#get_account_list ⇒ Object
region Accounts.
-
#get_alerts_list ⇒ Object
region Alerts.
-
#get_contact_list_for_auto_complete(term) ⇒ Object
region Contacts.
- #get_crm_linked_entities(message_id) ⇒ Object
- #get_default_account_settings(email, options = {}) ⇒ Object
-
#get_filtered_conversations(options = {}) ⇒ Object
region Conversations.
-
#get_filtered_messages(page, options = {}) ⇒ Object
region Messages.
- #get_folder_change_date(folder_id) ⇒ Object
-
#get_folders(options = {}) ⇒ Object
region Folders.
-
#get_html_of_help_center ⇒ Object
region HelpCenter.
-
#get_meail_signature(mailbox_id) ⇒ Object
endregion.
- #get_message(id, options = {}) ⇒ Object
- #get_message_modify_date ⇒ Object
- #get_message_template ⇒ Object
- #get_messages_linked_into_one_chain(message_id, load_all_content) ⇒ Object
- #get_previous_or_next_conversation_id(id, direction, options = {}) ⇒ Object
- #get_previous_or_next_message_id(id, direction, options = {}) ⇒ Object
-
#get_tag_list ⇒ Object
region Tags.
-
#get_trusted_addresses ⇒ Object
region IMAGES.
-
#initialize ⇒ Mail
constructor
A new instance of Mail.
- #is_chain_crm_linked_by_message(message_id) ⇒ Object
- #mark_conversation_as_crm_linked(message_id, *crm_contact_ids) ⇒ Object
- #move_conversations_to_folder(folder_id, *message_ids) ⇒ Object
- #move_messages_to_folder(folder_id, *message_ids) ⇒ Object
- #remove_all_messages_from_folder(folder_id) ⇒ Object
- #remove_conversations(*ids) ⇒ Object
- #remove_from_trusted_addresses(address) ⇒ Object
- #remove_messages(*ids) ⇒ Object
- #remove_tag_from_conversations(tag_id, *conversation_ids) ⇒ Object
- #remove_tag_from_messages(id, *message_ids) ⇒ Object
- #restore_conversations_to_folders(*ids) ⇒ Object
- #restore_message_to_folders ⇒ Object
- #save_message(id, options = {}) ⇒ Object
- #send_message(id, options = {}) ⇒ Object
- #set_account_state(email, state) ⇒ Object
- #set_account_state_by_mailbox(mailbox_id, email_in_folder) ⇒ Object
- #set_conversations_status(status, *ids) ⇒ Object
- #set_message_crm_status(emails, *user_ids) ⇒ Object
- #set_message_status(status, *ids) ⇒ Object
- #set_tag_to_messages(id, *message_ids) ⇒ Object
- #unmark_conversation_link_with_crm(message_id, *crm_contact_ids) ⇒ Object
- #update_account(name, email, password, options = {}) ⇒ Object
- #update_signature(mailbox_id, html, options = {}) ⇒ Object
- #update_tag(id, name, options = {}) ⇒ Object
Constructor Details
#initialize ⇒ Mail
Returns a new instance of Mail.
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
208 209 210 |
# File 'lib/teamlab/Modules/Mail.rb', line 208 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
248 249 250 |
# File 'lib/teamlab/Modules/Mail.rb', line 248 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(, file_id, = {}) @request.post(['messages', .to_s, 'document'], {fileId: file_id}.merge()) end |
#create_account_by_email(email, password) ⇒ Object
118 119 120 |
# File 'lib/teamlab/Modules/Mail.rb', line 118 def create_account_by_email(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 create_account_with_custom_mail_service(name, email, account, password, = {}) @request.post(%w(accounts), {name: name, email: email, account: account, password: password}.merge()) end |
#create_oauth_account(email, token, options = {}) ⇒ Object
114 115 116 |
# File 'lib/teamlab/Modules/Mail.rb', line 114 def create_oauth_account(email, token, = {}) @request.post(%w(accounts oauth), {email: email, token: token}.merge()) end |
#create_tag(name, options = {}) ⇒ Object
264 265 266 |
# File 'lib/teamlab/Modules/Mail.rb', line 264 def create_tag(name, = {}) @request.post(%w(tags), {name: name}.merge()) end |
#delete_account(email) ⇒ Object
134 135 136 137 138 |
# File 'lib/teamlab/Modules/Mail.rb', line 134 def delete_account(email) @request.delete(['accounts', email.to_s]) rescue @request.delete(['accounts'], {email: email.to_s}) # for version 8.7 end |
#delete_alert_by_id(id) ⇒ Object
148 149 150 |
# File 'lib/teamlab/Modules/Mail.rb', line 148 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 (, ) @request.delete(['messages', .to_s, 'attachments', .to_s]) end |
#delete_tag(id) ⇒ Object
280 281 282 |
# File 'lib/teamlab/Modules/Mail.rb', line 280 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 () @request.put(%w(attachments mydocuments export), messageId: ) end |
#export_attachments_to_my_docs(attachment_id) ⇒ Object
66 67 68 |
# File 'lib/teamlab/Modules/Mail.rb', line 66 def () @request.put(%w(attachment mydocuments export), attachmentId: ) 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(, *crm_contact_ids) @request.put(%w(messages crm export), messageId: , crmContactIds: crm_contact_ids.flatten) end |
#generate_custom_guid ⇒ Object
region GUID
236 237 238 |
# File 'lib/teamlab/Modules/Mail.rb', line 236 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 get_account_by_email(email) @request.get(['accounts', email.to_s]) end |
#get_account_list ⇒ Object
region Accounts
98 99 100 |
# File 'lib/teamlab/Modules/Mail.rb', line 98 def get_account_list @request.get(%w(accounts)) end |
#get_alerts_list ⇒ Object
region Alerts
144 145 146 |
# File 'lib/teamlab/Modules/Mail.rb', line 144 def get_alerts_list @request.get('alert') end |
#get_contact_list_for_auto_complete(term) ⇒ Object
region Contacts
156 157 158 |
# File 'lib/teamlab/Modules/Mail.rb', line 156 def get_contact_list_for_auto_complete(term) @request.get(%w(contacts), term: term) end |
#get_crm_linked_entities(message_id) ⇒ Object
160 161 162 |
# File 'lib/teamlab/Modules/Mail.rb', line 160 def get_crm_linked_entities() @request.get(%w(crm linked entities), messageId: ) end |
#get_default_account_settings(email, options = {}) ⇒ Object
106 107 108 |
# File 'lib/teamlab/Modules/Mail.rb', line 106 def get_default_account_settings(email, = {}) @request.get(['accounts', email.to_s, 'default'], ) end |
#get_filtered_conversations(options = {}) ⇒ Object
region Conversations
168 169 170 |
# File 'lib/teamlab/Modules/Mail.rb', line 168 def get_filtered_conversations( = {}) @request.get(%w(conversations), ) end |
#get_filtered_messages(page, options = {}) ⇒ Object
region Messages
10 11 12 |
# File 'lib/teamlab/Modules/Mail.rb', line 10 def (page, = {}) @request.get(%w(messages), {page: page}.merge()) end |
#get_folder_change_date(folder_id) ⇒ Object
224 225 226 |
# File 'lib/teamlab/Modules/Mail.rb', line 224 def get_folder_change_date(folder_id) @request.get(['folders', folder_id.to_s, 'modify_date']) end |
#get_folders(options = {}) ⇒ Object
region Folders
220 221 222 |
# File 'lib/teamlab/Modules/Mail.rb', line 220 def get_folders( = {}) @request.get(%w(folders), ) end |
#get_html_of_help_center ⇒ Object
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 (id, = {}) @request.get(['messages', id.to_s], ) end |
#get_message_modify_date ⇒ Object
22 23 24 |
# File 'lib/teamlab/Modules/Mail.rb', line 22 def @request.get(%w(messages modify_date)) end |
#get_message_template ⇒ Object
18 19 20 |
# File 'lib/teamlab/Modules/Mail.rb', line 18 def @request.get(%w(messages template)) end |
#get_messages_linked_into_one_chain(message_id, load_all_content) ⇒ Object
172 173 174 |
# File 'lib/teamlab/Modules/Mail.rb', line 172 def (, load_all_content) @request.get(['conversation', .to_s], loadAllContent: load_all_content) end |
#get_previous_or_next_conversation_id(id, direction, options = {}) ⇒ Object
176 177 178 |
# File 'lib/teamlab/Modules/Mail.rb', line 176 def get_previous_or_next_conversation_id(id, direction, = {}) @request.get(['conversation', id.to_s, direction.to_s], ) end |
#get_previous_or_next_message_id(id, direction, options = {}) ⇒ Object
26 27 28 |
# File 'lib/teamlab/Modules/Mail.rb', line 26 def (id, direction, = {}) @request.get(['messages', id.to_s, direction.to_s], ) end |
#get_tag_list ⇒ Object
region Tags
260 261 262 |
# File 'lib/teamlab/Modules/Mail.rb', line 260 def get_tag_list @request.get(%w(tags)) end |
#get_trusted_addresses ⇒ Object
region IMAGES
244 245 246 |
# File 'lib/teamlab/Modules/Mail.rb', line 244 def get_trusted_addresses @request.get(%w(display_messages addresses)) end |
#is_chain_crm_linked_by_message(message_id) ⇒ Object
180 181 182 |
# File 'lib/teamlab/Modules/Mail.rb', line 180 def () @request.get(%w(conversations link crm status), messageId: ) end |
#mark_conversation_as_crm_linked(message_id, *crm_contact_ids) ⇒ Object
200 201 202 |
# File 'lib/teamlab/Modules/Mail.rb', line 200 def mark_conversation_as_crm_linked(, *crm_contact_ids) @request.put(%w(conversations crm mark), messageId: , crmContactIds: crm_contact_ids.flatten) end |
#move_conversations_to_folder(folder_id, *message_ids) ⇒ Object
184 185 186 |
# File 'lib/teamlab/Modules/Mail.rb', line 184 def move_conversations_to_folder(folder_id, *) @request.put(%w(conversations move), folderId: folder_id, ids: .flatten) end |
#move_messages_to_folder(folder_id, *message_ids) ⇒ Object
42 43 44 |
# File 'lib/teamlab/Modules/Mail.rb', line 42 def (folder_id, *) @request.put(%w(,essages move), folderId: folder_id, ids: .flatten) end |
#remove_all_messages_from_folder(folder_id) ⇒ Object
228 229 230 |
# File 'lib/teamlab/Modules/Mail.rb', line 228 def (folder_id) @request.get(['folders', folder_id.to_s, 'messages']) end |
#remove_conversations(*ids) ⇒ Object
192 193 194 |
# File 'lib/teamlab/Modules/Mail.rb', line 192 def remove_conversations(*ids) @request.put(%w(conversations remove), ids: ids.flatten) end |
#remove_from_trusted_addresses(address) ⇒ Object
252 253 254 |
# File 'lib/teamlab/Modules/Mail.rb', line 252 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 (*ids) @request.put(%w(messages remove), ids: ids.flatten) end |
#remove_tag_from_conversations(tag_id, *conversation_ids) ⇒ Object
212 213 214 |
# File 'lib/teamlab/Modules/Mail.rb', line 212 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
276 277 278 |
# File 'lib/teamlab/Modules/Mail.rb', line 276 def (id, *) @request.put(['tags', id.to_s, 'remove'], messages: .flatten) end |
#restore_conversations_to_folders(*ids) ⇒ Object
196 197 198 |
# File 'lib/teamlab/Modules/Mail.rb', line 196 def restore_conversations_to_folders(*ids) @request.put(%w(conversations restore), ids: ids.flatten) end |
#restore_message_to_folders ⇒ Object
58 59 60 |
# File 'lib/teamlab/Modules/Mail.rb', line 58 def @request.put(%w(messages restore)) end |
#save_message(id, options = {}) ⇒ Object
50 51 52 |
# File 'lib/teamlab/Modules/Mail.rb', line 50 def (id, = {}) @request.put(%w(messages save), {id: id}.merge()) end |
#send_message(id, options = {}) ⇒ Object
46 47 48 |
# File 'lib/teamlab/Modules/Mail.rb', line 46 def (id, = {}) @request.put(%w(messages send), {id: id}.merge()) end |
#set_account_state(email, state) ⇒ Object
126 127 128 |
# File 'lib/teamlab/Modules/Mail.rb', line 126 def set_account_state(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 set_account_state_by_mailbox(mailbox_id, email_in_folder) @request.put(['accounts', mailbox_id.to_s, 'emailinfolder'], emailInFolder: email_in_folder) end |
#set_conversations_status(status, *ids) ⇒ Object
188 189 190 |
# File 'lib/teamlab/Modules/Mail.rb', line 188 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 (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 (status, *ids) @request.put(%w(messages mark), {status: status, ids: ids.flatten}) end |
#set_tag_to_messages(id, *message_ids) ⇒ Object
272 273 274 |
# File 'lib/teamlab/Modules/Mail.rb', line 272 def (id, *) @request.put(['tags', id.to_s, 'set'], messages: .flatten) end |
#unmark_conversation_link_with_crm(message_id, *crm_contact_ids) ⇒ Object
204 205 206 |
# File 'lib/teamlab/Modules/Mail.rb', line 204 def unmark_conversation_link_with_crm(, *crm_contact_ids) @request.put(%w(conversations crm unmark), messageId: , 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 update_account(name, email, password, = {}) @request.put(%w(accounts), {name: name, email: email, password: password}.merge()) 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, = {}) @request.post(['signature', 'update', mailbox_id.to_s], {html: html}.merge()) end |
#update_tag(id, name, options = {}) ⇒ Object
268 269 270 |
# File 'lib/teamlab/Modules/Mail.rb', line 268 def update_tag(id, name, = {}) @request.put(['tags', id.to_s], {name: name}.merge()) end |