Ward Integration Guide
Connect your Salesforce environment with Ward Trucking’s Rate Quote API to instantly calculate LTL rates based on your load data.
Overview
Ward Trucking offers real-time LTL rate quotes via a simple XML-based API. Salesforce’s integration allows you to:
- Pull spot quotes from Ward directly from Load view
- Auto-fill weight, pieces, NMFC class, and locations
- Retrieve accurate pricing based on your Ward account
- Use the data to book faster or build a quote
This integration uses a POST call to Ward’s rate quote endpoint with structured XML.
What You’ll Need
- An active Ward account with API quoting enabled
- Your Ward account number (pricing account)
- Valid API username and password
- FTM integration enabled (email [email protected] to request setup)
Setup Steps
Step 1: Required Fields in FTM
Ensure the following fields exist and are populated on your Load object:
- Origin City
- Origin State
- Origin Zipcode
- Destination City
- Destination State
- Destination Zipcode
- Total Weight
- Total Pieces
- Freight Class
- Pallet Count
- Billing Terms (
PPD
,COL
, etc.) - Customer ID (your Ward pricing account number)
Step 2: Apex Callout Class
A backend Apex class handles the XML callout to Ward. It constructs the payload, sends the request, and captures the response.
Here’s a simplified example of the Apex logic used:
apex
CopyEdit
HttpRequest req = new HttpRequest();
req.setEndpoint('https://wardtlctools.com/wardtrucking/webservices/ratequote');
req.setMethod('POST');
req.setHeader('Content-Type', 'text/xml');
req.setHeader('Accept', '/');
req.setBody(xmlPayloadString); // Constructed XML body
HttpResponse response = new Http().send(req);
System.debug(response.getStatus());
System.debug(response.getBody());
Step 3: VFP / UI Integration (Optional)
If you want to expose the rate quote request in a Visualforce page or LWC:
- Add a “Request Ward Rate” button
- Call the Apex method and display the returned rate or response message
- Use conditional logic to handle errors or missing fields
Endpoint Reference
POST to: https://wardtlctools.com/wardtrucking/webservices/ratequote
Request Format: XML
Authentication: Basic username/password embedded in XML body
Response: XML with rate or error message
Field Mapping
FTM Field | Ward API Field | Notes |
Origin City | <OriginCity> | Required |
Destination State | <DestinationState> | Required |
Weight | <Weight> | In pounds |
Pieces | <Pieces> | Total items |
Freight Class | <Class> | NMFC class (e.g. 50, 70) |
Billing Terms | <BillingTerms> | Typically PPD or COL |
Customer ID | <Customer> | Your Ward pricing account ID |
Accessorial | <AccessorialItem> | e.g., IDC, LFT, optional |
FAQs
- What if I get an error like “Invalid pricing account”?
Check that theCustomer
field is populated with your valid Ward pricing account number. - Can I submit multiple accessorials?
The current structure supports only oneAccessorialItem
, future expansion may allow arrays. - Is the callout synchronous or background?
The Apex logic performs a synchronous POST, expect a response within 1-2 seconds. - Can I test in a sandbox?
Yes, contact FTM to enable sandbox testing and stub the endpoint response. - Can I trigger this from Flow or Process Builder?
Yes, FTM can expose the callout method via an invocable action.
Need Help?
For setup help or issues, email: [email protected]