VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Sellers (lojistas)

Status e candidatura do seller

Aprova, suspende, devolve à fila ou recusa um seller, e lê a candidatura dele com os documentos enviados.

Estas rotas mudam o que o seller pode fazer na loja. Escrever exige o privilégio manage_vendors; ler a candidatura exige view_vendors ou manage_vendors.

Mudar o status

Faz a transição e aplica os efeitos de cada uma.

PATCH/api/v1/admin/vendors/{id}/statusAdmin

Muda o status de um seller

Parâmetros de caminho

iduuidobrigatório
Id do seller.

Corpo da requisição

statusstringobrigatório
activependingsuspendedrejected
Novo status. Outro valor devolve 400.
reasonstring
Motivo. Só usado em rejected (fica em rejection_reason).
statusEfeito
activeLetra A. Grava approved_at e approved_by. Se o seller estava suspenso, os produtos ocultos (H) voltam a ativos.
suspendedLetra D. Os produtos ativos passam a ocultos (H) e o seller é avisado.
pendingLetra P. Devolve o seller à fila de aprovação, sem aprovar e sem publicar produtos.
rejectedLetra R, com o reason.
bash
curl -X PATCH "$BASE_URL/api/v1/admin/vendors/94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36/status" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "suspended"}'
200Status atualizado
json
{ "message": "vendor suspended" }

A mensagem muda conforme o status: vendor approved, vendor suspended, vendor back to pending, vendor rejected.

Recusar um seller

Atalho para a recusa, com o motivo.

PATCH/api/v1/admin/vendors/{id}/rejectAdmin

Recusa um seller com motivo

Parâmetros de caminho

iduuidobrigatório
Id do seller.

Corpo da requisição

reasonstring
Motivo da recusa. Pode ficar vazio, mas informe: ele é guardado no seller.
200Recusado
json
{ "message": "vendor rejected", "reason": "CNPJ divergente da razão social." }

Ver a candidatura do seller

A candidatura do seller (a solicitação de entrada) e os documentos que ele anexou, direto da tela dele. Seller sem candidatura volta application: null e status: "not_started".

GET/api/v1/admin/vendors/{id}/applicationAdmin

Lê a candidatura de um seller

Parâmetros de caminho

iduuidobrigatório
Id do seller.
200Candidatura com documentos
json
{
  "application": {
    "id": "5bd98df9-8942-4cd2-b5b6-3806703d0c84",
    "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
    "vendor_name": "Loja Seller Teste",
    "status": "approved",
    "submitted_at": "2026-05-29T19:54:40Z",
    "reviewed_at": "2026-07-11T14:00:49Z",
    "reviewed_by": "67bf291c-0846-4053-9528-8cfd5ab0ebf1",
    "documents": [
      {
        "id": "bc0c7e42-613c-4da1-a34d-04ad104130e1",
        "application_id": "5bd98df9-8942-4cd2-b5b6-3806703d0c84",
        "document_type": "cnpj",
        "file_url": "/uploads/vendor_application_document/5bd98df9/cartao-cnpj.png",
        "file_name": "cartao-cnpj.png",
        "status": "pending",
        "created_at": "2026-07-13T23:17:11Z"
      }
    ],
    "created_at": "2026-05-29T19:54:40Z",
    "updated_at": "2026-07-11T14:00:49Z"
  },
  "status": "approved"
}

Campos da resposta

applicationobject
A candidatura, ou null quando o seller nunca enviou.
application.statusstring
pendingunder_reviewapprovedrejected
Estado da candidatura, como palavra.
application.rejection_reasonstring
Motivo, quando recusada.
application.documentsarray
Documentos anexados à candidatura.
application.documents[].document_typestring
cnpjidentityaddressbankother
Tipo do documento.
application.documents[].file_urlstring
Endereço do arquivo, relativo à loja.
application.documents[].statusstring
pendingapprovedrejected
Estado do documento.
statusstring
pendingunder_reviewapprovedrejectednot_started
Repete o estado da candidatura. not_started quando não existe candidatura.

Para decidir a candidatura use Candidaturas de sellers: aprovar ou recusar lá muda o seller junto.

Erros

StatusQuandoCorpo de exemplo
400status ausente ou fora dos quatro valores.{"error":"unsupported status: x","detail":"valid statuses: active, pending, suspended, rejected"}
400Corpo não é JSON.{"error":"invalid request body","detail":"..."}
404Seller não existe ou foi excluído. O detail explica em português que o painel não restaura seller excluído.{"error":"vendor not found","detail":"nenhum seller com o id ..."}
500id que não é UUID.{"error":"failed to update vendor status to active","detail":"..."}
401 / 403Sem token ou sem privilégio.{"error":"missing authorization header"}
Seller excluído não volta

Mudar o status de um seller excluído devolve 404. Cadastrar de novo cria um seller novo, sem os produtos e pedidos do antigo, e dispara e-mails. Confirme com o lojista antes.

Status é uma letra no JSON

A resposta só devolve message. Para ver o novo status, consulte o seller: ele vem como A, P, D ou R.

Veja também

  • Candidaturas de sellers
  • Consultar e editar
  • Visão geral
Anterior
Consultar, editar e excluir seller
Próxima
Saldo, extrato e receita do seller
Nesta página
  • Mudar o status
  • Recusar um seller
  • Ver a candidatura do seller
  • Erros
  • Veja também