usps-webtools-promise
Version:
API wrapper for the USPS Web-Tools, with Promises!
105 lines (104 loc) • 2.76 kB
TypeScript
import type USPSClass from "../usps.js";
import type { ErrorResponse } from "../usps.js";
export interface PricingRateInput {
Container?: string;
Girth?: string;
Height?: string;
Length?: string;
Machinable?: string;
Ounces?: string;
Pounds?: string;
Service?: string;
Size?: string;
Width?: string;
ZipDestination?: string;
ZipOrigination?: string;
}
export interface RateV4Request {
Package: {
"@ID": string;
AmountToCollect?: string;
Container: string;
Content?: {
ContentDescription?: string;
ContentType?: string;
};
DropOffTime?: string;
FirstClassMailType?: string;
Girth?: string;
GroundOnly?: boolean;
Height?: string;
Length?: string;
Machinable?: string;
Ounces: string;
Pounds: string;
ReturnDimensionalWeight?: boolean;
ReturnLocations?: boolean;
ReturnServiceInfo?: boolean;
Service: string;
ShipDate?: {
Option?: string;
};
SortBy?: string;
SpecialServices?: {
SpecialService?: string;
};
TrackingRetentionPeriod?: string;
Value?: string;
Width?: string;
ZipDestination: string;
ZipOrigination: string;
};
}
interface RateV4Postage {
CLASSID?: string;
CommercialPlusRate?: string;
CommercialRate?: string;
DimensionalWeightCommercialPlusRate?: string;
DimensionalWeightRate?: string;
MailService?: string;
MaxDimensions?: string;
Rate?: string;
ServiceInformation?: string;
SpecialServices?: [
{
SpecialService?: {
Available?: string;
AvailableCPP?: string;
AvailableOnline?: string;
DeclaredValueRequired?: string;
DueSenderRequired?: string;
Price?: string;
PriceCPP?: string;
PriceOnline?: string;
ServiceID?: string;
ServiceName?: string;
};
}
];
}
interface RateV4Package {
Container?: string;
Error?: string;
FirstClassMailType?: string;
Girth?: string;
Height?: string;
Length?: string;
Machinable?: string;
Ounces: number;
Postage: RateV4Postage;
Pounds: number;
Restriction: {
Restrictions?: string;
};
Width?: string;
ZipDestination: string;
ZipOrigination: string;
Zone?: string;
}
export interface RateV4Response {
Error?: ErrorResponse;
Package?: RateV4Package;
}
export default function (this: USPSClass, pricingRate: PricingRateInput): Promise<RateV4Postage | Error>;
export {};