Pular para o conteúdo principal

Incluir produto na cesta

Um produto entra na cesta de dois jeitos: o vendedor o lança no ERP, ou clica nele no Siprinho. Nos dois casos, o que inclui é o código exato do produto (productCode) — ao contrário da busca por texto, que só mostra candidatos.

Inclusão pelo ERP​

O produto que o vendedor lança no próprio ERP entra na cesta pelo caminho de sempre do ERP. Quem controla esse lançamento é o ERP: o preço, o estoque e as regras são os do ERP.

Para o Sipru acompanhar, o ERP chama o endpoint product do canal com o código exato e a quantidade:

curl -X POST $SIPRU_BASE_URL/api/erp/channel/$CHANNEL_ID/product \
-sS --fail-with-body --max-time 5 --retry 1 --retry-connrefused \
-H "Authorization: Bearer $SIPRU_SECRET" \
-H "X-Sipru-Partner-Id: $SIPRU_PARTNER_ID" \
-H "X-ERP-Name: $ERP_NAME" \
-H "X-ERP-Version: $ERP_VERSION" \
-H "X-Local-MAC-Address: $DEVICE_MAC_ADDRESS" \
-H "X-Local-Machine-Name: $LOCAL_MACHINE_NAME" \
-H "X-CNPJ: $CNPJ_LOJA" \
-H "X-Codigo-Externo-Rede: $CODIGO_DA_REDE" \
-H "X-Codigo-Externo-Loja: $CODIGO_DA_LOJA" \
-H "Content-Type: application/json" \
-d '{"productCode":"000105","quantity":1}'

Na tela do Siprinho, o produto aparece como produto confirmado, entra na cesta com a quantidade informada e vem acompanhado de substitutos, cross-sell e upsell.

CampoTipoDescrição
productCodestringCódigo do produto no ERP. Até 120 caracteres.
eanstringCódigo de barras. Usado quando productCode não vem.
quantitynúmeroQuantidade da linha da cesta. Opcional: ausente ou inválida vira 1, e acima de 9999 é truncada.

A resposta:

{
"seq": 7,
"product": { "sku": "000105", "name": "Alicate universal 8\"", "price": 34.9, "coinsReward": 12 },
"recommendations": { "substitutes": 3, "crossSell": 5, "upsell": 1 }
}
  • seq — a ordem do evento no canal.
  • product — o produto que o Sipru encontrou e mostrou ao vendedor.
  • recommendations — quantas sugestões foram publicadas em cada coluna.

Os erros são os mesmos da busca.

A chamada não pode travar o lançamento

A ordem entre lançar no ERP e chamar o Sipru fica a critério do ERP. O que importa é que a chamada nunca bloqueie nem desfaça o lançamento: se a Sipru estiver fora do ar, a cesta do ERP segue funcionando.

Inclusão pelo Siprinho​

Clicar num produto exato inclui na cesta

Clicar num produto no Siprinho — da vitrine ou de uma sugestão — manda o código exato (productCode): na tela ele aparece como produto confirmado e entra na cesta com a quantidade informada.

O item clicado no Siprinho também precisa chegar à cesta do ERP. Como ele chega — deeplink, API do ERP, banco de dados, arquivo ou área de transferência — está em Receber produtos do Siprinho.

Cuidado com item em dobro

O vendedor pode clicar no Siprinho no mesmo produto que acabou de lançar no ERP. Quando esse produto chegar do Siprinho, confira se ele já está na cesta e decida se soma a quantidade ou ignora — o Siprinho não sabe o que o ERP já lançou.