Getting Started with SOAP
The following information must be obtained prior to implementation:
Development platform installation is required prior to integration.

A valid TraceLink Network username and password for HTTP basic authentication validation is needed, as well as a user and app look-up to ensure proper validation of a given request.
To enforce strong security in the TraceLink Life Sciences Cloud, username:password in plain text is not accepted. To successfully send SOAP calls to TraceLink, Base64 encoding must be used for the username:password and sent in the HTTP Authorization header to conform with the IETF basic authorization standard (https://tools.ietf.org/html/rfc7617).
An HTTP 401 Unauthorized client error status response code occurs in the following scenarios:
- A non-Base64 encoded username:password is sent in the HTTP Authorization header.
- A Base64-encoded or plain text username:password is sent in the Username header.
- The Username header is sent.

Product Track requires basic authentication.
TraceLink uses the pickLocation from the given request in a similar nature to how LocationType and LocationValue are used for Serialized Operations Manager.

Serial Number Exchange requires basic authentication.

Serialized Operations Manager requires basic authentication. TraceLink also allows the caller to pass a username (possibly a different username from the one used to authenticate), a location type, and location value for the purpose of executing a Serialized Operations Manager call. If these values are not provided, TraceLink executes the call at the company level.
Header | Usage | Sample Value | Required |
User | Use to identify a user making the request (for Audit purposes). | User email or GUID. Example: snxpubco1-mem1@tracelink.com | No. Value defaults to user used in authentication (basic authentication). |
LocationType | Use to identify location type executing the call. | SGLN | No. If excluded, call is made at the Company level. |
LocationValue | Use to identify location value executing the call. | 12345.678.10 | No, unless LocationType is specified. |

Compliance Reporting requires basic authentication.

Access to the Web Services Description Language (WSDL), where the XSDs reside along with other functionality information, is needed for integration. The URL for the WSDL contains the name of the TraceLink environment being accessed, followed by a specified app path. The following are itest WSDL examples by application:
- Product Track: https://itestapi.tracelink.com/soap/producttrack?wsdl
- Serial Number Exchange: https://itestapi.tracelink.com/soap/snx/snrequest?wsdl
- Serialized Operations Manager: https://itestapi.tracelink.com/soap/som?wsdl


Before configuring data, query limitations should be noted. The table below outlines the query limitation details for TraceLink SOAP messages:
API Call | Limit | Description of Limit |
Serial Number Exchange Messages | ||
serialNumberRequestResponse | 500,000 | The maximum quantity of serial numbers that can be requested is 500,000. |
Serialized Operations Manager Messages | ||
Commission | 50 | The maximum amount of serial numbers that can be commissioned is 50. |
Decommission | 500 | The maximum amount of serial numbers that can be decommissioned is 500. |
GetSerialNumberHierarchy | 100000 | A maximum of 100,000 serial numbers can be returned with a GetSerialNumberHierarchy request. |
SetSerialNumberStatus | 500 | The serial number status can be set for a maximum of 500 serial numbers. |

It is recommended that the following topics are read before proceeding through this guide: