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 do seller
/api/v1.0/vendor_loginAutenticadaLogin do seller
Corpo da requisição
user_loginstringobrigatóriopasswordstringobrigatóriofcm_tokenstring/api/vendor_loginAutenticadaMesma 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.
/api/v1.0/vn_login_apiAutenticadaMesma 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.
/api/vn_login_apiAutenticadaMesma 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)
/api/v1.0/vendor_loginAutenticadaRecuperação de senha (esboço)
Corpo da requisição
user_loginstring/api/vendor_loginAutenticadaMesma 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.
/api/v1.0/vn_login_apiAutenticadaMesma 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.
/api/vn_login_apiAutenticadaMesma 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
/api/v1.0/vendor_signupAutenticadaCadastro de seller
Corpo da requisição
emailstringobrigatóriopasswordstringobrigatóriocompany_namestringobrigatóriofirst_namestringlast_namestringcnpjstringphonestring/api/vendor_signupAutenticadaMesma 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.
/api/v1.0/vn_signup_apiAutenticadaMesma 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.
/api/vn_signup_apiAutenticadaMesma 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
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!"
}'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
{
"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.successbooleantrue quando o login deu certo.data.access_tokenstringAuthorization: Bearer nas demais rotas.data.vendor_dataobjectfirstname, 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.{
"status": 200,
"data": {
"success": true,
"message": "Registration successful",
"access_token": "eyJhbGciOi..."
}
}{
"status": 200,
"data": {
"success": false,
"message": "Password reset is not available via API. Use the web portal."
}
}Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem credencial, ou credencial inválida. | {"status":401,"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>."} |
| 200 | Corpo inválido. | {"status":200,"data":{"success":false,"message":"Invalid request body"}} |
| 200 | Falta user_login ou password. | {"status":200,"data":{"success":false,"message":"user_login and password are required"}} |
| 200 | E-mail ou senha errados. | {"status":200,"data":{"success":false,"message":"Incorrect login credentials"}} |
| 200 | A conta existe, mas não é de seller (por exemplo, administrador ou cliente). | {"status":200,"data":{"success":false,"message":"Only vendor administrators can login"}} |
| 200 | O usuário não tem seller ativo (pendente, desativado ou excluído). | {"status":200,"data":{"success":false,"message":"No active company assigned to vendor"}} |
| 200 | Faltam email, password ou company_name. | {"status":200,"data":{"success":false,"message":"email, password, and company_name are required"}} |
| 200 | A criação do usuário falhou (e-mail já usado, senha fraca...). | {"status":200,"data":{"success":false,"message":"Registration failed: <detalhe>"}} |
| 200 | O 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>"}} |