VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Referência completa/App do seller (1.0)

Login e cadastro

Entrada do seller no app (token e dados da conta), cadastro de um seller novo e a recuperação de senha, que é um esboço.

O app começa por aqui. Login troca e-mail e senha do seller pelo access_token (JWT) que as outras rotas pedem em Authorization: Bearer. Cadastro cria, numa chamada só, o usuário e a empresa dele.

Login também exige uma credencial

Estas rotas não são abertas: sem um cabeçalho Authorization elas respondem 401, como todas as outras. O app precisa enviar uma credencial de serviço (HTTP Basic e-mail:chave_de_api de um usuário administrador, ou um Bearer) para poder chamar o login, e só então passa a usar o token do seller que o login devolve.

Login do seller

POST/api/v1.0/vendor_loginAutenticada

Login do seller

Corpo da requisição

user_loginstringobrigatório
E-mail do seller. Obrigatório.
passwordstringobrigatório
Senha. Obrigatória.
fcm_tokenstring
Token de notificação push do aparelho. Aceito, mas ignorado.
POST/api/vendor_loginAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de POST /api/v1.0/vendor_login. Use este caminho se o seu cliente já foi escrito para ele.

POST/api/v1.0/vn_login_apiAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de POST /api/v1.0/vendor_login. Use este caminho se o seu cliente já foi escrito para ele.

POST/api/vn_login_apiAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de POST /api/v1.0/vendor_login. Use este caminho se o seu cliente já foi escrito para ele.

Recuperação de senha (esboço)

PUT/api/v1.0/vendor_loginAutenticada

Recuperação de senha (esboço)

Corpo da requisição

user_loginstring
Aceito e ignorado. A rota não envia e-mail nenhum.
PUT/api/vendor_loginAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de PUT /api/v1.0/vendor_login. Use este caminho se o seu cliente já foi escrito para ele.

PUT/api/v1.0/vn_login_apiAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de PUT /api/v1.0/vendor_login. Use este caminho se o seu cliente já foi escrito para ele.

PUT/api/vn_login_apiAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de PUT /api/v1.0/vendor_login. Use este caminho se o seu cliente já foi escrito para ele.

Cadastro de seller

POST/api/v1.0/vendor_signupAutenticada

Cadastro de seller

Corpo da requisição

emailstringobrigatório
E-mail de acesso. Obrigatório.
passwordstringobrigatório
Senha. Obrigatória. Segue as regras de senha da plataforma.
company_namestringobrigatório
Nome da empresa. Obrigatório.
first_namestring
Nome do responsável.
last_namestring
Sobrenome do responsável.
cnpjstring
CNPJ da empresa, com ou sem pontuação. Validado quando enviado.
phonestring
Telefone da empresa.
POST/api/vendor_signupAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de POST /api/v1.0/vendor_signup. Use este caminho se o seu cliente já foi escrito para ele.

POST/api/v1.0/vn_signup_apiAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de POST /api/v1.0/vendor_signup. Use este caminho se o seu cliente já foi escrito para ele.

POST/api/vn_signup_apiAutenticada

Mesma operação, caminho alternativo

Mesmo comportamento, parâmetros e resposta de POST /api/v1.0/vendor_signup. Use este caminho se o seu cliente já foi escrito para ele.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1.0/vendor_login" \
  -u "$EMAIL:$API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "user_login": "maria@modaaurora.example",
  "password": "S3nha-forte!"
}'
bash
curl -X POST "$BASE_URL/api/v1.0/vendor_signup" \
  -u "$EMAIL:$API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "novo@modaaurora.example",
  "password": "S3nha-forte!",
  "first_name": "Maria",
  "last_name": "Souza",
  "company_name": "Moda Aurora Ltda",
  "cnpj": "11.222.333/0001-81",
  "phone": "+55 11 98888-7777"
}'

Resposta

200Login feito
json
{
  "status": 200,
  "data": {
    "success": true,
    "message": "Login successful",
    "access_token": "eyJhbGciOi...",
    "vendor_data": {
      "user_id": "f12f30a9-cbec-40ba-98f1-b7fa8f2e8e10",
      "user_type": "vendor",
      "status": "A",
      "firstname": "Maria",
      "lastname": "Souza",
      "company": "Moda Aurora Ltda",
      "company_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
      "company_status": "A",
      "email": "maria@modaaurora.example",
      "phone": "+55 11 98888-7777",
      "url": "https://modaaurora.example",
      "lang_code": "pt-BR",
      "b_address": "Rua Augusta, 1234",
      "b_city": "São Paulo",
      "b_state": "SP",
      "b_country": "BR",
      "b_zipcode": "01310-100",
      "s_address": "Rua Augusta, 1234",
      "last_login": 1791753743,
      "is_root": "N",
      "tax_exempt": "N",
      "cnpj": "11222333000181"
    }
  }
}

Campos da resposta

data.successboolean
true quando o login deu certo.
data.access_tokenstring
JWT do seller. Envie em Authorization: Bearer nas demais rotas.
data.vendor_dataobject
Dados da conta no vocabulário da 1.0, em chaves sem sublinhado (firstname, lastname, company). Inclui user_id, user_type, status (letra do usuário), company_id, company_status (letra do seller), email, phone, url, lang_code, o endereço de cobrança b_* (b_address, b_city, b_state, b_country, b_zipcode, b_phone...), o endereço de entrega s_* (cópia do de cobrança), last_login (Unix), is_root e tax_exempt (Y/N) e cnpj. Campos de endereço sem cadastro saem como "". Há também as chaves com sublinhado (first_name, last_name, company_name, postal_code, website) para clientes novos.
200Cadastro feito
json
{
  "status": 200,
  "data": {
    "success": true,
    "message": "Registration successful",
    "access_token": "eyJhbGciOi..."
  }
}
200Recuperação de senha (esboço)
json
{
  "status": 200,
  "data": {
    "success": false,
    "message": "Password reset is not available via API. Use the web portal."
  }
}

Erros

StatusQuandoCorpo de exemplo
401Sem credencial, ou credencial inválida.{"status":401,"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>."}
200Corpo inválido.{"status":200,"data":{"success":false,"message":"Invalid request body"}}
200Falta user_login ou password.{"status":200,"data":{"success":false,"message":"user_login and password are required"}}
200E-mail ou senha errados.{"status":200,"data":{"success":false,"message":"Incorrect login credentials"}}
200A conta existe, mas não é de seller (por exemplo, administrador ou cliente).{"status":200,"data":{"success":false,"message":"Only vendor administrators can login"}}
200O usuário não tem seller ativo (pendente, desativado ou excluído).{"status":200,"data":{"success":false,"message":"No active company assigned to vendor"}}
200Faltam email, password ou company_name.{"status":200,"data":{"success":false,"message":"email, password, and company_name are required"}}
200A criação do usuário falhou (e-mail já usado, senha fraca...).{"status":200,"data":{"success":false,"message":"Registration failed: <detalhe>"}}
200O usuário foi criado, mas a empresa não (CNPJ inválido, nome de vitrine em uso...).{"status":200,"data":{"success":false,"message":"User created but vendor profile failed: <detalhe>"}}
Guarde o token e trate o logout

Guarde o access_token de forma segura no aparelho. Quando qualquer rota devolver data.action: "logout", apague o token e volte à tela de login: o seller foi desativado ou a conta não é mais de seller.

Cadastro parcial

O usuário é criado antes da empresa. Se a empresa falhar, a resposta é success: false, mas o usuário já existe (um novo cadastro com o mesmo e-mail dará "Registration failed"). Corrija o motivo e peça ao suporte da loja para completar a empresa. A empresa nasce pendente e só vende depois de aprovada pela loja. Nenhum e-mail de confirmação é enviado.

Veja também

  • Início, painel e avisos
  • Empresa e perfil
  • Visão geral do app do seller
Anterior
App do seller (1.0)
Próxima
Início, painel e avisos
Nesta página
  • Login do seller
  • Recuperação de senha (esboço)
  • Cadastro de seller
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também