Clientes
Atualizar e-mail
Sincroniza local + gateway e registra auditoria. external_id é o seu ID.
curl -X POST "https://api.ribbo.app/v1/customers/cliente-123/email" \
-H "Authorization: Bearer bk_..." -H "Content-Type: application/json" \
-d '{ "email": "novo@empresa.com" }'
422 se o e-mail é inválido ou já é de outro cliente do tenant.
Atualizar nome / e-mail / telefone
Só os campos enviados mudam (null ou ausente = não mexe).
curl -X POST "https://api.ribbo.app/v1/customers/cliente-123" \
-H "Authorization: Bearer bk_..." -H "Content-Type: application/json" \
-d '{ "name": "Novo Nome", "phone": "+5511999999999" }'
- O cadastro precisa terminar com um celular válido, em formato internacional E.164
(
+5511999999999; um número brasileiro sem+vira+55). Os gateways podem exigir o telefone na cobrança, e o novo número é sincronizado com eles. - Cliente antigo sem telefone: qualquer edição exige informar um.
- 422 com
{"error": "telefone inválido"},"informe o celular do cliente"ou e-mail inválido/em uso. doceexternal_idnão são editáveis.
Histórico de pagamentos
Recorrente + avulso, com cursor.
curl "https://api.ribbo.app/v1/customers/cliente-123/payments?limit=50" -H "Authorization: Bearer bk_..."
Cada item traz payment_id, status, kind (recurring/one_time), method,
amount_cents, refunded_amount_cents, failure_code (motivo da recusa), provider
(pagarme, stripe ou asaas), card mascarado e reference.
Detalhe de um pagamento (com a decomposição items: plano/bump/juros):
curl "https://api.ribbo.app/v1/payments/pay_01J…" -H "Authorization: Bearer bk_..."