DA-Desk (Operators)
DA-Desk Operator APIs are a set of REST APIs delivered using JSON data format and served over HTTPS. DA-Desk exposes several APIs however this document will focus on the most popular set to keep the document as bite size as possible. While DA-Desk makes best efforts in keeping these API fully backward compatible, in some rare cases changes need to be made. In the event of such changes, the point of contact will receive a notification with ample time to be ready for the change. These APIs use mainly the DA-Desk internal IDs for retrieving and referring to information, however integration codes for agents/suppliers, ports and vessels are passed along with the responses to help the customers integrate the information with their internal systems.
The APIs are hosted behind a CDN (Amazon Cloudfront). If an IP filter is required, please check the IP Range of Cloudfront that applies to your region: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/LocationsOfEdgeServers.html
The Production API is hosted on https://api.marcura.com/dad.
The Test API is hosted on https://api.cuat.marcura.com/dad.
Authentication
DA-Desk API uses the shared Marcura API authentication.
All API calls require a valid authenticated user session. Once authentication is performed successfully, a session token is generated and returned. This token needs to be used in every subsequent API call by passing it as a standard HTTP Authorization Bearer token in the form of: Authorization: Bearer <token>.
Authentication can be performed by calling the shared Marcura API /auth. Please refer to the documentation under Authentication -> Bearer Token.
Service ID and Version
serviceId and serviceVersion are query parameters used by DA-Desk APIs for tracking and debugging. These parameters are mandatory in all API calls except the authentication. Both parameters are of type String and both can take any (made up) value as long as it is consistent through all the calls. Basically both should be constant, where the serviceVersion should be changed on every customer integration release to identify the different versions. The serviceId should contain your (made up) integration application name and serviceVersion should contain the version of the application.
Example:
?serviceId=dadesk-<tla>-integration&serviceVersion=1.0
What made this section unhelpful for you?
Base URL
Production:
Sandbox:
Language Box
Endpoints
dad/operator-api/1.0/das/search?page=1&size=2&operatorId={operatorId}&serviceId={serviceId...
dad/operator-api/1.0/das/{daId}/?operatorId={operatorId}&serviceId={serviceId}&serviceVers...
dad/operator-api/1.0/portcalls/{pcId}/?operatorId={operatorId}&serviceId={serviceId}&servi...
dad/operator-api/1.0/das/{daId}/history?operatorId={operatorId}&serviceId={serviceId}&serv...
dad/operator-api/1.0/das/{daId}/download?displayCurrency=USD&withDocs=false&operatorId={op...
dad/operator-api/1.0/das/{daId}/downloads/{daDocumentId}?operatorId={operatorId}&serviceId...
dad/operator-api/1.0/das/{daId}/payments/tab?operatorId={operatorId}&serviceId={serviceId}...
dad/operator-reports-api/1.0/operators/{operatorId}/reports?userId={username}&serviceId={s...
dad/operator-reports-api/1.0/operators/{operatorId}/reports/{reportId}/searchCriteria?serv...
dad/operator-reports-api/1.0/operators/{operatorId}/reports/{reportId}/columns?serviceId={...
dad/operator-reports-api/1.0/operators/{operatorId}/reports/{reportId}/search?serviceId={s...