Class: TntMercurio::Service::Helper
- Inherits:
-
Object
- Object
- TntMercurio::Service::Helper
- Defined in:
- lib/tnt_mercurio/service/helper.rb
Instance Method Summary collapse
-
#build_request_calculo_frete(parametros = {}) ⇒ Object
Montar o Hash com a requisão de calculo de frete.
-
#build_response_calculo_frete(resposta = {}) ⇒ Object
Montar o Hash com a resposta de calculo de frete.
Instance Method Details
#build_request_calculo_frete(parametros = {}) ⇒ Object
Montar o Hash com a requisão de calculo de frete
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/tnt_mercurio/service/helper.rb', line 8 def build_request_calculo_frete(parametros = {}) # Valida os parâmetros informados erros_params = "" erros_params << "Parâmetro obrigatório: login\n" if parametros[:login].blank? erros_params << "Parâmetro obrigatório: cep_origem\n" if parametros[:cep_origem].blank? erros_params << "Parâmetro obrigatório: cnpj_remetente\n" if parametros[:cnpj_remetente].blank? erros_params << "Parâmetro obrigatório: ie_remetente\n" if parametros[:ie_remetente].blank? erros_params << "Parâmetro obrigatório: cep_destino\n" if parametros[:cep_destino].blank? erros_params << "Parâmetro obrigatório: cpf_destinatario\n" if parametros[:cpf_destinatario].blank? erros_params << "Parâmetro obrigatório: valor_total\n" if parametros[:valor_total].blank? erros_params << "Parâmetro obrigatório: peso\n" if parametros[:peso].blank? raise erros_params unless erros_params.blank? params = { "ser:in0" => { "mod:login" => parametros[:login], "mod:cepOrigem" => parametros[:cep_origem], "mod:nrIdentifClienteRem" => parametros[:cnpj_remetente], "mod:nrInscricaoEstadualRemetente" => parametros[:ie_remetente], "mod:cepDestino" => parametros[:cep_destino], "mod:nrIdentifClienteDest" => parametros[:cpf_destinatario], "mod:vlMercadoria" => parametros[:valor_total], "mod:psReal" => parametros[:peso], } } # Adiciona as configurações padrões params["ser:in0"].merge! TntMercurio::Service.configuracoes_calculo_frete return params end |
#build_response_calculo_frete(resposta = {}) ⇒ Object
Montar o Hash com a resposta de calculo de frete
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/tnt_mercurio/service/helper.rb', line 45 def build_response_calculo_frete(resposta = {}) response = {} if resposta.blank? or resposta[:calcula_frete_response].blank? or !resposta[:error].blank? or !resposta[:calcula_frete_response][:out][:error_list].blank? response[:sucesso?] = false if resposta[:error].blank? response[:error] = resposta[:calcula_frete_response][:out][:error_list][:string] else response[:error] = resposta[:error].to_s end response[:valor] = 0 response[:prazo_entrega] = 0 else response[:sucesso?] = true response[:error] = '' response[:valor] = resposta[:calcula_frete_response][:out][:vl_total_frete] response[:prazo_entrega] = resposta[:calcula_frete_response][:out][:prazo_entrega] end return response end |