class Sendgrid::API::Newsletter::Emails::Services
Public Instance Methods
Add one or more emails to a Recipient List.
@see sendgrid.com/docs/API_Reference/Marketing_Emails_API/emails.html#-add @param list [String, Entities::List] A list name or Entities::List
object. @param emails [Array<Entities::Email>] A list of emails to be added. Limited to a 1000 entries maximum. @return [Entities::ResponseInsert] An Entities::ResponseInsert
object.
# File lib/sendgrid/api/newsletter/emails.rb, line 25 def add(list, emails) params = { :list => extract_listname(list), :data => map_emails(emails, :to_json) } perform_request(Entities::ResponseInsert, 'newsletter/lists/email/add.json', params) end
Remove one or more emails from a Recipient List.
@see sendgrid.com/docs/API_Reference/Marketing_Emails_API/emails.html#-delete @param list [String, Entities::List] A list name or Entities::List
object. @param emails [Entities::Email, Array<Entities::Email>] An email or list of emails to be removed. @return [Entities::ResponseRemove] An Entities::ResponseRemove
object.
# File lib/sendgrid/api/newsletter/emails.rb, line 48 def delete(list, emails) params = { :list => extract_listname(list), :email => map_emails(emails, :email) } perform_request(Entities::ResponseRemove, 'newsletter/lists/email/delete.json', params) end
Get the email addresses and associated fields for a Recipient List.
@see sendgrid.com/docs/API_Reference/Marketing_Emails_API/emails.html#-get @param list [String, Entities::List] A list name or Entities::List
object. @param emails [Entities::Email, Array<Entities::Email>] An email or list of emails to be searched and retrieved. Optional. @return [Array<Entities::Email>] An array of Entities::Email
object.
# File lib/sendgrid/api/newsletter/emails.rb, line 36 def get(list, emails = nil) params = { :list => extract_listname(list) } params[:email] = map_emails(emails, :email) if emails perform_request(Entities::Email, 'newsletter/lists/email/get.json', params) end
Private Instance Methods
Return a mapping from an email method name.
@param emails [Entities::Email, Array<Entities::Email>] An email or list of emails. @param to [Symbol] The email method name to be mapped. @return [Array] An array of the mapping.
# File lib/sendgrid/api/newsletter/emails.rb, line 60 def map_emails(emails, to) emails = [emails] unless emails.is_a?(Array) emails.map(&to) end