Module: Emma::API::Members

Included in:
Client
Defined in:
lib/emma/api/members.rb

Instance Method Summary collapse

Instance Method Details

#add_member(params = {}) ⇒ Object

Adds or updates a single audience member. If you are performing actions on bulk members please use the add_members() call above.



37
38
39
# File 'lib/emma/api/members.rb', line 37

def add_member(params = {})
  post("/members/add", params)
end

#add_member_signup(params = {}) ⇒ Object

Adds member and triggers the opt-out workflow. Use when you want to send a confirmation email.



42
43
44
# File 'lib/emma/api/members.rb', line 42

def (params = {})
  post("/members/signup", params)
end

#add_member_to_groups(id, params) ⇒ Object

Add a single member to one or more groups.



72
73
74
# File 'lib/emma/api/members.rb', line 72

def add_member_to_groups(id, params)
  put("/members/#{id}/groups", params)
end

#add_members(params = {}) ⇒ Object

Add new members or update existing members in bulk. If you are doing actions for a single member please see the add_member() call below.



32
33
34
# File 'lib/emma/api/members.rb', line 32

def add_members(params = {})
  post("/members", params)
end

#change_members_status(params = {}) ⇒ Object

Change the status for an array of members.



52
53
54
# File 'lib/emma/api/members.rb', line 52

def change_members_status(params = {})
  put("/members/status", params)
end

#copy_members_to_group(group_id, params = {}) ⇒ Object

Copy all account members of one or more statuses into a group.



122
123
124
# File 'lib/emma/api/members.rb', line 122

def copy_members_to_group(group_id, params = {})
  put("/members/#{group_id}/copy", params)
end

#delete_importObject

Update an import record to be marked as ‘deleted’.



117
118
119
# File 'lib/emma/api/members.rb', line 117

def delete_import
  delete("/members/imports/delete")
end

#get_mailing_history_for_member(id) ⇒ Object

Get the entire mailing history for a member.



97
98
99
# File 'lib/emma/api/members.rb', line 97

def get_mailing_history_for_member(id)
  get("/members/#{id}/mailings")
end

#get_member_by_email(email, params = {}) ⇒ Object

Get detailed information on a particular member, including all custom fields, by email address instead of ID.



17
18
19
# File 'lib/emma/api/members.rb', line 17

def get_member_by_email(email, params = {})
  get("/members/email/#{email}", params)
end

#get_member_by_id(id, params = {}) ⇒ Object

Get detailed information on a particular member, including all custom fields.



7
8
9
# File 'lib/emma/api/members.rb', line 7

def get_member_by_id(id, params = {})
  get("/members/#{id}", params)
end

#get_members_groups(id) ⇒ Object

Get the groups to which a member belongs.



67
68
69
# File 'lib/emma/api/members.rb', line 67

def get_members_groups(id)
  get("/members/#{id}/groups")
end

#get_optout_member(id) ⇒ Object

If a member has been opted out, returns the details of their optout, specifically date and mailing_id.



22
23
24
# File 'lib/emma/api/members.rb', line 22

def get_optout_member(id)
  get("/members/#{id}/optout")
end

#import_stats(import_id) ⇒ Object

Get information and statistics about this import.



107
108
109
# File 'lib/emma/api/members.rb', line 107

def import_stats(import_id)
  get("/members/imports/#{import_id}")
end

#imported_members(import_id) ⇒ Object

Get a list of members affected by this import.



102
103
104
# File 'lib/emma/api/members.rb', line 102

def imported_members(import_id)
  get("/members/imports/#{import_id}/members")
end

#my_importsObject

Get information about all imports for this account.



112
113
114
# File 'lib/emma/api/members.rb', line 112

def my_imports
  get("/members/imports")
end

#my_members(params = {}) ⇒ Object

Get a basic listing of all members in an account.



12
13
14
# File 'lib/emma/api/members.rb', line 12

def my_members(params = {})
  get("/members", params)
end

#optout(email) ⇒ Object

Update a member’s status to optout keyed on email address instead of an ID.



27
28
29
# File 'lib/emma/api/members.rb', line 27

def optout(email)
  put("/members/email/optout/#{email}")
end

#remove_all_membersObject

Delete all members.



82
83
84
# File 'lib/emma/api/members.rb', line 82

def remove_all_members
  delete("/members")
end

#remove_member(id) ⇒ Object

Delete the specified member.



62
63
64
# File 'lib/emma/api/members.rb', line 62

def remove_member(id)
  delete("/members/#{id}")
end

#remove_member_from_all_groups(id) ⇒ Object

Remove the specified member from all groups.



87
88
89
# File 'lib/emma/api/members.rb', line 87

def remove_member_from_all_groups(id)
  delete("/members/#{id}/groups")
end

#remove_member_from_groups(id, params) ⇒ Object

Remove a single member from one or more groups.



77
78
79
# File 'lib/emma/api/members.rb', line 77

def remove_member_from_groups(id, params)
  put("/members/#{id}/groups/remove", params)
end

#remove_members(params = {}) ⇒ Object

Delete an array of members.



47
48
49
# File 'lib/emma/api/members.rb', line 47

def remove_members(params = {})
  put("/members/delete", params)
end

#remove_multiple_members_from_groups(params = {}) ⇒ Object

Remove multiple members from groups.



92
93
94
# File 'lib/emma/api/members.rb', line 92

def remove_multiple_members_from_groups(params = {})
  put("/members/groups/remove", params)
end

#update_group_members_status(status_from, status_to, group_id = nil) ⇒ Object

Update the status for a group of members, based on their current status. Valid statuses id are (‘a’,’e’, ‘f’, ‘o’) active, error, forwarded, optout.



128
129
130
131
132
# File 'lib/emma/api/members.rb', line 128

def update_group_members_status(status_from, status_to, group_id = nil)
  params = {}
  params[:group_id] = group_id unless group_id.nil?
  put("/members/status/#{status_from}/to/#{status_to}", params)
end

#update_member(id, params = {}) ⇒ Object

Update a single member’s information.



57
58
59
# File 'lib/emma/api/members.rb', line 57

def update_member(id, params = {})
  put("/members/#{id}", params)
end