Saia Web Services require secure information. You must be registered for Saia Secure and the account must have
a valid Contact Name, Local Phone Number. To register please by click the Login/Register Link on the top right of the Saia Home Page
and complete required information. To update account information please login to SaiaSecure and click the
Update Account Information link on the SaiaSecure home page.
All Request Documents have a required element called <TestMode>. TestMode must be set to Yes, this allows the exchange of generic information
for testing applications without issuing live data. Once testing is complete switch to No to initiate live data.
All Response Documents contain 4 error handling elements <Code>, <Element>, <Fault>,
and <Message>. Verification is required for each response. If the <Code> element contains a value
then an error has occurred. Proceed to other elements for description information about the specific failure.
All Elements are case sensitive to ensure compatibility with existing programming languages. If casing is not
correct the system will assume the element is missing and the action will fail during validation.
Adding the <?xml version="1.0" encoding="utf-8"?> prefix on the first line of the XML document is not mandatory
within our Request Documents, however it is common practice. All Response XML Documents will contain this prefix.
When programming against Saia's XML Documents do not access the elements based on their position
within the document. Access the element by name only. Saia reserves the right to
add new elements into this document at any location based on customer requests and
requirements.
Below is a list of the elements and descriptions used to build a <Create> document/object to schedule a pickup request.
NOTE: Group all shipments together and only submit 1 pickup request per day for each pickup location.
Element / Parameter |
Type |
Required |
MaxLength |
Description |
<Create> |
Array |
Yes |
1 |
Document Name |
<UserID> |
String |
Yes |
20 |
Saia Secure User ID |
<Password> |
String |
Yes |
14 |
Saia Secure Password |
<TestMode> |
String |
Yes |
1 |
Testing Flag
Y = Yes (Testing)
N = No (Not Testing)
Note: This element is used to verify your request document is formatted correctly and contains valid data, once testing is complete switch to <TestMode>N</TestMode>.
|
<AccountNumber> |
String |
Yes |
7 |
Saia Account Number |
<CompanyName> |
String |
|
30 |
Pickup Location Company Name
Note: If the location for the Pickup is the same as the location information
on the Account Number specified you can leave Company Name, Street, Box, City, State,
and Zipcode empty. They will auto-fill from the Account Number.
|
<Street> |
String |
|
30 |
Pickup Location Street Address 1 |
<Box> |
String |
|
30 |
Pickup Location Street Address 2 or PO Box |
<City> |
String |
|
20 |
Pickup Location City |
<State> |
String |
|
2 |
Pickup Location State |
<Zipcode> |
String |
|
6 |
Pickup Location Zipcode |
<ContactName> |
String |
Yes |
30 |
Pickup Location Contact Name |
<ContactPhone> |
Decimal |
Yes |
10, 0 |
Pickup Location Contact Phone |
<PickupDate> |
String |
Yes |
10 |
Schedule Date for Pickup
Format: YYYY-MM-DD, Local Date
|
<ReadyTime> |
String |
Yes |
8 |
Time the shipment(s) will be Ready for Pickup
Format: HH:MM:SS, 24-Hour Local Time
|
<CloseTime> |
String |
Yes |
8 |
Time the Pickup Location will be Closed
Format: HH:MM:SS, 24-Hour Local Time
|
<SpecialInstructions> |
String |
|
120 |
Supply any Special Pickup Instructions for the Driver regarding your Pickup |
<Details> |
Array |
Yes |
1 |
Collection of Detail Items |
<DetailItem> |
Array |
Yes |
No Limit |
Detail Item describing each shipment. Place each destination in a separate Detail Item |
<DestinationZipcode> |
String |
Yes |
6 |
Destination Zipcode |
<DestinationCountry> |
String |
|
2 |
Destination Country
US = United States (Default) CN = Canada MX = Mexico
|
<Pieces> |
Decimal |
Yes |
5, 0 |
Pieces |
<Package> |
String |
Yes |
2 |
Package Type
BD = Bundles BG = Bags BK = Buckets BL = Bales BR = Barrels BS = Baskets BX = Boxes CN = Cans CO = Coils CR = Crates CS = Cases CT = Cartons CY = Cylinders DR = Drums EA = Each EN = Envelopes JT = Joints KT = Kits LS = Loose PC = Pieces PK = Packages PL = Pails PT = Pallets RE = Reels RL = Rolls SK = Skids SP = Spools SW = Shrink Wrapped Pallet TB = Tote Bins TK = Tanks TU = Tubes UT = Units
|
<Weight> |
Decimal |
Yes |
7, 0 |
Weight in LBS |
<Freezable> |
String |
|
1 |
Freezable Commodity
Y = Yes
N = No
Please click here to review freezable information. If this element
is not specified then the default answer is No.
|
<SaiaGuaranteed> |
String |
|
2 |
Saia Guaranteed
12 = Guaranteed Delivery by Noon
5 = Guaranteed Delivery by 5 PM
|
</DetailItem> |
Array |
Yes |
No Limit |
|
</Details> |
Array |
Yes |
1 |
|
</Create> |
Array |
Yes |
1 |
|
Below is a list of the elements and descriptions used to read a <Response> document/object returned by
our system to verify your request document/object has been processed successfully and retrieve
a pickup request confirmation number.
Element / Parameter |
Type |
Required |
MaxLength |
Description |
<Response> |
Array |
Yes |
1 |
Document Name |
<Code> |
String |
Yes |
3 |
See the Error Code Documentation at the end of this document |
<Element> |
String |
Yes |
No Limit |
Name of the Element associated with an Error Code when available |
<Fault> |
String |
Yes |
1 |
Fault of the Error Code
S = Server (Web Support must Correct)
C = Client (Customer must Correct)
|
<Message> |
String |
Yes |
No Limit |
Description of the Error Code returned |
<TestMode> |
String |
Yes |
1 |
Testing Flag
Y = Yes (Testing)
N = No (Not Testing)
|
<PickupNumber> |
Decimal |
Yes |
7, 0 |
Pickup Confirmation Number |
<TotalPieces> |
Decimal |
Yes |
7, 0 |
Total Pieces |
<TotalWeight> |
Decimal |
Yes |
9, 0 |
Total Weight |
<NextBusinessDate> |
String |
|
10 |
Next Business Date
This element is only populated when a <Code>S04</Code> is returned. For this issue
you will need to re-submit your request with the <PickupDate> set to the <NextBusinessDate> in order for the Pickup to
complete processing, as Saia will be unable to make the original Pickup Date, Ready Time, and Close Time requested.
|
<PickupTerminal> |
Array |
Yes |
1 |
Details about the Terminal which will Pickup your shipment(s) |
<ID> |
String |
Yes |
5 |
Saia Terminal ID |
<Name> |
String |
Yes |
30 |
Terminal Name |
<Manager> |
String |
Yes |
30 |
Terminal Manager |
<Address1> |
String |
Yes |
30 |
Terminal Address 1 |
<Address2> |
String |
Yes |
30 |
Terminal Address 2 |
<City> |
String |
Yes |
20 |
Terminal City |
<State> |
String |
Yes |
2 |
Terminal State |
<Zipcode> |
String |
Yes |
6 |
Terminal Zipcode |
<CityDispatchPhone> |
Decimal |
Yes |
10, 0 |
City Dispatch Phone Number |
<CustomerServicePhone> |
Decimal |
Yes |
10, 0 |
Customer Service Phone Number |
<TollFreePhone> |
Decimal |
Yes |
10, 0 |
Terminal Toll Free Phone Number |
<Fax> |
Decimal |
Yes |
10, 0 |
Terminal Fax Number |
</PickupTerminal> |
Array |
Yes |
1 |
|
</Response> |
Array |
Yes |
1 |
|
To add additional internet security use the "HTTPS://" prefix instead of "HTTP://". This will encrypt and
decrypt each request between systems using standard SSL Certificates.
Below are a few samples of programming with a general overview of each interface.
Below is a general overview of Saia Error <Code>'s with descriptions to verify successful completion of requests.
��<Code>��
| Description
|
IXD |
Invalid XML Document
The XML Document received was not formatted properly. The <Message> returned will contain additional information
about the specific issue encountered. Please check that all required elements and casing are formated exactly
as defined in the document specifications above. Also verify that proper start and ending element tags are correct.
|
IMC |
Invalid Method Called
The XML Request Document received contains a root element method name which is not valid. Please verify the
name of the method and proper casing.
|
IED |
Invalid Element Data
The element received contains invalid data. This error is returned when an element is required to contain
a specific set of information. Such as Yes or No, or Prepaid or Collect.
|
IEL |
Invalid Element Data Length
The element received contains data that does not meet the required length specifications.
If an element is
defined as a String with max-length of "10", you cannot exceed 10 characters.
If an element is defined as
a Decimal with a max-length of "4, 2", you cannot exceed 4 total digits with 2 of them being after the decimal point.
If an element is defined as an Array with max-length of "5", you cannot pass more than 5 elements within the array.
|
IEF |
Invalid Element Data Format
The element received contains data that does not meet the required format. For example, all dates are in YYYY-MM-DD
which translates to a 4 digit year, a 2 digit month, and a 2 digit day delimited with "-". All times are in HH:MM:SS format which
translates to a 2 digit hour, a 2 digit minute, and a 2 digit second in 24-hour format delimited with ":".
|
IER |
Invalid Element Data Range
The element received contains data that does not meet the required range. (Range 1 to 10 = 1 lowest and 10 highest)
|
DNF |
Data Not Found
The element received contains data which was not found in our system.
|
MRE |
Missing Required Element
The XML Document received is missing a required element.
|
USE |
Unexpected Server Exception
Saia's system has encountered an unexpected error while processing your request. Web Support has been
notified with the details of this issue and will have it corrected as soon as possible.
|
U01 |
UserID and Password Incorrect
|
U02 |
UserID is Disabled
The specified UserID is currently listed as disabled. For more information please contact [email protected]
|
U03 |
UserID is Currently Being Setup
The specified UserID is currently being setup. This process generally takes up to 2 business days to complete.
|
U04 |
Access Denied for Account Number Specified
The UserID supplied does not have access to the account number specified. Please contact your local Saia Sales Representative
for more information.
|
U05 |
UserID is Missing Information
UserID is missing valid Contact Name, Local Phone Number, or E-mail Address.
To update contact information please login to Saia Secure and click the Update Account Information
displayed at the bottom of all webpages.
|
U06 |
Account Number Specified is Listed as Inactive
The account number specified is currently listed as inactive, please contact your local Saia Sales Representative.
|
U07 |
Account Number Specified Cannot be Used for this Function
Please contact [email protected] for more information.
|
U08 |
Web Service Disabled
Web Service requests have been disabled for the specified UserID. Please contact
[email protected] for more information.
|
The following codes are application specific, descriptions will be different for each application.
|
D01 |
Due to forecast weather conditions, only the origin terminal can process a pick-up request for the specified freezable shipment.
Note: To continue and create a pickup request with the remaining shipments please resubmit the pick-up without including the freezable shipment listed in the <Element> tag. Please contact the origin terminal for more information about shipping freezable commodities.
|
S01 |
Pickup City and State not within our direct coverage area
|
S02 |
Pickup Zipcode not within our direct coverage area
|
S03 |
Pickup City, State, and Zipcode do not match
|
S04 |
Due to time constraints with your submit and close time this pick-up must be scheduled for the following Business Day
Note1: In order for your pickup to complete successfully you must re-submit your request using the date stored in <NextBusinessDate>.
|
S05 |
Pickup Date cannot be a past date
The date or time specified has already passed, you must specify a future date and time.
|
S06 |
Close Time cannot be earlier than Ready Time
Note: Readytime must be greater than 90 minutes before closing time.
|
S07 |
Pickup Date cannot extend more than 30 days in the future.
|
Below is a list of external websites which contain more information on creating and consuming Web Services.