Conta do seller
Segundo fator, privilégios, equipe, cadastro de aprovação e saúde do seller (lojista) no painel do seller.
Um seller (lojista) é um vendedor que opera dentro do marketplace da loja, com catálogo, pedidos e financeiro próprios. Esta seção reúne as rotas de conta do usuário do seller, sob /api/v1/vendor: identidade, segundo fator, o que ele pode fazer, a equipe da loja, o cadastro de aprovação (premoderação) e o painel de saúde. Todas exigem o token de um usuário do tipo seller, obtido no login do seller (veja Autenticação).
Como funciona
Uma loja de seller tem um dono e, opcionalmente, uma equipe. Cada pessoa da equipe tem um papel e, o que realmente define o que ela alcança, os grupos de usuários concedidos:
Papel (role) | Quem é | Gerencia a equipe? | Privilégios |
|---|---|---|---|
owner | Usuário vinculado ao seller; criado com a loja | Sim | Todos |
manager | Membro adicionado pelo dono | Não | Só os dos grupos concedidos |
member | Membro adicionado pelo dono (padrão) | Não | Só os dos grupos concedidos |
O cadastro de aprovação passa por estes estados:
| Status | Significado |
|---|---|
not_started | Ainda não há cadastro enviado. |
pending | Enviado, aguardando documentos ou análise. |
under_review | Há documento anexado e a loja está em análise. |
approved | Aprovado pela equipe da loja. |
rejected | Recusado; o motivo vem em rejection_reason. |
Conceitos importantes
Erros e papéis
As rotas de equipe respondem com um código curto em error e a explicação em detail, por exemplo {"error":"owner_only","detail":"only the store owner can manage administrators"}. Os detail vêm em inglês, exceto onde indicado.
Ids
Ids de usuário, seller, grupo e cadastro são UUID em texto. Datas são RFC 3339 em UTC.
Equipe no painel do administrador
O administrador da plataforma também gerencia a equipe de um seller, por rotas em /api/v1/admin/vendors/{id}/team, documentadas na seção de administração de sellers.
Endpoints
| Método | Caminho | Para que serve | Autenticação |
|---|---|---|---|
| GET | /api/v1/vendor/me | Identidade mínima do usuário seller. | vendor |
| GET | /api/v1/vendor/me/privileges | Privilégios do próprio usuário. | vendor |
| GET | /api/v1/vendor/me/preferences | Lê as preferências de tela. | vendor |
| PUT | /api/v1/vendor/me/preferences | Grava preferências (mescla). | vendor |
| GET | /api/v1/vendor/me/panel-menus | Menus escondidos para o seller. | vendor |
| GET | /api/v1/vendor/2fa/status | Estado do segundo fator. | vendor |
| POST | /api/v1/vendor/2fa/setup | Gera segredo e QR code. | vendor |
| POST | /api/v1/vendor/2fa/confirm | Liga o 2FA. | vendor |
| POST | /api/v1/vendor/2fa/disable | Desliga o 2FA. | vendor |
| GET | /api/v1/vendor/privileges | Recursos liberados à loja pelo plano. | vendor |
| GET | /api/v1/vendor/privileges/all | Todos os recursos possíveis. | vendor |
| GET | /api/v1/vendor/privileges/check | Pergunta se um recurso está liberado. | vendor |
| GET | /api/v1/vendor/team | Lista a equipe da loja. | vendor |
| POST | /api/v1/vendor/team | Adiciona uma pessoa à equipe. | vendor |
| PUT | /api/v1/vendor/team/{userId} | Edita um membro da equipe. | vendor |
| DELETE | /api/v1/vendor/team/{userId} | Remove um membro da equipe. | vendor |
| GET | /api/v1/vendor/team/usergroups | Grupos que o dono pode conceder. | vendor |
| GET | /api/v1/vendor/application | Situação do cadastro de aprovação. | vendor |
| POST | /api/v1/vendor/application | Envia o cadastro para análise. | vendor |
| POST | /api/v1/vendor/application/{id}/documents | Anexa um documento ao cadastro. | vendor |
| GET | /api/v1/vendor/health/summary | Indicadores de despacho do seller. | vendor |
| GET | /api/v1/vendor/health/listings | Qualidade de cada anúncio. | vendor |
| POST | /api/v1/vendor/health/listings/{productId}/ai-fix | Pede uma proposta de correção. | vendor |
| POST | /api/v1/vendor/health/listings/{productId}/ai-fix/apply | Aplica a correção e recalcula a nota. | vendor |
Erros comuns
- Criar um membro sem
usergroup_ids: ele entra na equipe, mas todas as suas chamadas recusam por falta de privilégio. - Enviar
usergroup_idscom um grupo que não é de seller ou que a plataforma não liberou:403 usergroup_not_grantable. Liste os permitidos emGET /api/v1/vendor/team/usergroups. - Tentar editar ou remover o dono:
403 cannot_edit_ownere409 cannot_remove_owner. - Usar
GET /api/v1/vendor/privileges/checkesperando uma resposta: hoje a rota recusa toda chamada (veja Privilégios). - Enviar documentos do cadastro sem antes ter criado o cadastro com
POST /api/v1/vendor/application. - Esperar que
ai-fixdevolva um texto novo para o anúncio: hoje ele devolve uma proposta vazia (veja Saúde).