CheckoutSelectShippingQuote

A mutation CheckoutSelectShippingQuote permite a seleção de uma forma de envio para o processo de fechamento de pedido.

mutation($checkoutId: Uuid!, $shippingQuoteId: Uuid!) { checkoutSelectShippingQuote( checkoutId: $checkoutId shippingQuoteId: $shippingQuoteId ) { cep checkoutId shippingFee selectedShipping { deadline name shippingQuoteId type value } } }

🚧

Para obter a cotação de frete, será necessário utilizar a query shippingQuotes , com a opção useSelectedAddress true. A resposta é o objeto do carrinho completo.

Para mais detalhes de um exemplo de shippingQuotes, [clique aqui!]

Exemplo:

{ "data": { "checkoutSelectShippingQuote": { "cep": 00000000, "checkoutId": "622a8e8d-d637-41a8-bdb7-e11cb4cb8c96", "shippingFee": 57.41, "selectedShipping": { "deadline": 8, "name": "Correios PAC 2", "shippingQuoteId": "12b445c1-c854-4450-910b-2981ec5843a4", "type": "Intelipost", "value": 57.41 } } } }

No objeto do carrinho, consta o campo selectedShipping, que retorna a cotação de frete selecionada para o carrinho.

Agendamento

Para cotações com agendamento:

mutation( $checkoutId: Uuid! $shippingQuoteId: Uuid! $deliveryScheduleInput: DeliveryScheduleInput ) { checkoutSelectShippingQuote( checkoutId: $checkoutId shippingQuoteId: $shippingQuoteId deliveryScheduleInput: $deliveryScheduleInput ) { cep checkoutId shippingFee selectedShipping { deadline name shippingQuoteId type value deliverySchedule { date endDateTime endTime startDateTime startTime } } } }

Variáveis de exemplo:

{ "checkoutId": "d8edf342-0a39-439d-9f37-b858b0f6ffd4", "shippingQuoteId": "0663cbab-2258-463e-912c-5beaf1930087", "deliveryScheduleInput": { "date": "2023-04-28T05:00:00.000-03:00", "periodId": 34 } }

Informações adicionais na seleção da forma de envio Retirada na Loja

Para inserir "Nome" e "Documento" ao selecionar uma forma de envio "Retirada na Loja", basta seguir o exemplo abaixo, essas informações estão dentro do objeto additionalInformation com os campos name e document:

mutation ($checkoutId: Uuid!, $shippingQuoteId: Uuid!) { checkoutSelectShippingQuote( checkoutId: $checkoutId shippingQuoteId: $shippingQuoteId additionalInformation: { name: "Teste", document: "1234567" } ) { ...checkoutFields } }

Seleção de cotação de frete por produtos agrupados por Centro de Distribuição

Abaixo temos um exemplo, para selecionar uma cotação de frete por produtos agrupados por CD.

📘

Necessário chamar a mutation para cada grupo de cotação (centro de distribuição).

mutation { checkoutSelectShippingQuote( checkoutId: "9b4baf4b-349a-4e19-a7a0-f2b8cdc0000d" shippingQuoteId: "7de3a781-4a00-4834-ac74-353f96c00001" distributionCenterId: "eyJFbnRpdHkiOiJEaXN0cmlidXRpb25DZW50ZXIiLCJJZCI60000" ) { cep checkoutId selectedShippingGroups { distributionCenter { id sellerName } selectedShipping { deadline name shippingQuoteId type value } products { productVariantId } } } }
Mostrar resposta
{ "data": { "checkoutSelectShippingQuote": { "cep": 80000000, "checkoutId": "9b4baf4b-349a-4e19-a7a0-f2b8cdc0000d", "selectedShippingGroups": [ { "distributionCenter": { "id": "eyJFbnRpdHkiOiJEaXN0cmlidXRpb25DZW50ZXIiLCJJZCI60000", "sellerName": "Teste 12" }, "selectedShipping": { "deadline": 12, "name": "PAC descrição", "shippingQuoteId": "757b5c6d-d51a-4e86-9923-b834fb4730d7", "type": "Correios", "value": 16.24 }, "products": [ { "productVariantId": 123456 } ] }, { "distributionCenter": { "id": "eyJFbnRpdHkiOiJEaXN0cmlidXRpb25DZW50ZXIiLCJJZCI60000", "sellerName": null }, "selectedShipping": null, "products": [ { "productVariantId": 123456 } ] } ] } } }