Class: MetrifoxSDK::Customers::API
- Defined in:
- lib/metrifox_sdk/customers/api.rb
Instance Method Summary collapse
- #bulk_create_request(base_url, api_key, request_payload) ⇒ Object
- #customer_active_subscription_request(base_url, api_key, customer_key) ⇒ Object
- #customer_archive_request(base_url, api_key, customer_key) ⇒ Object
- #customer_create_request(base_url, api_key, request_payload) ⇒ Object
- #customer_delete_request(base_url, api_key, request_payload) ⇒ Object
- #customer_details_get_request(base_url, api_key, request_payload) ⇒ Object
- #customer_get_request(base_url, api_key, request_payload) ⇒ Object
- #customer_list_request(base_url, api_key, request_payload = {}) ⇒ Object
- #customer_unarchive_request(base_url, api_key, customer_key) ⇒ Object
- #customer_update_request(base_url, api_key, customer_key, request_payload) ⇒ Object
- #upload_customers_csv(base_url, api_key, file_path) ⇒ Object
Instance Method Details
#bulk_create_request(base_url, api_key, request_payload) ⇒ Object
90 91 92 93 94 95 |
# File 'lib/metrifox_sdk/customers/api.rb', line 90 def bulk_create_request(base_url, api_key, request_payload) uri = URI.join(base_url, "customers/bulk-create") body = serialize_customer_request(request_payload) response = make_request(uri, "POST", api_key, body) parse_response(response, "Failed to Bulk Create Customers") end |
#customer_active_subscription_request(base_url, api_key, customer_key) ⇒ Object
44 45 46 47 48 |
# File 'lib/metrifox_sdk/customers/api.rb', line 44 def customer_active_subscription_request(base_url, api_key, customer_key) uri = URI.join(base_url, "customers/#{customer_key}/check-active-subscription") response = make_request(uri, "GET", api_key) parse_response(response, "Failed to Check Active Subscription") end |
#customer_archive_request(base_url, api_key, customer_key) ⇒ Object
50 51 52 53 54 |
# File 'lib/metrifox_sdk/customers/api.rb', line 50 def customer_archive_request(base_url, api_key, customer_key) uri = URI.join(base_url, "customers/#{customer_key}/archive") response = make_request(uri, "POST", api_key) parse_response(response, "Failed to Archive Customer") end |
#customer_create_request(base_url, api_key, request_payload) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/metrifox_sdk/customers/api.rb', line 9 def customer_create_request(base_url, api_key, request_payload) uri = URI.join(base_url, "customers/new") body = serialize_customer_request(request_payload) response = make_request(uri, "POST", api_key, body) parse_response(response, "Failed to Create Customer") end |
#customer_delete_request(base_url, api_key, request_payload) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/metrifox_sdk/customers/api.rb', line 23 def customer_delete_request(base_url, api_key, request_payload) customer_key = get_value(request_payload, :customer_key) uri = URI.join(base_url, "customers/#{customer_key}") response = make_request(uri, "DELETE", api_key) parse_response(response, "Failed to DELETE Customer") end |
#customer_details_get_request(base_url, api_key, request_payload) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/metrifox_sdk/customers/api.rb', line 37 def customer_details_get_request(base_url, api_key, request_payload) customer_key = get_value(request_payload, :customer_key) uri = URI.join(base_url, "customers/#{customer_key}/details") response = make_request(uri, "GET", api_key) parse_response(response, "Failed to Fetch Customer Details") end |
#customer_get_request(base_url, api_key, request_payload) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/metrifox_sdk/customers/api.rb', line 30 def customer_get_request(base_url, api_key, request_payload) customer_key = get_value(request_payload, :customer_key) uri = URI.join(base_url, "customers/#{customer_key}") response = make_request(uri, "GET", api_key) parse_response(response, "Failed to Fetch Customer") end |
#customer_list_request(base_url, api_key, request_payload = {}) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/metrifox_sdk/customers/api.rb', line 62 def customer_list_request(base_url, api_key, request_payload = {}) uri = URI.join(base_url, "customers") # Build query parameters from the request payload query_params = build_query_params(request_payload) if query_params && !query_params.empty? uri.query = URI.encode_www_form(query_params) end response = make_request(uri, "GET", api_key) parse_response(response, "Failed to Fetch Customers") end |
#customer_unarchive_request(base_url, api_key, customer_key) ⇒ Object
56 57 58 59 60 |
# File 'lib/metrifox_sdk/customers/api.rb', line 56 def customer_unarchive_request(base_url, api_key, customer_key) uri = URI.join(base_url, "customers/#{customer_key}/unarchive") response = make_request(uri, "POST", api_key) parse_response(response, "Failed to Unarchive Customer") end |
#customer_update_request(base_url, api_key, customer_key, request_payload) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/metrifox_sdk/customers/api.rb', line 16 def customer_update_request(base_url, api_key, customer_key, request_payload) uri = URI.join(base_url, "customers/#{customer_key}") body = serialize_customer_request(request_payload) response = make_request(uri, "PATCH", api_key, body) parse_response(response, "Failed to UPDATE Customer") end |
#upload_customers_csv(base_url, api_key, file_path) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/metrifox_sdk/customers/api.rb', line 75 def upload_customers_csv(base_url, api_key, file_path) uri = URI.join(base_url, "customers/csv-upload") boundary = "----WebKitFormBoundary#{Random.hex(16)}" body = build_multipart_body(file_path, boundary) headers = { "x-api-key" => api_key, "Content-Type" => "multipart/form-data; boundary=#{boundary}" } response = make_raw_request(uri, "POST", headers, body) parse_response(response, "Failed to upload CSV") end |