Solidus Me

Gem para cotar empresas e valores de entrega junto à Api do Melhor Envio.

Installation

Adicionar solidus_me ao Gemfile:

gem 'solidus_me'

Executar:

bundle
bin/rails generate solidus_me:install

Executar o comando para instalar a gem de dependências solidus_brasilian_adaptations:

bin/rails generate solidus_brazilian_adaptations:install

Após, seguir o tutorial da gem soluds_brazilian_adaptations

Adicionar no arquivo /config/initilizers/spree.rb

Spree.config do |config|
+++
config.stock.estimator_class = "SolidusMe::ShippingEstimator"
+++
end

No painel do admin será adiconado o item do Melhor Envio no menu lateral. Nesta página deverão ser preenchidos os seguintes campos para autenticação do aplicativo:

CEP de origem:
Client ID:
Client Secret:
Redirect Url:
State:

Após salvar, o link completo para autenticação do aplicativo ficará disponível abaixo. A gem disponibiliza um endpoint (HOST/admin/melhor_envio/authorize) para receber o code e realizar a autenticação automaticamente. Uma vez autorizado, são gerados os refresh_token e access_token, e o sistema estará pronto para cotação dos fretes junto ao Melhor Envio.

Por padrão, os serviços de entrega são os SEDEX, PAC e MiniEnvios dos CORREIOS. Porém, os serviços podem ser customizados de acordo com a necessidade. Basta adicioná-los aos preferences da Spree::Store:

# Por exemplo
Spree::Store.first.update(preferences: { melhor_envio: { services: ["SEDEX", "PAC", "Mini Envios", ".Com", ".Package"] } })