Calcular frete via API no VTEX IO

Olá Comunidade! Uma saudação cordial. Precisamos calcular o frete via API no OrderForm no VTEX IO

Precisamos replicar a seguinte função que foi usada no VTEX Legacy.

vtexjs.checkout.getOrderForm()
  .then(function(orderForm) {
    var postalCode = '22250-040';  // may also be without the hyphen
    var country = 'BRA';
    var address = {
      "postalCode": postalCode,
      "country": country
    };
    return vtexjs.checkout.calculateShipping(address)
  })
  .done(function(orderForm) {
    alert(Shipping calculated.');
    console.log(orderForm.shippingData);
    console.log(orderForm.totalizers);
  });

Ficamos atentos. Obrigado a todos!

Olá! @rafael.camargo! Saudações. Você saberá se existe alguma API para calcular frete. Obrigada.

1 Like

Olá!

Chegou a dar uma olhada na API Cart simulation ?

1 Like

Hey! Temos sim, mas a maneira mais usual de fazermos isso no VTEX IO é usando uma query exposta pela VTEX, definindo ela temos alguma coisa que deve se parecer com isso:

query getShippingEstimates(
  $items: [ShippingItem]
  $postalCode: String
  $country: String
) {
  shipping(items: $items, postalCode: $postalCode, country: $country) {
    logisticsInfo {
      itemIndex
      slas {
        id
        friendlyName
        price
        shippingEstimate
        shippingEstimateDate
      }
    }
  }
}

Pode dar uma olhada como ela mesmo fez aqui, no shipping-simulator usado por padrão em todas as lojas! :grin:

2 Likes

Olá @Saito! Uma saudação cordial. Vou verificar. obrigada

1 Like

Olá @rafael.camargo! Vou verificar. Uma dúvida haverá alguma maneira de fazer isso pelo Rest API. Obrigada.

1 Like

@developer-vtex-01 a forma de fazer isso usando APIs REST é como o @Saito disse anteriormente. A camada GraphQL é construída em cima de clientes que consultam as APIs REST, como você pode verificar aqui:

2 Likes

Oi @georgebrindeiro estava dando uma olhada por aqui, vi que temos duas interfaces de GraphQL para o checkout, esse checkout-graphql e dentro do store-graphql, sabe me dizer qual o “oficial” e qual vai continuar recebendo suporte?

Desde já, obrigado! :slight_smile:

1 Like

Acho que a opção recomendada ainda é o store-graphql mesmo. Lendo o README do checkout-graphql parece que ainda é experimental. Mas vale como exemplo mesmo assim, frequentemente usamos APIs REST por trás das camadas GraphQL disponíveis em :github: vtex-apps.

2 Likes

Olá @georgebrindeiro @rafael.camargo. Obrigado, vou verificar. O episódio de hoje do ‘VTEX Developers / Office Hours’ foi bom. Saudações :zap:

Office Hours - Brazil - 26/Jul/2022

1 Like

@Saito @rafael.camargo ambas as soluções são boas! Obrigada.:tada:

2 Likes

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.