Sub-lojistas Braspag
Cadastra, lista, consulta, atualiza e muda o status dos sellers como sub-lojistas na Braspag.
Para receber parte de uma venda no split, o seller precisa existir na Braspag como sub-lojista. Estas rotas fazem o cadastro (que chama a Braspag), guardam o vínculo com o seller da Venddor e acompanham a análise. A resposta de cadastro já traz o status devolvido pela Braspag; mudanças posteriores chegam por notificação da Braspag ou por ajuste manual aqui.
Listar sub-lojistas
/api/v1/admin/braspag/sellersAdminLista sub-lojistas
Exemplo de requisição
curl "$BASE_URL/api/v1/admin/braspag/sellers" \
-H "Authorization: Bearer $TOKEN"Resposta
[
{
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"vendor_id": "7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f",
"subordinate_merchant_id": "b6f1c0aa-1111-4222-8333-444455556666",
"status": "pending",
"merchant_name": "Loja Exemplo Ltda",
"cnpj": "12345678000195",
"bank_code": "341",
"bank_branch": "1234",
"bank_account": "56789",
"bank_account_digit": "0",
"bank_account_type": "checking",
"contact_name": "Maria Souza",
"contact_email": "financeiro@lojaexemplo.com.br",
"mdr_rate": 0,
"commission_percent": 1000,
"created_at": "2026-10-11T12:00:00Z",
"updated_at": "2026-10-11T12:00:00Z"
}
]Campos da resposta
idstringvendor_idstringsubordinate_merchant_idstringstatusstringpendingapprovedrejectedsuspendedpending, approved, rejected ou suspended.commission_percentintegermdr_rateintegercreated_atstringupdated_atstringmerchant_namestringcnpjstringbank_codestringbank_branchstringbank_accountstringbank_account_digitstringbank_account_typestringcontact_namestringcontact_emailstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O módulo braspag está desligado na loja. | {"error":"module_disabled","module":"braspag"} |
| 403 | O usuário não tem manage_payments nem view_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_payments","view_payments"]} |
Cadastrar um sub-lojista
Valida os dados, recusa seller já cadastrado e envia o cadastro à Braspag. Em sucesso responde 201.
/api/v1/admin/braspag/sellersAdminCadastra um sub-lojista
Corpo da requisição
vendor_iduuidobrigatóriomerchant_namestringobrigatóriocnpjstringobrigatóriobank_codestringobrigatório341 = Itaú).bank_branchstringobrigatóriobank_accountstringobrigatóriobank_account_digitstringobrigatóriobank_account_typestringobrigatóriocheckingsavingscontact_namestringobrigatóriocontact_emailstringobrigatóriocommission_percentintegerpadrão: 01000 = 10%).Exemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/braspag/sellers" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"vendor_id": "7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f",
"merchant_name": "Loja Exemplo Ltda",
"cnpj": "12.345.678/0001-95",
"bank_code": "341",
"bank_branch": "1234",
"bank_account": "56789",
"bank_account_digit": "0",
"bank_account_type": "checking",
"contact_name": "Maria Souza",
"contact_email": "financeiro@lojaexemplo.com.br",
"commission_percent": 1000
}'Resposta
{
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"vendor_id": "7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f",
"subordinate_merchant_id": "b6f1c0aa-1111-4222-8333-444455556666",
"status": "pending",
"created_at": "2026-10-11T12:00:00Z"
}Campos da resposta
iduuidvendor_iduuidsubordinate_merchant_idstringstatusstringpendingapprovedrejectedsuspendedcreated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body"} |
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O módulo braspag está desligado na loja. | {"error":"module_disabled","module":"braspag"} |
| 403 | O usuário não tem manage_payments nem view_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_payments","view_payments"]} |
| 422 | Validação ou erro da Braspag, incluindo seller já cadastrado. A mensagem vem em inglês. | {"error":"braspag: invalid seller input: bank_account_type must be 'checking' or 'savings'"} |
Consultar um sub-lojista
/api/v1/admin/braspag/sellers/{vendorId}AdminConsulta um sub-lojista
Parâmetros de caminho
vendorIduuidobrigatórioid do registro).Exemplo de requisição
curl "$BASE_URL/api/v1/admin/braspag/sellers/7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"vendor_id": "7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f",
"subordinate_merchant_id": "b6f1c0aa-1111-4222-8333-444455556666",
"status": "pending",
"merchant_name": "Loja Exemplo Ltda",
"cnpj": "12345678000195",
"bank_code": "341",
"bank_branch": "1234",
"bank_account": "56789",
"bank_account_digit": "0",
"bank_account_type": "checking",
"contact_name": "Maria Souza",
"contact_email": "financeiro@lojaexemplo.com.br",
"mdr_rate": 0,
"commission_percent": 1000,
"created_at": "2026-10-11T12:00:00Z",
"updated_at": "2026-10-11T12:00:00Z"
}Campos da resposta
idstringvendor_idstringsubordinate_merchant_idstringstatusstringpendingapprovedrejectedsuspendedpending, approved, rejected ou suspended.commission_percentintegermdr_rateintegercreated_atstringupdated_atstringmerchant_namestringcnpjstringbank_codestringbank_branchstringbank_accountstringbank_account_digitstringbank_account_typestringcontact_namestringcontact_emailstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O módulo braspag está desligado na loja. | {"error":"module_disabled","module":"braspag"} |
| 403 | O usuário não tem manage_payments nem view_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_payments","view_payments"]} |
| 404 | O seller não tem cadastro Braspag. | {"error":"no seller found for this vendor"} |
Atualizar um sub-lojista
Atualiza dados bancários, contato e comissão na Braspag e no registro local. Exige todos os campos de novo, como no cadastro, e que o seller já tenha subordinate_merchant_id.
/api/v1/admin/braspag/sellers/{vendorId}AdminAtualiza um sub-lojista
Parâmetros de caminho
vendorIduuidobrigatórioid do registro).Corpo da requisição
vendor_iduuidobrigatóriomerchant_namestringobrigatóriocnpjstringobrigatóriobank_codestringobrigatório341 = Itaú).bank_branchstringobrigatóriobank_accountstringobrigatóriobank_account_digitstringobrigatóriobank_account_typestringobrigatóriocheckingsavingscontact_namestringobrigatóriocontact_emailstringobrigatóriocommission_percentintegerpadrão: 01000 = 10%).Exemplo de requisição
curl -X PUT "$BASE_URL/api/v1/admin/braspag/sellers/7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"vendor_id": "7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f",
"merchant_name": "Loja Exemplo Ltda",
"cnpj": "12.345.678/0001-95",
"bank_code": "341",
"bank_branch": "1234",
"bank_account": "56789",
"bank_account_digit": "0",
"bank_account_type": "checking",
"contact_name": "Maria Souza",
"contact_email": "financeiro@lojaexemplo.com.br",
"commission_percent": 1000
}'Resposta
{
"status": "updated"
}Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body"} |
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O módulo braspag está desligado na loja. | {"error":"module_disabled","module":"braspag"} |
| 403 | O usuário não tem manage_payments nem view_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_payments","view_payments"]} |
| 422 | Validação, seller sem cadastro ou ainda pendente sem id na Braspag, ou erro da Braspag. | {"error":"braspag: seller for vendor 7e1d9c20-... has no subordinate_merchant_id (still pending?)"} |
Mudar o status
Grava o status no registro local (aprovar, reprovar, suspender). Não chama a Braspag: é um ajuste do lado da plataforma.
/api/v1/admin/braspag/sellers/{vendorId}/statusAdminMuda o status do sub-lojista
Parâmetros de caminho
vendorIduuidobrigatórioid do registro).Corpo da requisição
statusstringobrigatóriopendingapprovedrejectedsuspendedExemplo de requisição
curl -X PATCH "$BASE_URL/api/v1/admin/braspag/sellers/7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f/status" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "suspended"
}'Resposta
{
"status": "updated"
}Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Status fora da lista ou corpo inválido. | {"error":"invalid status: must be 'pending', 'approved', 'rejected', or 'suspended'"} |
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O módulo braspag está desligado na loja. | {"error":"module_disabled","module":"braspag"} |
| 403 | O usuário não tem manage_payments nem view_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_payments","view_payments"]} |
| 422 | Seller sem cadastro Braspag. | {"error":"braspag: no seller found for vendor 7e1d9c20-..."} |