Hello! I’m relatively new to Rails and in over my head…
I’d like to integrate the XML UPS Shipping tools into an online cart
so that a user can select a shipping method based on availability and
price. I understand what UPS wants and what I should get back from
them…but I’m failing at the most basic level. How can I do the
following:
send UPS an XML Post request,
parse the XML that they send back, and
use their response in my next view template?
It seems like this should be so basic, but I’ve searched with no
luck. Any help is greatly appreciated.
RatedShipment"){ |service| @code = service.elements[“Service”].elements[“Code”]
if @code.text == “03” @upsg = @code.parent.parent.elements[“TotalCharges”].elements[“MonetaryValue”].text
end
if @code.text == “12” @ups3 = @code.parent.parent.elements[“TotalCharges”].elements[“MonetaryValue”].text
end
if @code.text == “02” @ups2 = @code.parent.parent.elements[“TotalCharges”].elements[“MonetaryValue”].text
end
if @code.text == “01” @ups1 = @code.parent.parent.elements[“TotalCharges”].elements[“MonetaryValue”].text
end
}
session[:upsg] = @upsg if @upsg
session[:ups3] = @ups3 if @ups3
session[:ups2] = @ups2 if @ups2
session[:ups1] = @ups1 if @ups1
end
I use this to find the rates for UPS Ground, 3-Day, 2-Day, and Next-
Day. The view (template) then takes these rates and plops them into a
selection list. It’s not exactly pretty, but it seems to work.
I hope that somebody might find this useful! I know that I could have
used it when I was trying things out…
Thanks for the link. I had looked at the shipping gem, but it appears
that it hasn’t been maintained since 2005. I’m also not quite savvy
enough to implement a gem like this by looking only at the source.
Hopefully the solution I came up with will continue to work. I
haven’t looked at the FedEx tools yet, but UPS (technically speaking)
won’t allow a programmer to use their API and display a competitor’s
rates side by side.
-Kyle
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.