Acesso Comercial / Docs / Storefront / API
Ctrl K
MUTATION

clientSignup

Cria uma nova conta de cliente. Define cookies httpOnly na resposta para login automático após o cadastro.

Input

ClientSignupMutationInput!

CampoTipoDescrição
hostnameString!Hostname da loja.
nameString!Nome completo do cliente.
emailString!E-mail (será validado como único).
passwordString!Senha (mínimo 6 caracteres).

Retorno

CampoTipoDescrição
tokenStringToken de autenticação.
userAuthUserDados do usuário criado.

Mutation

GraphQL
mutation Signup($input: ClientSignupMutationInput!) {
  clientSignup(input: $input) {
    token
    user {
      id
      name
      email
    }
  }
}

Variables

JSON
{
  "input": {
    "hostname": "minha-loja",
    "name": "Maria Santos",
    "email": "maria@email.com",
    "password": "senha123"
  }
}

Resposta

JSON
{
  "data": {
    "clientSignup": {
      "token": "eyJhbGciOiJIUzI...",
      "user": {
        "id": "user456",
        "name": "Maria Santos",
        "email": "maria@email.com"
      }
    }
  }
}

Fetch

JavaScript
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

Bash
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 } } }"}'