# MeApi Wrapper de integração com a API v2 do Melhor Envio para cotação de frete. [Documentação API Melhor Envio](https://docs.melhorenvio.com.br/reference/introducao-api-melhor-envio) ### Funcionalidades: - Autenticação: authorization e refresh_token - Cotação de frete ## Instalação Adicionar me_api no Gemfile: ```ruby gem 'me_api' ``` ou ```shell bundle add me_api ``` Instalar a gem: ```shell bin/rails generate me_api:install ``` ## Uso ### Exemplo #### Autorização ```ruby api_client = MeApi::Client.new.authorize(client_id: "123456", client_secret: "abcde", code: "a1b2c3d4e5", redirect_url: "https://redirect-url.com") # retorna JSON da resposta puts api_client["access_token"] # string -> "abcde12345" puts api_client["refresh_token"] # string -> "asdfghjk123456" puts api_client["expires_in"] # integer -> 216000 ``` #### Refresh Token ```ruby api_client = MeApi::Client.new.refresh_token(client_id: "123456", client_secret: "abcde", refresh_token: "asdfghjk123456") # retorna JSON da resposta puts api_client["access_token"] # string -> "abcde12345" puts api_client["refresh_token"] # string -> "qwertyu098765" puts api_client["expires_in"] # string -> 21600 ``` #### Cotação de Frete ```ruby rates = MeApi::Client.new("access_token").rates(from: "01002010", to: "99990971", weight_kg: 10, contents_value_brl: 100.00, height_cm: 15, width_cm: 30, length_cm: 30) #retorna um array de Objetos puts rates[0] # 16, "max"=>17}, service_name="PAC", carrier_name="Correios", carrier_logo_url="https://www.melhorenvio.com.br/images/shipping-companies/correios.png"> puts rates[0].price # 87.3 ```