Real-time shipping rates from United States Postal Service, UPS and FedEx may be obtained through the PayTrace API at any time allowing your software to provide accurate real-time shipping rates.
Calculate Shipping Request
Required Name Value Pairs
UN, PSWD, TERMS, METHOD, SOURCEZIP, SOURCESTATE, SZIP, WEIGHT, SHIPPERS, SSTATE
Optional Name Value Pairs For Calculating Shipping Request
Sample Calculate Shipping Request
‘format the request string to export all of the customer profiles for the demo account strRequest = “UN~demo123|PSWD~demo123|TERMS~Y|METHOD~CalculateShipping|” strRequest = strRequest & “SOURCEZIP~99201|SZIP~97201|WEIGHT~5.5|SOURCESTATE~WA|” strRequest = strRequest & “SHIPPERS~UPS,USPS,FEDEX|SSTATE~OR|” strResponse = SendPayTraceAPIRequest(strRequest) ‘defined in Referencing the API Page
Returned Name Value Pairs
Responses elicited from a CalculateShipping request will always return either one or more error messages or one or more shipping records.
Example of Parsing a Calculate Shipping Response
‘declare tools to loop through the response and store the current name / value pair Dim arrResponse() as String Dim arrPair() as String Dim Counter as Integer Dim arrSUBResponse() as String Dim arrSUBPair() as String Dim SUBCounter as Integer ‘declare the tools to store the values of the appropriate responses Dim strError As String ‘…declare all of the individual fields (i.e. SHIPPINGMETHOD, SHIPPINGRATE, etc) that you wish to catch. ‘check to make sure the response was not empty/invalid if strResponse <> “” and inStr(strResponse,”|”) > 0 and inStr(strResponse,”~”) > 0 then arrResponse = split(strResponse, “|”) ‘split the response into an array of name/value pairs for Counter = 0 to uBound(arrResponse)-1 arrPair = split(arrResponse(Counter), “~”) If UCase(arrPair(0)) = "ERROR" Then StrError = strError & arrPair(1) ElseIf UCase(arrPair(0)) = "SHIPPINGRECORD" Then arrSUBResponse = split(arrPair(1), “+”) for SUBCounter = 0 to uBound(arrSUBResponse)-1 arrSUBPair = split(arrResponse(SUBCounter), “~”) If UCase(arrSUBPair (0)) = " SHIPPINGMETHOD" Then Msgbox “Shipping Method = “ & arrSUBPair (1) ElseIf UCase(arrSUBPair (0)) = " SHIPPINGRATE" Then Msgbox “Shipping Rate= “ & arrSUBPair (1) End If next End If next Else StrError = StrError & “The response from the PayTrace API was invalid." End if If StrError <> “” then MsgBox “Shipping rate was not successful per the following error: ” & StrError Else MsgBox “Shipping Rate was successful” End if