VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Sessão do cliente

Perfil do visitante

Guarda os dados de contato e entrega de quem compra sem conta, para o checkout não pedir tudo de novo.

Um visitante (guest) é quem navega e compra sem criar conta. A loja o reconhece só por um identificador de sessão que o seu front-end envia no cabeçalho X-Session-ID. O perfil do visitante é um pequeno cadastro (nome, e-mail, documento, endereço) preso a essa sessão, para que, se ele recarregar a página ou voltar ao checkout, os campos já venham preenchidos.

Pontos principais
  • O X-Session-ID é gerado por você: use um UUID aleatório (v4) por visitante e guarde no navegador. A mesma sessão vale para o carrinho e o checkout.
  • Não há login: quem souber o X-Session-ID lê e altera o perfil daquela sessão. Por isso o identificador precisa ser longo, aleatório e nunca derivado de e-mail, CPF ou contador.
  • PUT faz mescla: só os campos enviados e não vazios substituem os que já estavam salvos. Não dá para limpar um campo mandando string vazia; para isso apague o perfil inteiro.
  • Se o visitante criar uma conta, apague o perfil com DELETE.
GET/api/v1/storefront/guest/profilePública

Ler o perfil do visitante

Cabeçalhos

X-Session-IDstring
Sessão do visitante. Sem o cabeçalho, a resposta é null.
bash
curl "$BASE_URL/api/v1/storefront/guest/profile" \
  -H "X-Session-ID: $SESSION_ID"
200Perfil encontrado
json
{
  "session_id": "d3b07384-d9a0-4c1b-9f0e-6a3f1c2e8b55",
  "email": "maria.souza@example.com",
  "first_name": "Maria",
  "last_name": "Souza",
  "phone": "(11) 91234-5678",
  "cpf": "123.456.789-09",
  "address_line1": "Av. Paulista, 1000",
  "address_line2": "Apto 52",
  "district": "Bela Vista",
  "city": "São Paulo",
  "state": "SP",
  "postal_code": "01310-100",
  "country": "BR",
  "updated_at": "2026-10-11T20:41:07Z"
}

Quando não existe perfil para a sessão (ou o cabeçalho não foi enviado), o corpo é o literal null com status 200.

PUT/api/v1/storefront/guest/profilePública

Salvar ou atualizar o perfil

Cabeçalhos

X-Session-IDstringobrigatório
Sessão do visitante.

Corpo da requisição

emailstring
E-mail de contato.
first_namestring
Nome.
last_namestring
Sobrenome.
phonestring
Telefone com DDD.
cpfstring
CPF de pessoa física.
cnpjstring
CNPJ de pessoa jurídica.
address_line1string
Logradouro e número.
address_line2string
Complemento.
districtstring
Bairro.
citystring
Cidade.
statestring
UF (SP).
postal_codestring
CEP.
countrystring
País (BR).
bash
curl -X PUT "$BASE_URL/api/v1/storefront/guest/profile" \
  -H "X-Session-ID: $SESSION_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "maria.souza@example.com",
  "first_name": "Maria",
  "last_name": "Souza",
  "postal_code": "01310-100"
}'

A resposta é o perfil completo depois da mescla, no mesmo formato do GET.

Campos da resposta

session_idstring
A sessão a que o perfil pertence.
emailstring
Os demais campos repetem o corpo da requisição; os que nunca foram preenchidos não aparecem.
updated_atstring
Última alteração (RFC 3339, UTC).
DELETE/api/v1/storefront/guest/profilePública

Apagar o perfil do visitante

Cabeçalhos

X-Session-IDstringobrigatório
Sessão do visitante.
bash
curl -X DELETE "$BASE_URL/api/v1/storefront/guest/profile" \
  -H "X-Session-ID: $SESSION_ID"
200Perfil apagado
json
{
  "status": "deleted"
}

Erros

StatusQuandoExemplo de corpo
400PUT ou DELETE sem X-Session-ID.{"error":"X-Session-ID header required"}
400PUT com corpo que não é JSON.{"error":"invalid request body","detail":"..."}
403Chave de API sem o escopo storefront:write (quem usa token de cliente não é afetado).{"error":"missing_scope","required":"storefront:write"}
429Limite de requisições da família /storefront/.{"error":"rate limit exceeded","detail":"too many requests, please try again later"}
500Falha ao ler, salvar ou apagar.{"error":"failed to save guest profile","detail":"..."}
Dados pessoais

O perfil guarda CPF, telefone e endereço. Não grave o X-Session-ID em log, não o ponha em URL e não o compartilhe entre visitantes. Peça consentimento conforme a LGPD antes de salvar.

Veja também

  • Pedido de visitante
  • Verificação por código
Anterior
Sessões do cliente
Próxima
Pedido de visitante
Nesta página
  • Erros
  • Veja também