Consultar, editar e excluir seller
Lê o cadastro completo de um seller, atualiza qualquer campo de forma parcial e exclui o seller liberando o slug.
Consultar um seller
Devolve o cadastro completo, incluindo os campos que só o administrador vê (dados bancários, representante legal, DPO, comissão).
/api/v1/admin/vendors/{id}AdminConsulta o cadastro completo de um seller
Parâmetros de caminho
iduuidobrigatório{
"id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"display_id": 26,
"user_id": "0fd409fb-9869-4c50-a18c-a810a19abeed",
"company_name": "Loja Seller Teste",
"slug": "loja-seller-teste",
"status": "A",
"cnpj": "",
"email": "contato@lojateste.example.com",
"phone": "+5511999998888",
"website": "https://lojateste.example.com",
"address_line1": "Rua dos Testes, 100",
"city": "Volta Redonda",
"state": "RJ",
"postal_code": "27253-650",
"country": "BR",
"commission_rate": 9,
"commission_type": "percentage",
"payment_model": "marketplace_collects",
"fulfillment_type": "vendor_fulfilled",
"marketplace_shipping_fee_bps": 0,
"payout_method": "pix",
"bank_name": "Banco Exemplo",
"bank_agency": "0001",
"bank_account": "12345-6",
"pix_key": "pagamentos@lojateste.example.com",
"terms_accepted": true,
"products_require_approval": true,
"email_new_order": true,
"is_on_vacation": false,
"debt_balance": 0,
"created_at": "2026-04-26T21:01:28Z",
"updated_at": "2026-10-09T10:00:00Z"
}Campos da resposta
iduuiddisplay_idintegeruser_iduuidcompany_namestringlegal_namestringslugstringstatusstringPADRcnpjstringcnae_codestringstate_regstringtax_regimestringmeisimples_nacionallucro_presumidolucro_reallucro_arbitradorep_full_namestringrep_cpf, rep_birth_date, rep_email, rep_phone, rep_mother_name.emailstringphonestringmobile_phone e website.address_line1stringaddress_line2, address_number, address_complement, address_district, city, state, postal_code, country.latitudenumbercommission_ratenumberpayment_modelstringmarketplace_collectsdirect_to_vendorpagarme_recipient_idstringfulfillment_typestringvendor_fulfilledmarketplace_fulfilledmarketplace_shipping_fee_bpsintegerpayout_methodstringpix, bank_transfer).bank_codestringbank_name, bank_agency, bank_account, bank_account_type, bank_account_holder, pix_key.logo_urlstringemail_logo_url, banner_url e description.products_require_approvalbooleanemail_new_orderbooleanemail_order_status, email_low_stock, email_payout.is_on_vacationbooleanvacation_message, vacation_until, vacation_started_at.debt_balanceintegerplan_idintegersettlement_term_daysintegerapproved_atstringdescriptionsobjectcreated_atstringupdated_atstringAtualizar um seller
Atualização parcial: só os campos enviados mudam. Texto vazio "" limpa o campo. Aceita todos os campos de dados do cadastro mostrados acima, mais o status.
/api/v1/admin/vendors/{id}AdminAtualiza o cadastro de um seller
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
company_namestringslugstring409 slug_taken.legal_namestringcnpjstringtax_regimestringmeisimples_nacionallucro_presumidolucro_reallucro_arbitradoemailstringphonestringcommission_ratenumberpayment_modelstringmarketplace_collectsdirect_to_vendorfulfillment_typestringvendor_fulfilledmarketplace_fulfilledmarketplace_shipping_fee_bpsintegerproducts_require_approvalbooleansettlement_term_daysintegerstatusstringapproved_at/approved_by nem avisa o seller como a rota de status. Prefira aquela rota.descriptionsobjectOs demais campos do cadastro (endereço, dados bancários, representante legal, DPO, logo, notificações e outros) seguem os mesmos nomes da resposta acima.
curl -X PUT "$BASE_URL/api/v1/admin/vendors/94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"commission_rate": 11, "phone": "+5511988887777"}'A resposta (200) é o seller atualizado.
Excluir um seller
Exclusão lógica: marca o seller como excluído, libera o slug no registro de URLs e desativa o usuário dono se ele não administra nenhum outro seller. O seller some das listas.
/api/v1/admin/vendors/{id}AdminExclui um seller
Parâmetros de caminho
iduuidobrigatório{ "message": "vendor deleted" }Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo do PUT não é JSON. | {"error":"invalid request body","detail":"..."} |
| 400 | PUT com campo password. | {"error":"password_not_updatable","detail":"este endpoint não troca senha..."} |
| 400 | Slug com formato inválido ou reservado; CNPJ, regime ou comissão inválidos. | {"error":"slug_reserved","detail":"..."} |
| 404 | Seller não existe, já excluído, ou id que não é UUID (no GET). | {"error":"vendor not found"} |
| 409 | Slug, CNPJ ou e-mail já usado por outro seller. | {"error":"slug_taken","detail":"..."} |
| 500 | DELETE ou PUT com id que não é UUID. | {"error":"failed to delete vendor","detail":"..."} |
| 401 / 403 | Sem token, ou sem manage_vendors nas escritas. | {"error":"missing authorization header"} |