Skip to main content
The SmartFreight connector lets your workflows calculate shipping rates, create and manage consignments, compare carrier costs, and track deliveries through SmartFreight’s SOAP API.

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 at deliveryoptions can only run get-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

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:
Example response (parsed from SOAP XML): CalculateRateResult parses to a Connote object with the full costing breakdown (abridged below — the real response also includes co2kg, gstamount, grandtotrate, marginperc, weightedkm, etc.).
object
required
Consignment data with receiver address and freight details.
Set 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:
Example response (parsed from SOAP XML): the GetDeliveryOptionsResult inner XML parses to deliveryoptionresults, with a single recommended option and an otheroptions.DeliveryOption array.

Consignment Management

object
required
Full consignment data including sender, receiver, carrier, and freight details.
Set 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:
Example response (parsed from SOAP XML): 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:
string
required
Consignment field name to search (e.g., recaccno, recname).
string
Value to search for.
Returns the SmartFreight internal consignment id(s) matching a single field/value. Feed these ids into get-consignment, update-consignment, delete-consignment, or tracking-events. Only one xmlfield/fieldvalue pair is accepted per call; wildcards are not supported.Example request:
Example response (parsed from SOAP XML): FindConResult holds an array of con-id strings (may be multiple).
string
required
SmartFreight consignment ID.
Example request:
Example response (parsed from SOAP XML): 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:
string
required
SmartFreight consignment ID.
Example request:
A successful delete does not remove the row — the returned Connote carries connotedeleted: "Y". Only un-manifested consignments can be deleted.Example response (parsed from SOAP XML):
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.
Only un-manifested consignments can be updated. If the update fails validation the consignment is not saved and the errors are returned.Example request:
Example response (parsed from SOAP XML): UpdateConResult returns the updated Connote (same Consignment Message shape as import-consignment).

Tracking

string
required
SmartFreight consignment ID.
Example request:
Intended for on-demand use only — polling may breach SmartFreight’s Acceptable Usage Policy.Example response (parsed from SOAP XML): TrackingEventsResult parses to a TrackingEvents object with overall Statistics.Status and an Events.Event array.

Advanced

Send a raw SOAP request to any SmartFreight API operation. API credentials are injected automatically.
string
required
SOAP operation name (e.g., CalculateRate, Import).
object
Request body parameters as key-value pairs.
Example request:
Example response (parsed from SOAP XML):