Here's some info on the canpar API:
Parameters:
service: 1=Ground, 2=U.S.A., 3=Select Letter, 4=Select Pak, Select Parcel
quantity: Number of pieces in the shipment
unit: Weight unit of measure L=lbs, K=kgs
weight: Weight of the shipment
origin: Origin postal code
dest: Destination postal code
cod (cash on delivery): Value of the COD; 0 if not a COD shipment
dec (declared value): Value in Canadian dollars
put (Pickup Tag): 1=Pickup Tag Shipment, 0=Not a Pickup Tag Shipment
xc (Extra Care): Number of Extra Care pieces in the shipment
This is a sample http request to get a rate
Code:
http://www.canpar.com/XML/BaseRateXML.jsp?service=1&quantity=1&unit=L&weight=10&origin=M4X1W7 &dest=L4Y2N9&cod=100&dec=200&put=0&xc=1
Sorry, I had to wrap that in <code> tags so it would display.
Sample XML data returned:
<?xml version="1.0" encoding="windows-1252"?>
<CanparRate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.canpar.com/XML/base_rate.xsd">
<CanparShipment>
<COD>100.00</COD>
<Declared>200.00</Declared>
<Origin>M4X1W7</Origin>
<Destination>L4Y2N9</Destination>
<ExtraCare>1.00</ExtraCare>
<PUT>No</PUT>
<Quantity>1</Quantity>
<ServiceType>1</ServiceType>
<Weight>10</Weight>
<Unit>L</Unit>
</CanparShipment>
<CanparCharges>
<BaseRate>8.65</BaseRate>
</CanparCharges>
</CanparRate>
So if you want to ship in Kilos, just use the 'unit=K' in your string.
Note, check your URL, there are several URLs and I've gotten different results from different ones. This is the one Canpar just gave me, so I assume it's the one we should be using.
Just out of curiosity, if someone else would try the experiment, make the URL as above and paste it in your browser, and tell me if you get the same results as when you submit with Zencart. I don't, but I would like to see someone else try.