DodoPayments.Customers (dodo_payments v0.1.0)

Copy Markdown View Source

Customer lifecycle operations.

Summary

Types

Parameters for customers_create. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/customers/customers.ts declaration CustomerCreateParams.

Parameters for customers_list. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/customers/customers.ts declaration CustomerListParams.

Parameters for customers_update. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/customers/customers.ts declaration CustomerUpdateParams.

Functions

Calls Dodo operation customers_create (POST /customers). Required parameters: :email, :name.

Calls Dodo operation customers_create (POST /customers). Required parameters: :email, :name.

Calls Dodo operation customers_list (GET /customers). Required parameters: none. Numbered pagination is zero-based.

Calls Dodo operation customers_list (GET /customers). Required parameters: none. Numbered pagination is zero-based.

Calls Dodo operation customers_list (GET /customers). Required parameters: none. Numbered pagination is zero-based.

Calls Dodo operation customers_retrieve (GET /customers/{customer_id}). Required parameters: none.

Calls Dodo operation customers_update (PATCH /customers/{customer_id}). Required parameters: none.

Calls Dodo operation customers_update (PATCH /customers/{customer_id}). Required parameters: none.

Calls Dodo operation customers_update (PATCH /customers/{customer_id}). Required parameters: none.

Types

create_params()

@type create_params() ::
  %{
    :email => String.t(),
    :name => String.t(),
    optional(:metadata) => DodoPayments.RequestTypes.flat_metadata(),
    optional(:phone_number) => String.t(),
    optional(String.t()) => DodoPayments.RequestTypes.input_value()
  }
  | DodoPayments.RequestTypes.compatibility_params()

Parameters for customers_create. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/customers/customers.ts declaration CustomerCreateParams.

list_params()

@type list_params() ::
  %{
    optional(:page_number) => number(),
    optional(:page_size) => number(),
    optional(:created_at_gte) => String.t(),
    optional(:created_at_lte) => String.t(),
    optional(:email) => String.t(),
    optional(:name) => String.t(),
    optional(String.t()) => DodoPayments.RequestTypes.input_value()
  }
  | DodoPayments.RequestTypes.compatibility_params()

Parameters for customers_list. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/customers/customers.ts declaration CustomerListParams.

update_params()

@type update_params() ::
  %{
    optional(:email) => String.t(),
    optional(:metadata) => DodoPayments.RequestTypes.flat_metadata(),
    optional(:name) => String.t(),
    optional(:phone_number) => String.t(),
    optional(String.t()) => DodoPayments.RequestTypes.input_value()
  }
  | DodoPayments.RequestTypes.compatibility_params()

Parameters for customers_update. Exact fields use atom keys; string-keyed and mixed-key maps remain supported. Source: locked upstream resources/customers/customers.ts declaration CustomerUpdateParams.

Functions

create(client, params)

@spec create(DodoPayments.Client.t(), create_params()) ::
  {:ok, DodoPayments.Customer.t()} | {:error, Exception.t()}

Calls Dodo operation customers_create (POST /customers). Required parameters: :email, :name.

API parameters must be supplied as a map.

create(client, params, opts)

Calls Dodo operation customers_create (POST /customers). Required parameters: :email, :name.

The final argument contains request-local options.

list(client)

Calls Dodo operation customers_list (GET /customers). Required parameters: none. Numbered pagination is zero-based.

Calls the operation with an empty parameter map.

list(client, opts)

Calls Dodo operation customers_list (GET /customers). Required parameters: none. Numbered pagination is zero-based.

Pass a map for Dodo parameters or a keyword list for request-local options.

list(client, params, opts)

Calls Dodo operation customers_list (GET /customers). Required parameters: none. Numbered pagination is zero-based.

Accepts both a Dodo parameter map and request-local options.

retrieve(client, customer_id, opts \\ [])

Calls Dodo operation customers_retrieve (GET /customers/{customer_id}). Required parameters: none.

Options are request-local.

update(client, customer_id)

@spec update(DodoPayments.Client.t(), String.t() | integer()) ::
  {:ok, DodoPayments.Customer.t()} | {:error, Exception.t()}

Calls Dodo operation customers_update (PATCH /customers/{customer_id}). Required parameters: none.

Calls the operation with an empty parameter map.

update(client, customer_id, opts)

Calls Dodo operation customers_update (PATCH /customers/{customer_id}). Required parameters: none.

Pass a map for Dodo parameters or a keyword list for request-local options.

update(client, customer_id, params, opts)

Calls Dodo operation customers_update (PATCH /customers/{customer_id}). Required parameters: none.

Accepts both a Dodo parameter map and request-local options.