SVMP API를 사용하면 SVMP 내에서 제공하는 선박 및 화물의 위치 추적 및 과거, 미래 예측 항적 등 다양한 데이터를 활용할 수 있습니다. 이 문서에서는 각 API를 호출하기 위한 매개 변수 및 반환되는 개체의 속성에 대해 설명합니다. 질문이 있으시면 [email protected] 으로 연락 주시기 바랍니다.

API


사용자 인증

SVMP API 에서는 API 사용자 인증을 Basic Auth(계정/비밀번호) 인증 방식을 사용하고 있습니다. 발급 받으신 사용자 계정과 비밀번호를 Request Header에 함께 전송해주시면 바로 사용하실 수 있습니다.

Ship Tracking(선박 위치 추적)

선박 추적을 위한 단계는 아래와 같습니다.

선박 정보 검색

Request URL

GET /api/v2/ship/search?keyword={ImoNo-ShipName}

Response body

{
  "code": 200,
  "message": "OK",
  "error": false,
  "timestamp": "2021-12-09T09:57:41Z",
  "response": [
    {
      "shipId": "b794428e-8b3a-11e9-b34d-54802853d888", //{SVMP Ship ID}
      "imoNo": "9769295",
      "mmsi": "538007476",
      "callSign": "V7PO8",
      "shipType": "CONTAINER",
      "shipTypeCargo": "fully cellular containership",
      "shipImage": null,
      "built": 2017,
      "dwt": 197106, //{DeadWeight}
      "hullType": "Single",
      "gt": 210678, //{GrossTonnage}
      "destination": "Hong Kong",
      "eta": null,
      "shipStatusType": "Active",
      "builtBy": "Samsung Shipbuilding & Heavy Industries Company Limited",
      "builtAt": "South Korea",
      "loa": 400,
      "engineBuiltBy": null,
      "designedBy": "MAN Diesel AS",
      "serviceSpeed": null,
      "nationCode": "MH",
      "useYn": "Y",
      "position": {
        "imoNo": "9769295",
        "mmsi": "538007476",
        "mmsiProcess": null,
        "imoNoProcess": null,
        "mmsiOrigin": null,
        "imoNoOrigin": null,
        "aisProcessStatus": null,
        "clusterTotalCount": null,
        "deviceType": "AIS",
        "aisShipType": 72,
        "aisDimA": 34,
        "aisDimB": 257,
        "aisDimC": 25,
        "aisDimD": 34,
        "aisEta": "{선박에서 기재한 ETA}",
        "aisDestination": "{선박에서 기재한 목적지}",
        "aisClass": "A",
        "nvgStatus": 15,
        "longitude": 110.30814,
        "latitude": 13.95823167,
        "elapsed": 0,
        "utcSecond": 60,
        "dte": 1,
        "specialManeuverIndicator": "0",
        "raimFlag": "0",
        "staticMessageNo": 5,
        "locationMessageNo": 1,
        "callsSign": "V7PO8",
        "shipName": "MOL TRIBUTE",
        "staticDateTime": "2021-12-08T12:45:34Z",
        "timestamp": "2021-12-09T09:26:18Z",
        "rateOfTurn": 128,
        "speedOverGround": 16.6,
        "positionAccuracy": 0,
        "courseOverGround": 197,
        "trueHeading": 195,
        "aisMaxDraught": 15.1
      },
      "siteShip": {
        "siteId": "4a88d1f3-9913-4d09-8686-b13837b3baf6",
        "shipId": "b794428e-8b3a-11e9-b34d-54802853d888",
        "registerId": "{your-account-id}",
        "registDateTime": "2021-05-10T09:29:14Z"
      },
      "shipName": "{ship-name}",
      "shipAliasName": null,
      "shipTypeBySize": "CONTAINER01",
      "depth": 32.8,
      "maxDraught": 17
    }
  ]
}

Cargo Tracking(화물 위치 추적)

화물 추적을 위한 단계는 아래와 같습니다.

화물 추적을 위한 기본 정보 전송

Request URL

POST /api/v2/cargo?bookingNo={your-booking-No}&carrierCode={SCAC-code}
POST /api/v2/cargo?mblNo={your-master-bl-No}&carrierCode={SCAC-code}

{
  "bookingRegno": "{Booking Registration No}",
  "hbls": [
    {
      "ciNo": "{Commercial Invoice No}",
      "consigneeCode": "{Your Consignee Code}",
      "consigneeName": "{Your Consignee Name}",
      "containers": [
        {
          "commodify": "{Your Commodity}",
          "containerNo": "{Your Container No}",
          "gw": {Your Gross weight},
          "hscode": "{Your hscode}",
          "qty": {Your Container Qty},
          "sealNo1": "{SealNo#1}",
          "sealNo2": "{SealNo#2}",
          "sealNo3": "{SealNo#3}",
          "size": "{Your container size}",
          "type": "{Your container type}"
        }
      ],
      "hblNo": "{Your house BL}",
      "ownerCode": "{Your Cargo Owner Code}",
      "ownerName": "{Your Cargo Owner Name}",
      "shipperCode": "{Your Cargo Shipper Code}",
      "shipperName": "{Your Cargo Shipper Name}"
    }
  ],
  "srNo": "{Shipping Request No}"
}