Sha256: 0032a70ce70d29b873d502695b471b785e2f4da354a9b96a589a9fe03299ffbd
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
# frozen_string_literal: true module LoopsSdk class Contacts < Base class << self def create(email:, properties: {}, mailing_lists: {}) contact_data = { email: email, mailingLists: mailing_lists }.merge(properties) make_request(:post, "v1/contacts/create", {}, contact_data) end def update(email:, properties: {}, mailing_lists: {}) contact_data = { email: email, mailingLists: mailing_lists }.merge(properties) puts "Contact Data: #{contact_data.inspect}" make_request(:put, "v1/contacts/update", {}, contact_data) end def find(email: nil, user_id: nil) raise ArgumentError, "Only one parameter is permitted." if email && user_id raise ArgumentError, "You must provide an email or user_id value." if email.nil? && user_id.nil? params = email ? { email: email } : { userId: user_id } make_request(:get, "v1/contacts/find", params) end def delete(email: nil, user_id: nil) raise ArgumentError, "Only one parameter is permitted." if email && user_id raise ArgumentError, "You must provide an email or user_id value." if email.nil? && user_id.nil? body = email ? { email: email } : { userId: user_id } make_request(:post, "v1/contacts/delete", {}, body) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
loops_sdk-0.1.2 | lib/loops_sdk/contacts.rb |