usps-webtools-promise
Version:
API wrapper for the USPS Web-Tools, with Promises!
31 lines (30 loc) • 1.02 kB
JavaScript
import callUSPS from "../utils/request.js";
export default async function (pricingRate) {
const parameters = {
Package: {
"@ID": "1ST",
Container: pricingRate.Container ?? "",
Girth: pricingRate.Girth,
Height: pricingRate.Height,
Length: pricingRate.Length,
Machinable: pricingRate.Machinable,
Ounces: pricingRate.Ounces ?? "",
Pounds: pricingRate.Pounds ?? "",
Service: pricingRate.Service ?? "PRIORITY",
Width: pricingRate.Width,
ZipDestination: pricingRate.ZipDestination ?? "",
ZipOrigination: pricingRate.ZipOrigination ?? "55401",
},
};
let response;
try {
response = (await callUSPS("RateV4", "RateV4", "Package", this.config, parameters));
if (response?.Package) {
return response.Package.Postage;
}
throw new Error("Can't find result");
}
catch (error) {
return error;
}
}