Visão Geral
O kit é a representatividade de um combinado de produtos. Buscando alternativas para chamar a atenção dos consumidores e poder acelerar as vendas no ecommerce, o Linx Omni disponibiliza a funcionalidade Cotação de Kit de Produtos.
Benefícios
A funcionalidade apresenta alguns benefícios:
- Maior flexibilidade na precificação de produtos.
- Aumento no ticket médio.
- Oferta de frete competitiva.
- Otimização de estoque.
Funcionamento
Em Cotação de Kit de Produtos, se faz necessário que o canal de venda tenha a configuração para combinação dos skus do KIT. Além disso, quando requisitado o Kit pelo consumidor, a Request da cotação deverá ser contemplada com os campos do json abaixo.
curl --location 'https://homolog-chubaca.omniplat.io/v1/clients/qa/channels/site/freights' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic xxxxxxxxxxxxxx=' \
--data '{
"destinationZipcode": "01414010",
"clientId": "qa",
"channelId": "site",
"groups": {
"qatest": {
"items": {
"skuId-001": {
"quantity": 10,
"height": 100,
"length": 300,
"weight": 100,
"width": 10,
"price": 10
},
"skuId-002": {
"quantity": 20,
"height": 200,
"length": 300,
"weight": 200,
"width": 20,
"price": 20
}
},
"kits": [
{
"kitId": "kitId",
"price": 1000,
"quantity": 10,
"items": {
"skuId-001": {
"quantity": 1
},
"skuId-002": {
"quantity": 2
}
}
}
]
}
}
}'
| Campo | Descrição |
|---|---|
| kits | Caso seja requisitado algum kit, se faz necessário que este campo existe no json da request da cotação. Este é um campo opcional. Porém, quando existente, se faz necessário que o array esteja preenchido. |
| kitId | Identificado do kit. |
| price | Preço do kit (opcional). |
| quantity | Quantidade do kit. |
| items | lista de itens que compõe o kit. |
Observações
- Não existe quebra de pedidos para itens de um mesmo SKU.
- O kit esta habilitado apenas para o fluxo de entrega ou retirada na loja. Não esta disponível para entrega em lockers.
- Caso não seja enviado o campos kits na request, a cotação irá continuar funcionando de forma padrão.
- A quantidade dos skus informados no array de kits deverá já estar contemplada no array de items da cotação, ou seja, neste terão todos os skus requisitados e no array do kit estarão quais destes skus compõe o kit.
- Caso a quantidade de um sku no kit seja maior do que a quantidade informada dentro de items do array da cotação, iremos retornar um erro 400 com a mensagem explicativa "The quantity of kit items must be equal or lower than quotation items".
Após processo de cotação, quando identificado uma requisição contemplada de kit, o Linx Omni irá apresentar um retorno com o json do response abaixo.
{
"quoteId": "94530961-deb9-4618-bd7d-cb3ab730cdd6",
"groups": {
"qatest": {
"pickup": {
"locationId-002": {
"method": "PICKUP",
"allowReservation": true,
"allowPrePaidPickup": true,
"fulfillments": {
"F1": {
"id": "F1",
"locationId": "locationId-002",
"locationType": "Franchise",
"type": "PICKUP",
"freightCosts":
,
"appliedRules": {},
"items": {
"skuId-001":
,
"skuId-002":
},
"stockTypes": {
"skuId-001":
,
"skuId-002":
},
"kits": [
{
"kitId": "kitId",
"quantity": 10,
"price": 1000,
"items": {
"skuId-001":
,
"skuId-002":
}
}
]
}
},
"price": 2,
"time": 2,
"reserveDeadline": 2,
"pickupDeadline": 2,
"deliveryEstimatedDate": "2023-06-16"
}
},
"pickupExceptions": [
{
"locationId": "locationId-001",
"canReceiveFromStore": true,
"items": [
,
],
"kits": [
{
"kitId": "kitId",
"totalRequested": 10,
"totalAvailable": 0,
"items": {
"skuId-001":
,
"skuId-002":
}
}
]
}
],
"shipment": {
"dcb1ccfb-6d20-47bc-ab72-da3d890dd06b": {
"id": "dcb1ccfb-6d20-47bc-ab72-da3d890dd06b",
"method": "Normal - methodId-001",
"methodId": "methodId-001",
"poolDeadline": 10,
"price": 10,
"time": 23,
"deliveryEstimatedDate": "2023-07-06",
"fulfillments": {
"F1": {
"id": "F1",
"locationId": "locationId-010",
"locationType": "Distribution Center",
"type": "SHIPMENT",
"freightCosts":
,
"shipment": {
"shippingPrice": 0,
"shippingTime": 7,
"carrierId": "100",
"carrierName": "Razão social 100",
"contractId": "contractId-003",
"methodId": "methodId-001",
"method": "Normal - methodId-001",
"recessDays": 2,
"details": {
"minWeight": 5.01,
"maxWeight": 6,
"overweightFactor": 0,
"dimensionalFactor": 200,
"grisType": "",
"grisValue": 0,
"grisMinValue": 0,
"adValorenType": "",
"adValorenValue": 0,
"adValorenMinValue": 0,
"otherCharges": 0,
"icmsCost": 0,
"provider":
}
},
"appliedRules": {},
"items": {
"skuId-001":
,
"skuId-002":
},
"stockTypes": {
"skuId-001":
,
"skuId-002":
},
"kits": [
{
"kitId": "kitId",
"quantity": 10,
"price": 1000,
"items": {
"skuId-001":
,
"skuId-002":
}
}
]
}
}
}
},
"shipmentExceptions": [
{
"message": "No delivery packages available to this freight method.",
"methodId": "methodId-002",
"methodName": "Expressa - methodId-002",
"items": [
,
],
"kits": [
{
"kitId": "kitId",
"totalAvailable": 0,
"totalRequested": 10,
"items": {
"skuId-001":
,
"skuId-9999":
}
}
]
}
]
}
}
}
| Campo | Descrição |
|---|---|
| kits | É o campos que demonstra o array das informações do kit. |
| kitId | Identificador do kit. |
| price | Preço do kit (opcional). |
| quantity | Quantidade do kit. |
| items | lista de itens que compõe o kit. |
| totalAvailable | Quantidade de kit disponível. |
| totalRequested | Quantidade de kit requisitado. |
Quando não disponível toda os itens requisitados na cotação, os itens que estiverem disponíveis estarão contemplados na estrutura de shipmentExceptions, apresentando os objetos totalAvailable e totalRequested.
Atenção
Para clientes que desejam utilizar essa funcionalidade, se faz necessário verificar se a plataforma de e-commerce utilizada esta preparada para trabalhar com kit. Para isso, recomendamos que seja feita uma homologação fora do ambiente de produção.