GlobalTranz Integration Guide
Overview
The GlobalTranz integration connects FTM.cloud’s Transportation Management System (TMS) to GlobalTranz carrier services for LTL shipments.
It enables rate shopping, carrier comparison, and shipment booking directly inside Salesforce — no external portals or manual data entry required.
1️⃣ User Information – What This Integration Does
Purpose
This integration automates the LTL quoting and booking workflow so logistics teams can:
- Instantly fetch real-time LTL carrier rates
- Compare cheapest and fastest options
- Book shipments directly from FTM
- Automatically populate carrier, BOL, and tracking details
- Maintain full audit logs of rate and booking activity
| API Name | Description | Used For |
| Rate V2 API | Returns all available carrier rates for a shipment request. | Displaying full rate options on FTM load/quote screen |
| Rate API | Returns only the cheapest and fastest rates. | Quick quote lookup |
| Shipment API | Books the selected carrier rate as an active shipment. | Shipment creation after user selection |
Key Features
✅ Instant LTL rate quotes
✅ Compare carriers by cost, service, and transit time
✅ One-click booking directly in Salesforce
✅ Auto-fill carrier info, BOL, and tracking data
✅ Logs every API request and response for debugging
Scope & Limitations
⚠️ Important Notes
- Available for U.S.-based loads only
- Hazmat shipments are not supported via API
- Insurance must be purchased through the Agent
- International loads are not supported
- The integration requires valid shipper/receiver addresses and commodity details
Authentication
To use the integration, both of the following credentials are required:
Access Key
- Development: Your-Key
- Production: Request by emailing [email protected]
Basic Auth Header
- Development: Your-Username:Your-Password
- Production: your GTZShip username and password
⚠️ Note: API supports usernames only (not email addresses).
2️⃣ Developer Information – How to Implement in Salesforce
Apex Classes (in GitHub)
Repository: https://github.com/ashkanshamili/FTM
Included Apex Classes :
| Class | Purpose |
| GlobalTranzHttpRequest | Centralized HTTP callout utility for all GTZ API requests (handles auth headers, base URL, subscription key). |
| GlobalTranzLtlRateRequest | Full Rate V2 API integration: builds payload from FreightTM__Lane_Quote__c, sends POST call, deserializes responses into DTOs. |
| GlobalTranzLTLRateCheapestRequest | Simplified Rate API integration for fetching cheapest and fastest quotes. |
| GlobalTranzBookShipment | Handles Shipment API callouts to book the selected quote and return BOL and terminal info. |
| LTLRateBookingCtrl | Visualforce controller for rate retrieval and booking from a Lane Quote record UI. |
| LaneQuoteIntegrations | Lightweight Visualforce extension for displaying multiple rate cards (GlobalTranz, BlueGrace, etc.) and handling book actions. |
Included Visualforce Pages :
| Page | Description |
| LTLRateBookingCtrl.page | Main UI for rate shopping and booking on a Lane Quote record. Shows all carriers, transit days, and booking buttons. |
| LaneQuoteIntegrations.page | Card-based UI comparing multiple LTL providers (GlobalTranz as primary). Displays cheapest quote summary and one-click booking. |
API Endpoints :
| Purpose | Method | Environment URL | Apex Class |
| Rate V2 API | POST | https://dev.gtzintegrate.com/rate/ltl/v2 | GlobalTranzLtlRateRequest |
| Rate API (Cheapest/Fastest) | POST | https://dev.gtzintegrate.com/rate/ltl/partner | GlobalTranzLTLRateCheapestRequest |
| Shipment API | POST | https://dev.gtzintegrate.com/shipment/ltl | GlobalTranzBookShipment |
Production URLs replace dev.gtzintegrate.com with api.gtzintegrate.com.
Key Objects/Fields in Salesforce
| Object/field | Usage |
| FreightTM__Lane_Quote__c | Source record for pickup/delivery info and freight details (length, weight, class, etc.). |
| FreightTM__Load__c | Optional reference when load is linked to lane quote. |
| FreightTM__Rate__c | Stores individual rate records (optional). |
| FreightTM__Remarks__c / Shipment_Info__c | Logs status messages or API responses for audit. |
Authentication (Apex Example)
String username = 'Your-Username';
String password = 'Your-Password';
String accessKey = 'Your-Key';
HttpRequest req = new HttpRequest();
req.setEndpoint('https://dev.gtzintegrate.com/rate/ltl/partner');
req.setHeader('Content-Type','application/json');
req.setHeader('Ocp-Apim-Subscription-Key', accessKey);
req.setHeader('Authorization','Basic ' +
EncodingUtil.base64Encode(Blob.valueOf(username + ':' + password)));
req.setMethod('POST');
Booking Flow (User Journey)
- Open Lane Quote record in Salesforce.
- Click “Get Rate” → invokes GlobalTranzLtlRateRequest.getRatesForLoad().
- View returned rates with carrier names, costs, and transit days.
- Click “Book Shipment” beside desired quote → run GlobalTranzBookShipment.createShipmentForLoad().
- Upon success, updates fields:

Example JSON Request (Rate API)
{
"CustomerId": "123456",
"PickupDate": "10/27/2025",
"Origin": { "City": "Dallas", "State": "TX", "Zip": "75201" },
"Destination": { "City": "Chicago", "State": "IL", "Zip": "60601" },
"Items": [
{
"PieceCount": 2,
"Weight": 500,
"Class": 70,
"Description": "Palletized freight"
}
]
}
Example JSON Response (Simplified)
{
"RateResults": [
{
"Carrier": "FedEx Freight",
"TotalCharge": 325.50,
"TransitDays": 3,
"ServiceLevel": "Standard"
}
]
}
Post-Booking Update
After successful booking:
update new FreightTM__Lane_Quote__c(
Id = laneQuoteId,
Shipment_Info__c = 'Shipment booked successfully via GlobalTranz',
Provider__c = GlobalTranzLtlRateRequest.PROVIDER
);
Error Handling
- All API errors are caught and logged in the FreightTM__Remarks__c field
- Debug logs print the request and response chunks (logBig() helper method)
- Developers can trace failures via Setup → Debug Logs or the Load’s remarks
Testing
To run manually in Anonymous Apex:
GlobalTranzLTLRateCheapestRequest.getCheapestForLoad('a0HWK000001spY12AI');
GlobalTranzBookShipment.createShipmentForLoad('a0HWK000001spY12AI','Q123456');
Deployment Notes
- Sandbox uses https://dev.gtzintegrate.com
- Production uses https://api.gtzintegrate.com
- Configure Remote Site Settings or Named Credentials for these domains
- Move credentials to Custom Metadata or Named Credential in production
- Include test classes for rate success, failure, and booking flow
- Timeout defaults to 120 seconds per call
Visualforce UI Summary
LTLRateBookingCtrl.page
Displays:
- Load details (pickup/delivery, weight, pallets, hazmat)
- Rate table with carrier name, amount, transit days, message, quote id
- “Book Shipment” buttons for each rate row
- Visual confirmation and error messages


LaneQuoteIntegrations.page
Displays:
- GlobalTranz card showing cheapest rate, transit days, and estimated delivery
- Future slots for BlueGrace and other providers
- One-click “Book Shipment” button per provider


Support Contacts
📧 GlobalTranz API — [email protected]
📧 FTM Implementation — [email protected]