Sumup.Members (Sumup v1.0.0)

Copy Markdown View Source

Members: user accounts under a merchant, including virtual/managed users. API version v0.1.

Summary

Functions

Creates a member under merchant_code.

Removes a member from a merchant.

Retrieves a single member.

Lists a single page of members.

Lazily streams every member, paging by offset/limit. See Sumup.Pagination.

Replaces a member's roles/metadata/attributes/managed-user credentials.

Functions

create(config, merchant_code, params)

@spec create(Sumup.Config.t(), String.t(), keyword() | map()) ::
  {:ok, Sumup.Member.t()} | {:error, Sumup.Error.t()}

Creates a member under merchant_code.

  • :email (String.t/0) - Required.

  • :roles (list of String.t/0) - Required. Role ids to assign on creation.

  • :is_managed_user (boolean/0) - Create a SumUp-managed (virtual) user rather than inviting a real one.

  • :password (String.t/0) - Required when is_managed_user: true.

  • :nickname (String.t/0)

  • :metadata (map/0) - Free-form metadata you control.

  • :attributes (map/0) - Free-form attributes you control.

delete(config, merchant_code, member_id)

@spec delete(Sumup.Config.t(), String.t(), String.t()) ::
  :ok | {:error, Sumup.Error.t()}

Removes a member from a merchant.

get(config, merchant_code, member_id)

@spec get(Sumup.Config.t(), String.t(), String.t()) ::
  {:ok, Sumup.Member.t()} | {:error, Sumup.Error.t()}

Retrieves a single member.

list(config, merchant_code, opts \\ [])

@spec list(Sumup.Config.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, Sumup.Error.t()}

Lists a single page of members.

  • :offset (non_neg_integer/0) - Page offset. The default value is 0.

  • :limit (pos_integer/0) - Page size (max 25). The default value is 10.

  • :scroll (boolean/0) - Use scroll-based pagination instead of offset/limit.

  • :email (String.t/0) - Filter/search by email (substring).

  • :user_id (String.t/0) - Filter by the underlying user id (maps to user.id).

  • :status

  • :roles (list of String.t/0) - Filter to one or more role ids.

list_all(config, merchant_code, page_size \\ 25)

@spec list_all(Sumup.Config.t(), String.t(), pos_integer()) :: Enumerable.t()

Lazily streams every member, paging by offset/limit. See Sumup.Pagination.

update(config, merchant_code, member_id, params)

@spec update(Sumup.Config.t(), String.t(), String.t(), keyword() | map()) ::
  {:ok, Sumup.Member.t()} | {:error, Sumup.Error.t()}

Replaces a member's roles/metadata/attributes/managed-user credentials.