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
}
]
}
]
}
}
}
Updated 14 days ago