Scenario
A logistics company, QuickShip, provides real-time shipment tracking services. An ecommerce platform, Cell Retail, integrates with QuickShip’s SOAP-based tracking API using Qntrl’s Outbound SOAP Web Services.
How it Works
Whenever an order is shipped, Qntrl sends a SOAP request to QuickShip’s API to retrieve the latest shipment status. The response is processed in Qntrl, and the order status is updated in Cell Retail’s system.
Business Impact
✅ Real-time shipment tracking for customers.
✅ Automated order status updates based on tracking data.
✅ Secure and structured communication with external APIs.
Step-by-Step Process to Create an Outbound SOAP Web Service
Configuring the WSDL Contract
Navigate to
(settings) >> Webservices >> Outbound >> Select SOAP. Click New SOAP and enter the details:
Name: QuickShipTrackingService
Select Download WSDL to retrieve the contract.
If required, enter the authentication credentials (API key, Basic Auth, OAuth).
Execute in Bridge: Choose this if execution via a bridge is needed.
Click Save to complete the setup.

If modifications to the WSDL are needed, uncheck Download WSDL and manually edit the XML.

Generating SOAP Functions
Go to the SOAP Functions section.
Click Generate SOAP Functions to parse the WSDL and list available APIs.
If needed, create a new SOAP function manually:
Select the TrackShipment API function from the list.
The following fields are auto-populated:
Name: TrackShipment
Binding: QuickShipBinding
Operation: TrackShipment
Fill in additional details:
Click Send to execute the request and receive an XML response.
Use local variables or config store values in the request message.
Click the Refresh icon to populate available variables.
Assign values dynamically based on request execution.
If the WSDL is updated, click Regenerate Sample SOAP Messages to refresh the function definitions. 
Sending the SOAP Request and Response
Qntrl executes the TrackShipment function by sending a SOAP request to QuickShip’s tracking API.
Sample SOAP Request
<soapenv:Header/>
<soapenv:Body>
<trk:TrackShipment>
<trk:TrackingNumber>123456789</trk:TrackingNumber>
<trk:CarrierCode>QSHIP</trk:CarrierCode>
</trk:TrackShipment>
</soapenv:Body>
</soapenv:Envelope>
Sample SOAP Response
<soapenv:Body>
<trk:Status>In Transit</trk:Status>
<trk:ExpectedDelivery>2025-04-05</trk:ExpectedDelivery>
</trk:TrackShipmentResponse>
</soapenv:Body>
</soapenv:Envelope>
Executing Outbound SOAP in Codex
Use Codex to execute the SOAP function dynamically.
Executed by ID
outboundSOAP.execute("track_shipment_id", { "TrackingNumber": "123456789", "CarrierCode": "QSHIP" });
Executed by Name
let response = outboundSOAP.executeByName("QuickShipTrackingService", "TrackShipment", "{TrackingNumber}:123456789");

The response can be stored and used to update the shipment status in the Cell's Retail system.