Pular para conteúdo

Gerenciando clientes

Você pode criar e listar clientes com facilidade usando o SDK da AbacatePay.


1. Criando um cliente

Para criar um novo cliente, utilize o método create. Ele pode receber um dicionário, uma instância de CustomerMetadata ou argumentos nomeados.

from abacatepay import AbacatePay

client = AbacatePay("<sua chave de API>")

customer = client.customers.create(
    name="João Silva",
    email="joao@email.com",
    cellphone="(11) 91234-5678",
    tax_id="123.456.789-00"
)

print(customer.id)
# > cust_abc123
from abacatepay import AbacatePay

client = AbacatePay("<sua chave de API>")

customer = client.customers.create({
    "name": "João Silva",
    "email": "joao@email.com",
    "cellphone": "(11) 91234-5678",
    "tax_id": "123.456.789-00"
})

print(customer.id)
# > cust_abc123
from abacatepay import AbacatePay
from abacatepay.customers import CustomerMetadata

client = AbacatePay("<sua chave de API>")

customer_data = CustomerMetadata(
    name="João Silva",
    email="joao@email.com",
    cellphone="(11) 91234-5678",
    tax_id="123.456.789-00"
)

customer = client.customers.create(customer=customer_data)
print(customer.id)
Referência para o método create

creates a new customer using an or named arguments

Parameters:

Name Type Description Default
customer Optional[CustomerMetadata | dict]

You customer data, it can be a dict, an instance of abacatepay.customers.CustomerMetadata.

None

Returns:

Name Type Description
Customer Customer

An instance of the new customer.

Source code in abacatepay/customers/client.py
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def create(self, customer: Optional[CustomerMetadata | dict] = None, **kwargs) -> Customer:
    """creates a new customer using an or named arguments

    Args:
        customer (Optional[CustomerMetadata  |  dict], optional): You customer data, it can be \
        a dict, an instance of `abacatepay.customers.CustomerMetadata`.

    Returns:
        Customer: An instance of the new customer.
    """
    logger.debug(f"Creating customer with URL: {BASE_URL}/customer/create")

    json_data = prepare_data(customer or kwargs, CustomerMetadata)
    response = self._request(
        f"{BASE_URL}/customer/create",
        method="POST",
        json=json_data,
    )
    return Customer(**response.json()["data"])

2. Listando clientes existentes

Você pode listar todos os clientes cadastrados com um único comando:

customers = client.customers.list()
print(len(customers))

for customer in customers:
    print(customer.id, customer.name)

Pronto! Agora você já pode cadastrar e gerenciar clientes com a AbacatePay diretamente do seu sistema 🚀