Connection setup
1
Get your API credentials
Contact SmartFreight support or log in to your SmartFreight account to obtain your API ID, API Password, and WSDL endpoint URL.
2
Add the connection in Spojit
Go to Connections in Spojit, click Add Connection, select SmartFreight, and enter:
- WSDL Endpoint: Your SmartFreight SOAP endpoint. SmartFreight exposes
operations on per-operation “online” endpoints (e.g. delivery options
at
https://api-<region>.smartfreight.com/api/soap/deliveryoptions?wsdl) as well as a combined “classic” endpoint (.../api/soap/classic?wsdl). Use the endpoint that serves the operation your workflow calls; a connection pointed atdeliveryoptionscan only runget-delivery-options. Your API ID and password are appended to this URL by SmartFreight for WSDL retrieval. - API ID: Your SmartFreight API identifier
- API Password: Your SmartFreight API password
Authentication is sent in the SOAP body (
id / passwd) on every call; the
connector reads the target namespace and SOAPAction from your configured
WSDL, so both the “classic” and “online” endpoints work.Tools
Rate & Delivery
calculate-rate: Calculate shipping rate for a consignment
calculate-rate: Calculate shipping rate for a consignment
object
required
Consignment data (connote fields) including receiver details, carrier, and freight line items.
calculate-rate returns the cost for one specific carrier + service
(set carriername and service). Unlike get-delivery-options it does
not resolve a default sender (provide sendaddr) and does not derive cube
from dimensions (provide cube).Example request:CalculateRateResult parses to
a Connote object with the full costing breakdown (abridged below —
the real response also includes co2kg, gstamount, grandtotrate,
marginperc, weightedkm, etc.).get-delivery-options: Get available delivery options
get-delivery-options: Get available delivery options
object
required
Consignment data with receiver address and freight details.
carriername to [Automatic], [Cheapest], or [Fastest] to let
SmartFreight choose. The sender can be given explicitly (sendaddr) or by
account (sendaccno + matchsendertoaccountno). Freight-line dimensions
(len/wdt/hgt) are optional; cube (m³) is used when they’re omitted.Example request:GetDeliveryOptionsResult
inner XML parses to deliveryoptionresults, with a single recommended
option and an otheroptions.DeliveryOption array.Consignment Management
import-consignment: Create a new consignment
import-consignment: Create a new consignment
object
required
Full consignment data including sender, receiver, carrier, and freight details.
carriername to [Automatic]/[Cheapest]/[Fastest] or a specific
carrier. If any submitted value is invalid the returned Connote carries a
HasError="True" attribute.Example request:ImportResult parses to a
Connote object echoing the request plus generated fields — consignment
number (conno/connotenumber), allocatedconid, labels[].labelno_tracking,
chosen carriername/service, and full costing. Abridged:find-consignment: Search for consignments
find-consignment: Search for consignments
string
required
Consignment field name to search (e.g.,
recaccno, recname).string
Value to search for.
get-consignment, update-consignment,
delete-consignment, or tracking-events. Only one xmlfield/fieldvalue
pair is accepted per call; wildcards are not supported.Example request:FindConResult holds an array
of con-id strings (may be multiple).get-consignment: Get consignment details by ID
get-consignment: Get consignment details by ID
string
required
SmartFreight consignment ID.
EnquiryResult parses to a
full Connote object — the same Consignment Message returned by
import-consignment (consignment number, carrier/service, addresses,
freight lines, labels, and full costing). Abridged:delete-consignment: Delete a consignment
delete-consignment: Delete a consignment
string
required
SmartFreight consignment ID.
Connote carries
connotedeleted: "Y". Only un-manifested consignments can be deleted.Example response (parsed from SOAP XML):update-consignment: Update consignment-level fields
update-consignment: Update consignment-level fields
string
required
SmartFreight internal consignment ID (from
find-consignment).object
required
Partial consignment data — only the fields to change. To edit
freight-line-level data use the freight-line update flow instead.
UpdateConResult returns the
updated Connote (same Consignment Message shape as import-consignment).print-labels: Print consignment labels
print-labels: Print consignment labels
string
required
How
reference is interpreted: conid, connote, fldref, a Named
Reference code, or [default].string
required
The value that identifies the consignment / freight line. Must resolve to
a single consignment.
string
required
Which labels to print:
[all], [line], [line:X], or [item:X].string
required
Printer Configuration code defined in SmartFreight. If it points at a PDF
printer, the label PDF is returned as base64 in
printjob.data instead of
being sent to a physical printer.data):Tracking
tracking-events: Get tracking events for a consignment
tracking-events: Get tracking events for a consignment
string
required
SmartFreight consignment ID.
TrackingEventsResult parses to
a TrackingEvents object with overall Statistics.Status and an
Events.Event array.Advanced
raw-soap-request: Execute an arbitrary SOAP operation
raw-soap-request: Execute an arbitrary SOAP operation