Visão geral
Todos os pedidos da sua loja podem e devem ser enviados para a Solomon sempre que forem criados ou atualizados. A Solomon processa pedidos de forma assíncrona. Cada envio é enfileirado, consolidado e persistido antes de ficar disponível para consulta e uso na plataforma.Processamento assíncrono
- Cada pedido recebido é enfileirado para processamento
- A fila de processamento é esvaziada em até 10 minutos
- Apenas após o processamento o pedido estará disponível na plataforma
- Quando múltiplas versões de um mesmo pedido são enviadas, prevalece sempre a versão mais recente, com base no campo
updatedAt
Requisição
A criação e atualização de pedidos são realizadas por meio de uma API REST utilizando o métodoPOST.
O mesmo endpoint é utilizado tanto para criação quanto para atualização de pedidos.O comportamento (create ou update) é determinado exclusivamente pelo campo
orderid.
Idempotência e atualização
Um pedido na Solomon representa uma transação comercial única e deve ser identificado de forma estável ao longo do tempo pelo campoorderId.
A idempotência é garantida pela combinação de:
orderIdupdatedAt
updatedAt mais antigo são ignoradas. Essa regra se aplica ao:
- Pedido
- Cliente
- Itens do pedido
Identificação de itens do pedido
Cada item de um pedido possui três identificadores distintos, com papéis diferentes. OitemId é um identificador único do item dentro do pedido e permite múltiplas entradas
da mesma variante com preços ou condições diferentes.
Por vez, o variantId identificador da variante do produto e o productId é o próprio
identificador do produto.
É fundamental que esses identificadores sejam enviados corretamente para garantir consistência dos dados.
Cruzamento de dados e jornada do cliente
Alguns campos enviados no pedido podem ser utilizados pela Solomon para reconstruir a jornada do cliente ao longo do tempo. Para a integração direto na API, nós utilizamos como campo principal para este cruzamento ouserId como um identificador
único do usuário que é enviado junto ao pedido na API e também nos eventos do site.
Outros campos comumente utilizados para esse fim, os chamados aliases, incluem:
cartToken: serve como um identificador do carrinho, exclusivo daquele usuáriocustomerId: identificação do cliente na lojaemail: endereço de e-mail usado pelo cliente para fazer a compraphone: telefone usado pelo cliente para fazer a compra
Erros comuns
A fim de evitar possíveis insonsistências nos dados, recomendamos que seja garantido do lado da loja que:- O campo
totalPriceseja igual à soma dos itens + frete − descontos - Um mesmo
orderIdrepresente sempre um único pedido - O
updatedAtenviado seja sempre o mais recente disponível - Todos os valores monetários estejam na moeda informada no pedido

