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
            }
          ]
        }
      ]
    }
  }
}