Perfil e verificação do seller
Como o seller (lojista) consulta e edita o perfil da empresa, escolhe a URL da loja, acompanha a reputação e envia os documentos de verificação de identidade.
Um seller (lojista) é um vendedor que opera dentro do marketplace da loja. Esta seção reúne as rotas em que ele cuida de si mesmo: os dados da empresa (nome fantasia, CNPJ, endereço, dados bancários, preferências de e-mail), a URL da loja (slug), o termômetro de reputação que a vitrine mostra aos clientes e a verificação de identidade (KYC, "know your customer") exigida por algumas lojas antes de liberar vendas e repasses. Tudo vive em /api/v1/vendor e o seller é identificado pelo token.
Como funciona
Perfil, formulário e conta
O mesmo perfil pode ser lido de dois jeitos. GET /profile entrega o objeto fixo (company_name, cnpj, bank_account...). GET /profile/form entrega só os campos que a loja habilitou na tela de cadastro do seller, na ordem em que ela quer, com rótulo, placeholder, obrigatoriedade e o valor atual de cada um. É o que um painel deve usar para desenhar o formulário sem fixar os campos no código.
Reputação
A plataforma recalcula a reputação todo dia a partir do desempenho do seller nos pedidos recentes e informa os principais pontos fracos em top_issues. Veja Reputação.
Verificação KYC
status | Significado |
|---|---|
pending | Pedido aberto, aceita documentos. |
in_review | A loja está analisando. |
approved | Aprovado. Vale por 1 ano. |
rejected | Recusado; o seller pode enviar documentos de novo. |
expired | Venceu a validade e precisa ser refeito. |
Conceitos importantes
Dinheiro, taxas e datas
Valores em centavos; taxas de comissão em percentual (9 = 9%). Datas em RFC 3339, UTC.
Impersonação
Quando um administrador entra na conta do seller ("login como"), a troca de e-mail, senha e dados bancários é bloqueada com 403 impersonation_blocked_field. Isso é de propósito: essas mudanças redirecionam acesso e repasses e só o dono pode fazê-las.
Seller ainda sem cadastro completo
Um usuário seller sem a linha de cadastro da empresa recebe 200 em GET /profile com {"vendor": null, "vendor_profile_required": true} e 403 vendor_profile_required ao tentar gravar.
Endpoints
| Método | Caminho | Para quê | Auth |
|---|---|---|---|
| GET | /api/v1/vendor/profile | Perfil completo do seller. | seller |
| PUT | /api/v1/vendor/profile | Altera o perfil. | seller |
| GET | /api/v1/vendor/profile/form | Perfil como lista de campos. | seller |
| PUT | /api/v1/vendor/profile/form | Grava valores por nome de campo. | seller |
| GET | /api/v1/vendor/profile/check-slug | Confere se uma URL de loja está livre. | seller |
| GET | /api/v1/vendor/reputation | Reputação do seller. | seller |
| GET | /api/v1/vendor/kyc | Situação da verificação e documentos. | seller |
| POST | /api/v1/vendor/kyc/submit | Abre um pedido de verificação. | seller |
| POST | /api/v1/vendor/kyc/documents | Envia um documento. | seller |
| DELETE | /api/v1/vendor/kyc/documents/{docId} | Remove um documento ainda não analisado. | seller |
Erros comuns
- Mandar
commission_rate,statusoupayment_modelnoPUT /profileesperando mudar. Chega200, mas esses campos são descartados. Só o administrador os altera. - Mandar
emailou dados bancários durante um "login como". Volta403 impersonation_blocked_field. - Esquecer que
PUT /profile/formaceita só strings e só campos habilitados. Um campo desconhecido ou desligado volta400 unknown_or_disabled_profile_field. - Achar que
check-slugcom a própria URL volta "indisponível". O seller não colide consigo mesmo: a própria URL aparece como livre. - Tentar enviar documento KYC antes de abrir o pedido. Volta
400 no KYC verification found. Chamekyc/submitprimeiro.