Overview & connection
The SOAP Custom Link is the most extensive integration surface of the MendriX TMS — a mature, battle-tested API that reaches every corner of the system. The REST API is the clean, JSON-native surface for day-to-day integration and is where new development happens; for the widest reach and the most demanding integrations, Custom Link is the way in.
When to use SOAP
Section titled “When to use SOAP”| Use SOAP for | Use REST for |
|---|---|
Order intake & update (StoreOrdersNormal) | Clients, contacts, address books |
Order retrieval (RequestOrdersNormal) | Invoices & payments |
| Rides & planning, traces, employees, hours | Order & task updates (PATCH), copies |
| Packaging transactions, measurements, memos, questionnaires, jobs |
Custom Link goes deeper than REST does today — most of its commands have no REST equivalent yet; see the command reference for the full list. REST order creation is coming soon; until it ships, new orders go through Custom Link.
Endpoint & WSDL
Section titled “Endpoint & WSDL”SOAP requests are POSTed to the service endpoint:
https://<your-client-name>.mendrix.cloud:5564/soap/ICustomLinkSoapThe service contract (WSDL) is published separately at:
https://<your-client-name>.mendrix.cloud:5564/wsdl/ICustomLinkSoap- Port 5564, HTTPS.
- The service interface is
ICustomLinkSoap; fetch the WSDL from the URL above to generate a client, or craft SOAP requests by hand and POST them to the service endpoint. - Replace
<your-client-name>with your client name (environments).
How calls work: the ExecuteRequest wrapper
Section titled “How calls work: the ExecuteRequest wrapper”The service exposes a single SOAP operation, ExecuteRequest
(rpc/encoded). Every Custom Link call uses the same envelope; the Eo payload
you put inside it — entity-escaped, as a string — determines the actual
operation (TEoCustomLinkRequestDateTime, TEoCustomLinkStoreOrdersNormal,
…):
<?xml version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header> <h:TAuthenticationHeader xmlns:h="urn:UCoSoapDispatcherBase"> <UserName>YOUR_SOAP_NAME</UserName> <Password>YOUR_SOAP_PASSWORD</Password> </h:TAuthenticationHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:ExecuteRequest xmlns:m="urn:UCoSoapDispatcherCustomLink-ICustomLinkSoap"> <ARequest xsi:type="xsd:string"><?xml version="1.0" encoding="windows-1252"?><EoCustomLinkRequestDateTime Type="TEoCustomLinkRequestDateTime"/></ARequest> </m:ExecuteRequest> </SOAP-ENV:Body></SOAP-ENV:Envelope>- The Eo payload goes into
ARequestentity-escaped (&→&,<→<,>→>). - The response is wrapped the same way:
ExecuteRequestResponsecontains areturnstring holding the escapedEoCustomLink…ResponseXML — unescape and parse it as a second step. - Business and authentication errors come back as a successful (HTTP 200)
SOAP response whose
returnpayload is aTEoCustomLinkException(ExceptionClassName,ExceptionMessage) — always check for it before parsing the result. - POSTing a bare Eo payload without this envelope yields the SOAP fault
Invalid SOAP request.
Start with the server time example — the smallest possible round trip.
Data structures
Section titled “Data structures”All payloads are described by the XML schema
GdxEoStructures.xsd. Key types for order intake:
TEoCustomLinkStoreOrdersNormal— the store-orders request wrapper.TEoOrderMxList/TEoOrderMx— the order(s) to store.TEoTaskMxList/TEoTaskMx— the tasks (pickup, delivery, …) on an order.TEoAddress,TEoDateTimeWindow— addresses and time windows.
Authentication
Section titled “Authentication”Credentials travel inside the envelope, in the TAuthenticationHeader
SOAP header (UserName / Password) shown above. These are the Custom Link
SOAP name and password for your tenant, validated server-side against the
MendriX account service; depending on your tenant’s configuration the password
may be empty. You receive them during onboarding — ask your MendriX contact if
you don’t have them.
HTTP-level authentication (e.g. Basic Auth) is not accepted: without the
SOAP header the service answers SOAP header for authentication required.
Client-scoped tokens
Section titled “Client-scoped tokens”An API token scoped to a single client (rather than a master token) can
only call a fixed set of commands. Calling anything else returns the
SOAP-layer error Security: no permission for request <RequestClassName>
(for example, Security: no permission for request TEoCustomLinkStoreEmployees):
RequestOrdersNormal/RequestOrdersNormalIdsStoreOrdersNormal(create and update orders)RequestTracesGoods/StoreTracesGoodsStoreMemosRequestDateTimeRequestTaskQuestionnaire/RequestQuestionnaireAnswersStoreMeasurementsRequestPackagingTransactionsActivateOrderTemplate
See the Command reference for the full command list and which of these are client-scoped-safe.
Conventions
Section titled “Conventions”- Content-Type:
text/xml; charset=utf-8. - SOAPAction: always
"urn:UCoSoapDispatcherCustomLink-ICustomLinkSoap#ExecuteRequest"— the operation is selected by the payload’sType, not by the SOAPAction. - Batching: While
TEoOrderMxListaccepts multiple orders per call, the operational convention is to send one order perStoreOrdersNormalcall. - Validation: validate the outgoing payload XML against
GdxEoStructures.xsdbefore sending.
- Make your first call with the server time example.
- Building in n8n? See Using n8n with Custom Link for the general workflow pattern, worked through with that same first call.
- Walk a complete request/response in the order intake example.
- See the workflow-oriented Order intake guide for the manual and n8n paths.