Referenciando Pedidos de Split no Storefront 2.0

Identificador de Pedido (Identifier)

Esta documentação é destinada a agências parceiras da Wake que implementam ou customizam o Minha Conta das lojas no Storefront 2.0, utilizando o identificador de pedido em fluxos de pedido split.

1. O que é o Identifier

O identifier é um campo que permite à loja exibir um identificador único do pedido de Split para o cliente. Ele é essencial em cenários de pedido split (pedido dividido em mais de um envio), fornecendo uma referência estável para o cliente.

  • Nome no GraphQL: identifier
  • Tipo: string
  • Disponibilidade: Preenchido apenas quando o checkout está finalizado (completed: true). Antes da finalização, o campo pode retornar vazio ou nulo.

2. Onde o Identifier aparece na API

O identificador pode ser consumido em dois contextos principais no front-end:

  1. Resposta da query checkout: Para exibir o identificador na página de confirmação de pedido ou telas de carrinho finalizado.
  2. Resposta da query customer: Para exibir o identificador na área Minha Conta (listagem ou detalhes de pedidos do cliente logado).

3. Como solicitar o Identifier no Front-end

3.1 Query checkout (Carrinho / Confirmação)

Para receber o identificador na página de confirmação, inclua os campos identifier e completed na sua query GraphQL:

query Checkout($checkoutId: String!) {
  data: checkout(checkoutId: $checkoutId) {
    checkoutId
    completed
    identifier
    url
    products {
      # ... campos de produto
    }
    shippingFee
    subtotal
    total
  }
}
  • completed: Indica se o checkout foi finalizado. Utilize este booleano para validar se o identifier está pronto para exibição.
  • identifier: contém o id do primeiro pedido - quantidade de pedidos gerados (ex: 1234-2)

3.2 Query customer (Minha Conta)

Na área logada, o identificador vinculado ao token do cliente está disponível através de customer. No SDK TypeScript Full, este campo já é retornado nativamente.

{
  customer(customerAccessToken:"token") {
    customerId
    customerName
    orders(pageSize:5) {
      totalCount
      items {
        orderId
        identifier
      }
    }
  }
}

Fluxo conceitual:

  1. Chame a query enviando o token do cliente: customer(customerAccessToken: $customerAccessToken).
  2. Utilize o campo identifier da resposta para listar os pedidos ou mostrar detalhes específicos.
📘

Exibir pedidos agrupados no minha conta

Existe a possibilidade de criar uma exibição onde aparece apenas o "pedido pai" (através do identifier) e dentro dele a lista dos "pedidos filhos".

Para isso você pode utilizar a função de agrupamento do group.