Cria uma nova conta de cliente. Define cookies httpOnly na resposta para login automático após o cadastro.
ClientSignupMutationInput!
| Campo | Tipo | Descrição |
|---|---|---|
| hostname | String! | Hostname da loja. |
| name | String! | Nome completo do cliente. |
| String! | E-mail (será validado como único). | |
| password | String! | Senha (mínimo 6 caracteres). |
| Campo | Tipo | Descrição |
|---|---|---|
| token | String | Token de autenticação. |
| user | AuthUser | Dados do usuário criado. |
mutation Signup($input: ClientSignupMutationInput!) {
clientSignup(input: $input) {
token
user {
id
name
email
}
}
} {
"input": {
"hostname": "minha-loja",
"name": "Maria Santos",
"email": "maria@email.com",
"password": "senha123"
}
} {
"data": {
"clientSignup": {
"token": "eyJhbGciOiJIUzI...",
"user": {
"id": "user456",
"name": "Maria Santos",
"email": "maria@email.com"
}
}
}
} const response = await fetch('/graphql', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
query: `mutation($input: ClientSignupInput!) {
clientSignup(input: $input) { user { id name email } }
}`,
variables: { input: { hostname: "minha-loja", name: "João", email: "joao@email.com", password: "senha123" } }
})
}); curl -X POST https://minha-loja.com/graphql \
-H "Content-Type: application/json" \
-d '{"query":"mutation { clientSignup(input: { hostname: \"minha-loja\", name: \"João\", email: \"joao@email.com\", password: \"senha123\" }) { user { id name } } }"}'