Added

Document Wake: armazene e consulte dados próprios da sua loja via API

Novidade: agora a sua loja pode criar e gerenciar os próprios dados estruturados na Wake!

Sabemos que nem toda informação que a sua operação precisa guardar cabe em um cadastro nativo da plataforma — um código de vendedor, uma tabela auxiliar de integração com o ERP, dados complementares de produto, configurações de campanha. Ouvindo os feedbacks de lojistas da nossa comunidade, lançamos o Document Wake, um recurso que dá à sua loja um espaço próprio para armazenar esses dados dentro da Wake.

Agora, você não precisa mais manter um banco de dados paralelo só para sustentar informações acessórias da sua operação. Elas ficam na plataforma, validadas e disponíveis tanto para as suas integrações quanto para a vitrine da sua loja.

🧩 Como funciona

O Document Wake é organizado em dois conceitos:

  • Entidade de document: a definição do dado. É onde a sua loja declara o nome da entidade e o schema (no padrão JSON Schema, draft 2020-12) que descreve o formato dos registros que ela aceita.
  • Document (valor): o dado em si, gravado em JSON e validado contra o schema da entidade a cada criação e atualização — garantindo que nada entre fora do formato declarado.

⚙️ Para o seu time de Tecnologia e Integrações (API Pública)

Toda a administração é feita pela API Pública, com CRUD completo nos dois níveis:

  • Entidades: POST /document/entities, GET /document/entities, GET /document/entities/{id}, GET /document/entities/by-name/{name}, PUT /document/entities/{id} e DELETE /document/entities/{id}.
  • Documents: POST /document/values, POST /document/values/by-entity-name/{name}, GET /document/values/{id}, GET /document/values/by-entity/{entityId}, GET /document/values/by-entity-name/{name}, PUT /document/values/{id} e DELETE /document/values/{id}.
  • Listagem paginada: a consulta dos documents pelo nome da entidade é paginada por cursor sobre o id, com até 50 itens por página e um pageInfo indicando avanço e retorno.
  • Histórico de alterações: toda atualização de entidade preserva os valores anteriores de name, schema e publicOperations, retornados nas consultas por identificador e por nome.

Lembrando que as operações exigem que o token da API Pública tenha as permissões correspondentes liberadas.

🛍️ Para a vitrine da sua loja (Storefront API)

Os documents também podem ser consumidos e mantidos direto pelo GraphQL do Storefront API:

  • Queries: documents, que lista os documents de uma entidade paginados por cursor, e document, que retorna um document pelo id.
  • Mutations: documentCreate, documentUpdate e documentDelete.
  • Argumento fields: disponível em documents e document para limitar o retorno a campos específicos.
  • Identificador em hash: o id dos documents segue o padrão de identificação global do Storefront API e é o mesmo valor usado como cursor na paginação.

As entidades continuam sendo criadas e mantidas apenas pela API Pública.

🔒 Controle de exposição pública

Nada fica acessível na vitrine sem que a sua loja libere explicitamente:

  • publicOperations: a entidade declara quais operações (CREATE, READ, UPDATE, DELETE) são públicas. Uma operação não declarada retorna o erro WDC103 no Storefront API.
  • publicView: cada propriedade do schema declara se é visível publicamente. Apenas as propriedades com publicView: true aparecem no campo data retornado pelo Storefront API.

As chamadas autenticadas pela API Pública sempre retornam o document completo, independentemente dessas marcações.

🛡️ Esta é uma entrega 100% aditiva e sem breaking changes. Nenhum endpoint, query, mutation ou campo existente foi alterado, removido ou renomeado, portanto as suas integrações atuais continuarão funcionando perfeitamente.

📖 Confira a documentação completa em

API Pública: Document Wake

Storefront API: Document Wake - Visão geral