Class: AbacatePay::Clients::CustomerClient

Inherits:
Client
  • Object
show all
Defined in:
lib/abacatepay/clients/customer_client.rb

Overview

Client class for managing customer-related operations in the AbacatePay API.

Constant Summary collapse

URI =

API endpoint for customer-related operations

"customer"

Instance Method Summary collapse

Constructor Details

#initialize(client = nil) ⇒ CustomerClient

Returns a new instance of CustomerClient.

Parameters:

  • client (Faraday::Connection, nil) (defaults to: nil)

    Optional Faraday client for custom configurations



11
12
13
# File 'lib/abacatepay/clients/customer_client.rb', line 11

def initialize(client = nil)
  super(URI, client)
end

Instance Method Details

#create(data) ⇒ Resources::Customer

Creates a new customer

Parameters:

Returns:



27
28
29
30
31
32
33
34
35
36
# File 'lib/abacatepay/clients/customer_client.rb', line 27

def create(data)
  response = request("POST", "create", json: {
    name: data.&.name,
    email: data.&.email,
    cellphone: data.&.cellphone,
    taxId: data.&.tax_id
  })

  Resources::Customer.new(response)
end

#listArray<Resources::Customer>

Retrieves a list of customers

Returns:



18
19
20
21
# File 'lib/abacatepay/clients/customer_client.rb', line 18

def list
  response = request("GET", "list")
  response.map { |data| Resources::Customer.new(data) }
end