Criar cliente
Cadastra um cliente pessoa física ou jurídica, um administrador ou um usuário de seller.
Use esta operação quando o cadastro nasce fora da vitrine: um ERP que exporta sua base, um atendimento que abre a conta por telefone, uma migração de outro sistema. O cliente criado já pode entrar com o e-mail e a senha, comprar e receber os e-mails de cadastro que a loja tiver configurado (o mesmo evento de cadastro de uma conta criada na vitrine é disparado).
Antes de criar, procure o e-mail e o documento com Listar clientes: o e-mail é único entre os usuários não excluídos. Esta rota cria só o essencial (e-mail, nome, telefone, CNPJ) e devolve apenas os ids do novo usuário.
/api/v1.0/usersAdminCriar um usuário
Também responde em POST /api/users. Só email e user_type são obrigatórios na checagem da rota, mas na prática é preciso um nome (firstname ou name); sem ele a chamada volta 400.
Sem password, a plataforma gera uma senha aleatória e descartável (nunca uma senha fixa). O cliente criado assim entra pelo fluxo "esqueci a senha". Não existe senha padrão.
Corpo da requisição
emailstringobrigatóriouser_typestringobrigatórioAVCC cliente, V usuário de seller, A administrador. Qualquer outro valor cria um cliente, sem erro.firstnamestringname é aceito como sinônimo. Obrigatório na prática.lastnamestringpasswordstringphonestringCNPJstringstatusstringpadrão: AADPcompany_idintegerV por aqui não o liga a nenhum seller.Exemplo de requisição
curl -u "$EMAIL:$API_KEY" -X POST "$BASE_URL/api/v1.0/users" \
-H "Content-Type: application/json" \
-d '{
"email": "maria.souza@example.com",
"user_type": "C",
"firstname": "Maria",
"lastname": "Souza",
"phone": "11999990000"
}'Resposta
{
"user_id": "a52840fe-442d-4e77-b3c5-624965b38aaf",
"profile_id": "a52840fe-442d-4e77-b3c5-624965b38aaf"
}Campos da resposta
user_idstring/api/users). Guarde-o: é a chave para tudo o resto.profile_idstringuser_id (na plataforma antiga eram dois ids).Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo que não é JSON | {"message":"Invalid JSON body","status":400} |
| 400 | Falta email ou user_type | {"message":"Required field: email","status":400} ou {"message":"Required field: user_type","status":400} |
| 400 | Cadastro recusado: nome ausente, e-mail ou CNPJ inválido | {"message":"<motivo>","status":400} |
| 400 | E-mail já em uso | {"message":"email already registered","status":400} |
| 401 | Sem credenciais, chave inválida ou token expirado | {"message":"Invalid credentials","status":401} |
| 403 | Não é administrador | {"message":"Forbidden: admin scope required","status":403} |