Introduction

<aside> 💬 The SVMP APIs allow you to utilize a variety of data provided within SVMP, including vessel and cargo location tracking and historical and forecasted voyages. This document describes the parameters for calling each API and the properties of the objects returned. If you have any questions, please contact [email protected].

</aside>

1. API

1) User authentication

<aside> 🔑 SVMP API uses the Basic Auth (account/password) authentication method for API user authentication. Please send the issued user account and password in the request header and you can use it immediately.

</aside>

2) Ship Tracking

3) Cargo Tracking(Cargo location tracking)

4) Alarm Cargo(Cargo arrival delay notification)

<aside> 💡 You can get the information of registered cargo (based on M-B/L) whose difference between the estimated time of arrival (ETA) and the predicted time of arrival (PTA) is greater than or equal to the set threshold time at once.

However, there may be some differences from the actual time because the ship's movement is changing in real time, but the PTA calculation is done at a certain time.

</aside>

Request URL

GET /v1/alarm/cargo

Response body

{
    "code": 200,
    "message": "OK",
    "error": false,
    "timestamp": "2021-12-10T07:08:47Z",
    "response": [{
            "mblV2DTO": {
                "documentId": "{SVMP Key}",
                "carrierCode": "MAEU",
                "bookingNo": null,
                "mblNo": "{master bl No}",
                "bookingRegno": "",
                "srNo": "",
                "blStatus": "ON",
                "locations": [{
                        "documentId": "{SVMP Key}",
                        "partialSeq": 0,
                        "locationSeq": 0,
                        "locationId": null,
                        "locationCode": "",
                        "locationName": "Busan, Korea, South",
                        "locationType": "POR",
                        "terminalId": null,
                        "terminalName": "Busan new port terminal Co.ltd",
                        "eta": null,
                        "ata": null,
												"carrierAta": null,
												"etb": null,
												"atb": null,
												"carrierAtb": null,
                        "etd": "2021-11-03 14:19",
                        "atd": null,
												"carrierAtd": null,
                        "pta": null,
                        "imoNo": null,
                        "shipName": "",
                        "voyageNo": "",
                        "shipData": null,
                        "portData": null
                    },
	                    { // Loading Port Information
                        "documentId": "{SVMP Key}",
                        "partialSeq": 0,
                        "locationSeq": 1,
                        "locationId": "dc822048-5534-11e9-a747-54802853d888",
                        "locationCode": "",
                        "locationName": "Busan, Korea, South",
                        "locationType": "POL",
                        "terminalId": "d20f5180-bbcc-11ea-b607-049226dae5ce",
                        "terminalName": "Busan new port terminal Co.ltd",
                        "eta": null,
                        "ata": "2021-11-05 17:38",
												"carrierAta": "2021-11-05 17:40",
												"etb": null,
												"atb": null,
												"carrierAtb": null,
                        "etd": "2021-11-06 11:32",
                        "atd": "2021-11-06 22:52",
												"carrierAtd": "2021-11-06 22:54",
                        "pta": null,
                        "imoNo": "9260445",
                        "shipName": "ARTHUR MAERSK",
                        "voyageNo": "142E",
                        "shipData": {
                            // Ship Deatil Data
                            }
                        },
                        "portData": {
                            // Port Detail Data
                        }
                    },
                    { // Discharging Port Information
                        "documentId": "{SVMP Key}",
                        "partialSeq": 0,
                        "locationSeq": 2,
                        "locationId": "aa925038-e0c8-11e9-a622-54802853d888",
                        "locationCode": "",
                        "locationName": "Savannah, United States",
                        "locationType": "POD",
                        "terminalId": "d2188e9e-bbcc-11ea-b607-049226dae5ce",
                        "terminalName": "Savannah Garden City Terminal L738",
                        "eta": "2021-12-08 05:17",
                        "ata": null,
												"carrierAta": null,
												"etb": null,
												"atb": null,
												"carrierAtb": null,
                        "etd": null,
                        "atd": null,
												"carrierAtd": null,
                        "pta": "2021-12-10 15:55",
                        "imoNo": "9260445",
                        "shipName": "ARTHUR MAERSK",
                        "voyageNo": "142E",
                        "shipData": {
                            // Ship Detail Data
                            }
                        },
                        "portData": {
                            // Port Detail Data
                        }
                    }
                ],
                "hbls": [{
                    "documentId": "{SVMP Key}",
                    "hblNo": "SVH.214348845",
                    "ciNo": "",
                    "shipperCode": "",
                    "shipperName": "",
                    "consigneeCode": "",
                    "consigneeName": "",
                    "ownerCode": null,
                    "ownerName": null,
                    "containers": [{
                        "documentId": "{SVMP Key}",
                        "containerNo": "{Container No}",
                        "hblNo": "SVH.214348845",
                        "partialSeq": 0,
                        "size": "40",
                        "type": "Dry",
                        "commodify": "",
                        "hscode": "",
                        "qty": null,
                        "gw": null,
                        "sealNo1": "",
                        "sealNo2": "",
                        "sealNo3": "",
                        "trackings": [{
                                "documentId": "{SVMP Key}",
                                "containerNo": "{Container NO}",
                                "trackingSeq": 0,
                                "eventCode": null,
                                "eventTime": "202110281407",
                                "eventStatus": "Actual",
                                "eventDesc1": "GATE-OUT-EMPTY",
                                "eventDesc2": "",
                                "locationName": "Busan new port terminal Co.ltd, Busan, Korea, South",
                                "imoNo": null,
                                "shipName": null,
                                "voyageNo": null
                            }
                        ]
                    }]
                }]
            }

        },
        "diffHour": 58 //About ETA vs. PTA delays
    }]
}

2. SVMP system integration (Map View Embedded)

1) User authentication

<aside> 🔑 In the case of user authentication for screen integration, an authentication token (Auth Token) is passed to the URL, so the authentication token expires after a certain period of time to reduce damage caused by the URL being exposed to the outside world. Therefore, it is recommended that the system that integrates the screen should be configured to issue a new token before the token expires.

</aside>

- Issuance of authentication token

Request URL

GET /api/v1/user/authToken  

Response body

{
  "code": 200,
  "message": "OK",
  "error": false,
  "timestamp": "2021-12-09T06:52:33Z",
  "response": [
    {
			"userId": "{user-account-email}",
      "tokenId": "{your-user-token}",
      "registDt": "2021-09-29T20:02:31Z",
      "expiredDt": "2022-11-14T05:03:50Z"
    }
  ]
}

2) Ship Tracking

<aside> 🔑 You can view the vessel's last tracked position, past voyages, and predicted route as of the current time.

</aside>