Candidaturas de sellers
Lista as candidaturas de lojistas e aprova ou recusa cada uma, ativando ou recusando o seller.
A candidatura é o pedido de um seller para vender na loja. Estas duas operações montam a fila de análise e registram a decisão. Exigem o módulo vendor-moderation. Ler pede manage_vendor_moderation, manage_catalog ou view_catalog; decidir pede manage_vendor_moderation ou manage_catalog.
Listar candidaturas
Devolve as candidaturas, da mais recente para a mais antiga, sem paginação. Cada item traz o nome do seller, mas não os documentos.
/api/v1/admin/vendor-applicationsAdminLista as candidaturas de sellers
Parâmetros de consulta
statusstringpendingunder_reviewapprovedrejectedallall ou ausente lista todas. Um valor desconhecido devolve lista vazia.Exemplo de requisição
curl "$BASE_URL/api/v1/admin/vendor-applications?status=pending" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"applications": [
{
"id": "054c2645-ad96-4556-9606-7535b372f0b1",
"vendor_id": "ce822da6-5869-4819-b8bb-9aefd2e62925",
"vendor_name": "Loja do Zé Ltda",
"status": "rejected",
"submitted_at": "2026-05-26T17:29:43.791755Z",
"reviewed_at": "2026-07-11T14:12:29.600924Z",
"reviewed_by": "67bf291c-0846-4053-9528-8cfd5ab0ebf1",
"rejection_reason": "Documentação incompleta, favor reenviar o CNPJ.",
"created_at": "2026-05-26T17:29:43.791755Z",
"updated_at": "2026-07-11T14:12:29.600924Z"
}
],
"total": 1
}Campos da resposta
applicationsarray[]) quando nenhuma casa.totalintegerapplications[].iduuidapplications[].vendor_iduuidapplications[].vendor_namestringapplications[].statusstringpendingunder_reviewapprovedrejectedapplications[].submitted_atstringapplications[].reviewed_atstringapplications[].reviewed_byuuidapplications[].rejection_reasonstringapplications[].notesstringapplications[].created_atstringapplications[].updated_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 / 403 | Sem token, sem privilégio, ou módulo desligado | {"error":"module_disabled","module":"vendor-moderation"} |
| 500 | Falha interna | {"error":"failed to list vendor applications","detail":"..."} |
Decidir uma candidatura
Aprova ou recusa. Ao aprovar, o seller é ativado e pode vender. Ao recusar, o seller é marcado como recusado e o reason fica guardado. A decisão fica registrada com o administrador e a data.
/api/v1/admin/vendor-applications/{id}/reviewAdminAprova ou recusa uma candidatura
Parâmetros de caminho
iduuidobrigatórioid da lista, não o vendor_id).Corpo da requisição
decisionstringobrigatórioapprovedrejectedreasonstringrejection_reason; sempre que informado, mesmo numa aprovação.Exemplo de requisição
curl -X PUT "$BASE_URL/api/v1/admin/vendor-applications/054c2645-ad96-4556-9606-7535b372f0b1/review" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"decision": "rejected", "reason": "Documentação incompleta, favor reenviar o CNPJ."}'Resposta
{
"message": "application reviewed",
"application_id": "054c2645-ad96-4556-9606-7535b372f0b1",
"decision": "rejected"
}Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo que não é JSON | {"error":"invalid request body","detail":"..."} |
| 400 | decision diferente de approved e rejected | {"error":"decision must be 'approved' or 'rejected'"} |
| 500 | Candidatura inexistente (deveria ser 404) | {"error":"failed to review application","detail":"application 0000... not found"} |
| 500 | id que não é UUID, ou falha ao ativar ou recusar o seller | {"error":"failed to review application","detail":"..."} |
| 401 / 403 | Sem token, sem privilégio, ou módulo desligado | {"error":"module_disabled","module":"vendor-moderation"} |