Class: Mailtrap::ContactImportsAPI

Inherits:
Object
  • Object
show all
Includes:
BaseAPI
Defined in:
lib/mailtrap/contact_imports_api.rb

Instance Attribute Summary

Attributes included from BaseAPI

#account_id, #client

Instance Method Summary collapse

Methods included from BaseAPI

included, #initialize

Instance Method Details

#create(contacts) ⇒ ContactImport Also known as: start

Create contacts import

Examples:

Using Mailtrap::ContactsImportRequest

import_request = Mailtrap::ContactsImportRequest.new.tap do |req|
  req.upsert(email: '[email protected]', fields: { first_name: 'Jane' })
    .add_to_lists(email: '[email protected]', list_ids: [1])
    .remove_from_lists(email: '[email protected]', list_ids: [2])
  req.upsert(email: '[email protected]', fields: { first_name: 'John' })
    .add_to_lists(email: '[email protected]', list_ids: [1])
    .remove_from_lists(email: '[email protected]', list_ids: [2])
end
contact_imports.create(import_request)

Using plain hash

contact_imports.create([
  {email: '[email protected]', fields: { first_name: 'John' }, list_ids_included: [1], list_ids_excluded: [2]},
  {email: '[email protected]', fields: { first_name: 'Jane' }, list_ids_included: [1], list_ids_excluded: [2]}
])

Parameters:

Returns:

Raises:



46
47
48
49
50
51
52
# File 'lib/mailtrap/contact_imports_api.rb', line 46

def create(contacts)
  contact_data = contacts.to_a.each do |contact|
    validate_options!(contact, supported_options)
  end
  response = client.post(base_path, contacts: contact_data)
  handle_response(response)
end

#get(import_id) ⇒ ContactImport

Retrieves a specific contact import

Parameters:

  • import_id (Integer)

    The contact import identifier

Returns:

Raises:



18
19
20
# File 'lib/mailtrap/contact_imports_api.rb', line 18

def get(import_id)
  base_get(import_id)
end