INTRODUCTION

<aside> 💬 By using the SVMP API, you can utilize various data provided within SVMP, such as tracking the location of ships and cargoes, as well as historical and future forecasting trajectories.

This article describes the parameters for calling each API and the properties of the returned object.

If you have any questions, please contact us at [email protected].

</aside>

1. API

1) User Authentication

<aside> 🔑 SVMP API uses Basic Auth (account/password) authentication for API user authentication. If you send the issued user account and password together in the Request Header, you can use it immediately.

</aside>

2) Ship Insight

3) Cargo Insight

4) Alerts for Cargo (Notification of Cargo arrival/Delay)

<aside> 💡 You can retrieve information on cargoes whose difference between the estimated arrival time (ETA) and the predicted arrival time (PTA) of the registered cargo (based on M-B/L) is longer than the set standard time. The movement of the vessel changes in real time, so in the case of PTA calculation there may be some differences from the actual because it is performed at a specific 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
                    },
	                    { // 선적지 정보
                        "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
                        }
                    },
                    { // 양하지 정보
                        "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 //delay hours of ETA VS PTA 
    }]
}

2. SVMP Screen Integration (Map View Embed)

1) User Authentication

<aside> 🔑 In the case of user authentication for screen interlocking, since the authentication token is passed to the URL, the authentication token expires after a certain period of time to to reduce the risk of external exposure of URLs. Therefore, it is recommended to configure the screen interlocking system so that it issues a new token before the expiration date and interlocks it.

</aside>

- Issue 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"
    }
  ]
}