class Teamlab::Mail

Public Class Methods

new() click to toggle source
# File lib/teamlab/modules/mail.rb, line 3
def initialize
  @request = Teamlab::Request.new('mail')
end

Public Instance Methods

add_tag_to_conversations(tag_id, *conversation_ids) click to toggle source
# File lib/teamlab/modules/mail.rb, line 207
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 247
def add_trusted_address(address)
  @request.post(%w(display_messages addresses), addres: address)
end
attach_teamlab_document(message_id, file_id, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 33
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 117
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 = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 109
def create_account_with_custom_mail_service(name, email, account, password, options = {})
  @request.post(%w(accounts), { name: name, email: email, account: account, password: password }.merge(options))
end
create_oauth_account(email, token, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 113
def create_oauth_account(email, token, options = {})
  @request.post(%w(accounts oauth), { email: email, token: token }.merge(options))
end
create_tag(name, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 263
def create_tag(name, options = {})
  @request.post(%w(tags), { name: name }.merge(options))
end
delete_account(email) click to toggle source
# File lib/teamlab/modules/mail.rb, line 133
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 147
def delete_alert_by_id(id)
  @request.delete(['alert', id.to_s])
end
delete_attachment_from_message(message_id, attachment_id) click to toggle source
# File lib/teamlab/modules/mail.rb, line 73
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 279
def delete_tag(id)
  @request.delete(['tags', id.to_s])
end
export_all_message_attachments_to_my_docs(message_id) click to toggle source
# File lib/teamlab/modules/mail.rb, line 69
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 65
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 61
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_guid() click to toggle source

region GUID

# File lib/teamlab/modules/mail.rb, line 235
def generate_custom_guid
  @request.get(%w(random_guid))
end
get_account_by_email(email) click to toggle source
# File lib/teamlab/modules/mail.rb, line 101
def get_account_by_email(email)
  @request.get(['accounts', email.to_s])
end
get_account_list() click to toggle source

region Accounts

# File lib/teamlab/modules/mail.rb, line 97
def get_account_list
  @request.get(%w(accounts))
end
get_alerts_list() click to toggle source

region Alerts

# File lib/teamlab/modules/mail.rb, line 143
def get_alerts_list
  @request.get('alert')
end
get_contact_list_for_auto_complete(term) click to toggle source

region Contacts

# File lib/teamlab/modules/mail.rb, line 155
def get_contact_list_for_auto_complete(term)
  @request.get(%w(contacts), term: term)
end
get_crm_linked_entities(message_id) click to toggle source
# File lib/teamlab/modules/mail.rb, line 159
def get_crm_linked_entities(message_id)
  @request.get(%w(crm linked entities), messageId: message_id)
end
get_default_account_settings(email, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 105
def get_default_account_settings(email, options = {})
  @request.get(['accounts', email.to_s, 'default'], options)
end
get_filtered_conversations(options = {}) click to toggle source

region Conversations

# File lib/teamlab/modules/mail.rb, line 167
def get_filtered_conversations(options = {})
  @request.get(%w(conversations), options)
end
get_filtered_messages(page, options = {}) click to toggle source

region Messages

# File lib/teamlab/modules/mail.rb, line 9
def get_filtered_messages(page, options = {})
  @request.get(%w(messages), { page: page }.merge(options))
end
get_folder_change_date(folder_id) click to toggle source
# File lib/teamlab/modules/mail.rb, line 223
def get_folder_change_date(folder_id)
  @request.get(['folders', folder_id.to_s, 'modify_date'])
end
get_folders(options = {}) click to toggle source

region Folders

# File lib/teamlab/modules/mail.rb, line 219
def get_folders(options = {})
  @request.get(%w(folders), options)
end
get_html_of_help_center() click to toggle source

region HelpCenter

# File lib/teamlab/modules/mail.rb, line 81
def get_html_of_help_center
  @request.get(%w(helpcenter))
end
get_meail_signature(mailbox_id) click to toggle source

endregion

# File lib/teamlab/modules/mail.rb, line 87
def get_meail_signature(mailbox_id)
  @request.get(['signature', mailbox_id.to_s])
end
get_message(id, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 13
def get_message(id, options = {})
  @request.get(['messages', id.to_s], options)
end
get_message_modify_date() click to toggle source
# File lib/teamlab/modules/mail.rb, line 21
def get_message_modify_date
  @request.get(%w(messages modify_date))
end
get_message_template() click to toggle source
# File lib/teamlab/modules/mail.rb, line 17
def get_message_template
  @request.get(%w(messages template))
end
get_messages_linked_into_one_chain(message_id, load_all_content) click to toggle source
# File lib/teamlab/modules/mail.rb, line 171
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 = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 175
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 = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 25
def get_previous_or_next_message_id(id, direction, options = {})
  @request.get(['messages', id.to_s, direction.to_s], options)
end
get_tag_list() click to toggle source

region Tags

# File lib/teamlab/modules/mail.rb, line 259
def get_tag_list
  @request.get(%w(tags))
end
get_trusted_addresses() click to toggle source

region IMAGES

# File lib/teamlab/modules/mail.rb, line 243
def get_trusted_addresses
  @request.get(%w(display_messages addresses))
end
is_chain_crm_linked_by_message(message_id) click to toggle source
# File lib/teamlab/modules/mail.rb, line 179
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 199
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 183
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 41
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 227
def remove_all_messages_from_folder(folder_id)
  @request.get(['folders', folder_id.to_s, 'messages'])
end
remove_conversations(*ids) click to toggle source
# File lib/teamlab/modules/mail.rb, line 191
def remove_conversations(*ids)
  @request.put(%w(conversations remove), ids: ids.flatten)
end
remove_from_trusted_addresses(address) click to toggle source
# File lib/teamlab/modules/mail.rb, line 251
def remove_from_trusted_addresses(address)
  @request.delete(%w(display_messages addresses), addres: address)
end
remove_messages(*ids) click to toggle source
# File lib/teamlab/modules/mail.rb, line 53
def remove_messages(*ids)
  @request.put(%w(messages remove), ids: ids.flatten)
end
remove_tag_from_conversations(tag_id, *conversation_ids) click to toggle source
# File lib/teamlab/modules/mail.rb, line 211
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 275
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 195
def restore_conversations_to_folders(*ids)
  @request.put(%w(conversations restore), ids: ids.flatten)
end
restore_message_to_folders() click to toggle source
# File lib/teamlab/modules/mail.rb, line 57
def restore_message_to_folders
  @request.put(%w(messages restore))
end
save_message(id, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 49
def save_message(id, options = {})
  @request.put(%w(messages save), { id: id }.merge(options))
end
send_message(id, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 45
def send_message(id, options = {})
  @request.put(%w(messages send), { id: id }.merge(options))
end
set_account_state(email, state) click to toggle source
# File lib/teamlab/modules/mail.rb, line 125
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 129
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 187
def set_conversations_status(status, *ids)
  @request.put(%w(conversations mark), status: status, ids: ids.flatten)
end
set_message_crm_status(emails, *user_ids) click to toggle source
# File lib/teamlab/modules/mail.rb, line 29
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) click to toggle source
# File lib/teamlab/modules/mail.rb, line 37
def set_message_status(status, *ids)
  @request.put(%w(messages mark), status: status, ids: ids.flatten)
end
set_tag_to_messages(id, *message_ids) click to toggle source
# File lib/teamlab/modules/mail.rb, line 271
def set_tag_to_messages(id, *message_ids)
  @request.put(['tags', id.to_s, 'set'], messages: message_ids.flatten)
end
update_account(name, email, password, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 121
def update_account(name, email, password, options = {})
  @request.put(%w(accounts), { name: name, email: email, password: password }.merge(options))
end
update_signature(mailbox_id, html, options = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 91
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 = {}) click to toggle source
# File lib/teamlab/modules/mail.rb, line 267
def update_tag(id, name, options = {})
  @request.put(['tags', id.to_s], { name: name }.merge(options))
end