{"info":{"_postman_id":"3770d347-0835-4f62-a88e-789ccac3a559","name":"Tradlinx API (KO)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"55599655","collectionId":"3770d347-0835-4f62-a88e-789ccac3a559","publishedId":"2sBXwtq9Pm","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"2D69FF"},"publishDate":"2026-07-13T05:39:00.000Z"},"item":[{"name":"시작하기","item":[{"name":"Tradlinx API 소개","item":[],"id":"310f93e4-edf4-4372-bf2b-cee5297c0fc6","description":"<h3 id=\"✅-tradlinx-api란\">✅ Tradlinx API란?</h3>\n<p>Tradlinx는 해상 물류 가시성(Ocean Visibility) 및 물류 운영을 위한 API를 제공합니다.</p>\n<p>TMS, ERP, 고객 포털 또는 내부 물류 시스템을 구축하는 경우, Tradlinx API를 통해 물류 데이터를 애플리케이션에 손쉽게 연동할 수 있습니다.</p>\n<p>Master B/L, Container Number와 같은 표준 물류 식별자를 이용하여 화물을 추적할 수 있으며, Port Congestion, Supply Chain Issue Monitoring과 같은 logistics intelligence API도 함께 제공합니다.</p>\n<h3 id=\"✅-어떤-문제를-해결하나요\">✅ 어떤 문제를 해결하나요?</h3>\n<p>해상 물류에서는 화물 추적 정보가 여러 선사에 분산되어 있습니다. 선사마다 서로 다른 Tracking 시스템, 데이터 형식 및 업데이트 주기를 사용하기 때문에 화물 정보를 통합하여 활용하기가 어렵습니다.</p>\n<p>또한 항만 혼잡이나 공급망 이슈와 같은 중요한 물류 정보도 여러 출처에 흩어져 있어 신속하게 확인하고 대응하기 어렵습니다.</p>\n<p>Tradlinx는 이러한 정보를 하나의 API 플랫폼으로 표준화하여, 선사와 관계없이 동일한 데이터 구조로 화물 정보를 조회할 수 있도록 제공합니다.</p>\n<p>또한 Port Congestion, Supply Chain Issue Monitoring과 같은 logistics intelligence API를 함께 제공하여 보다 효율적인 물류 운영 의사결정을 지원합니다.</p>\n<h3 id=\"✅-tradlinx-api\">✅ Tradlinx API</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>API</th>\n<th>핵심 가치</th>\n<th>이용 조건</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>선적 트래킹 API</td>\n<td>화물 Tracking (B/L / Container)</td>\n<td>Ocean Visibility Enterprise Plan</td>\n</tr>\n<tr>\n<td>선적 트래킹 API → D&amp;D Monitoring</td>\n<td>D&amp;D 위험 관리</td>\n<td>B/L 트래킹 API 필요</td>\n</tr>\n<tr>\n<td>선적 트래킹 API → AI ETA</td>\n<td>AI 기반 ETA 예측</td>\n<td>선적 트래킹 API 필요</td>\n</tr>\n<tr>\n<td>선박 트래킹 API</td>\n<td>실시간 선박 Tracking</td>\n<td>Ocean Visibility Enterprise Plan</td>\n</tr>\n<tr>\n<td>Embedded MapView</td>\n<td>지도 기반 시각화</td>\n<td>선적 트래킹 API 또는 선박 트래킹 API 필요</td>\n</tr>\n<tr>\n<td>항만혼잡도 API</td>\n<td>항만 혼잡도 정보</td>\n<td>별도 구독 필요</td>\n</tr>\n<tr>\n<td>공급망 이슈 모니터링 API</td>\n<td>공급망 이슈 및 뉴스 조회</td>\n<td>Add-on 기능 별도 구독</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"❇️-문의하기\">❇️ 문의하기</h3>\n<p>궁금한 사항이 있으시면 Sales Team이 자세히 안내해 드립니다.</p>\n<p>담당 영업사원에게 연락주시거나 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 문의해주세요.</p>\n","_postman_id":"310f93e4-edf4-4372-bf2b-cee5297c0fc6"},{"name":"공통 API 가이드","item":[],"id":"55a90cea-058b-453c-b10b-e8f35db99514","description":"<h3 id=\"✅-공통-가이드\">✅ 공통 가이드</h3>\n<ul>\n<li><p>Tradlinx API의 기본 요청 URL은 <code>https://api.tradlinx.com</code>입니다.</p>\n</li>\n<li><p>API는 사전에 협의된 일정에 따라 활성화되며, 활성화 이후부터 정상적으로 요청(Request) 및 응답(Response)을 사용할 수 있습니다.</p>\n</li>\n<li><p><code>\\\\\\\\*</code> : 필수 항목입니다.</p>\n</li>\n<li><p><code>?</code> : 선택 항목입니다. (제공되지 않을 수 있음)</p>\n</li>\n<li><p>위 규칙을 만족하지 않는 요청은 처리되지 않습니다.</p>\n</li>\n<li><p><code>string</code>, <code>boolean</code>, <code>number</code> 외의 타입은 각 문서에 정의된 사용자 정의 타입(Custom Type)을 참고해 주세요.</p>\n</li>\n<li><p>오류 코드에 대한 자세한 내용은 <strong>참고자료 &gt; 오류 코드</strong> 문서를 참고해 주세요.</p>\n</li>\n</ul>\n<h3 id=\"✅-인증-방법-모든-요청에-필수\">✅ 인증 방법 (모든 요청에 필수)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>설명</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tx-clientid</code></td>\n<td>API 연동을 위해 발급된 Client ID</td>\n</tr>\n<tr>\n<td><code>tx-apikey</code></td>\n<td>클라이언트 인증을 위한 API Key</td>\n</tr>\n</tbody>\n</table>\n</div><p>🔑</p>\n<p><strong>아직 API 인증 정보를 발급받지 않으셨나요?</strong></p>\n<p>Sales Team에 문의해 주시면 API 사용을 위한 Client ID와 API Key를 발급해 드립니다.</p>\n<p>담당 영업사원에게 연락주시거나 <a href=\"https://mailto:help@tradlinx.com\"><b>help@tradlinx.com</b></a>으로 문의해 주세요.</p>\n<h3 id=\"✅-api-업데이트-및-하위-호환성-정책\">✅ API 업데이트 및 하위 호환성 정책</h3>\n<p>Tradlinx API는 서비스 품질 향상, 데이터 제공 범위 확대 및 신규 기능 추가를 위해 지속적으로 업데이트될 수 있습니다.</p>\n<p>API 변경 시에는 기존 연동의 안정성을 최우선으로 고려하며, 가능한 한 하위 호환성(Backward Compatibility)을 유지하는 원칙을 따릅니다.</p>\n<p>하위 호환이 유지되는 변경의 예시는 다음과 같습니다.</p>\n<ul>\n<li><p>새로운 Response 필드 추가</p>\n</li>\n<li><p>새로운 Enum 값 추가</p>\n</li>\n<li><p>새로운 선택(Optional) Request Parameter 추가</p>\n</li>\n</ul>\n<p>⭐ <strong>클라이언트 애플리케이션은 알 수 없는 필드를 무시하고, 새롭게 추가된 값을 안전하게 처리할 수 있도록 구현하는 것을 권장합니다.</strong></p>\n<p>기존 연동에 영향을 줄 수 있는 변경 사항이 있는 경우에는 가능한 한 사전에 안내드립니다.</p>\n","_postman_id":"55a90cea-058b-453c-b10b-e8f35db99514"}],"id":"42105d3f-6972-4689-9130-fd82f51eadde","_postman_id":"42105d3f-6972-4689-9130-fd82f51eadde","description":""},{"name":"선적 트래킹 APIs","item":[{"name":"B/L 트래킹 API","item":[{"name":"1. B/L 트래킹 요청","id":"cd2dfdf8-1804-48f1-adef-78bd4fc5a372","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n      \"bl_no\": \"SAMPLE_BL_NO\",\n      \"cntr_no\": \"SAMPLE_CNTR_NO\",\n      \"cust_corp_nm\": \"SAMPLE_CORP_NAME\",\n      \"cust_nm\": \"SAMPLE_CUSTOMER_NAME\",\n      \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n      \"extend_tracking\": true,\n      \"line_cd\": \"SAMPLE_LINE_CD\"\n    }\n  ]","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v2/cargo-tracks/tracking","description":"<ul>\n<li><p>하나 이상의 Master B/L을 등록하여 화물 추적을 시작할 수 있습니다.</p>\n</li>\n<li><p>요청은 Array 형태로 구성해야 합니다.</p>\n</li>\n<li><p>각 트래킹은 <code>bl_no</code> + <code>line_cd</code> + <code>cust_order_id</code> 조합으로 고유하게 식별되며, 해당 식별자는 모든 B/L Tracking API에서 공통으로 사용됩니다.</p>\n</li>\n<li><p><code>cust_order_id</code>는 고객이 사용하는 내부 식별자입니다. (예: Purchase Order 번호, House B/L 등)</p>\n</li>\n<li><p>한 번의 요청으로 최대 50건까지 등록할 수 있습니다.</p>\n</li>\n<li><p>지원하는 선사는 <strong>참고자료 &gt; 추적 가능한 선사 목록</strong>을 참고해 주세요.</p>\n</li>\n</ul>\n<h5 id=\"추적요청-데이터\"><strong>추적요청 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*bl_no</td>\n<td>string</td>\n<td>50</td>\n<td>Master B/L 번호</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>*line_cd</td>\n<td>string</td>\n<td>5</td>\n<td>선사코드</td>\n<td>최대 5자</td>\n</tr>\n<tr>\n<td>cust_order_id</td>\n<td>string</td>\n<td>400</td>\n<td>관리 번호</td>\n<td>최대 400자</td>\n</tr>\n<tr>\n<td>cntr_no</td>\n<td>string</td>\n<td>50</td>\n<td>컨테이너 번호</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>cust_corp_nm</td>\n<td>string</td>\n<td>100</td>\n<td>고객사 명</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>cust_nm</td>\n<td>string</td>\n<td>50</td>\n<td>고객사 담당자 명</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>extend_tracking</td>\n<td>boolean</td>\n<td></td>\n<td>추가 트래킹 여부</td>\n<td>추가 추적 사용자만 true 반영</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적요청-응답--response-body\"><strong>추적요청 응답 – Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>기타</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>api 버전</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td>SuccessFail</td>\n<td>성공/실패 구분</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"successfail--성공실패-구분\"><strong>SuccessFail – 성공/실패 구분</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>success</td>\n<td>Success[]</td>\n<td>등록 성공 데이터 요약</td>\n</tr>\n<tr>\n<td>success_count</td>\n<td>number</td>\n<td>등록에 성공한 데이터 개수</td>\n</tr>\n<tr>\n<td>fail</td>\n<td>Fail[]</td>\n<td>등록 실패 데이터 요약</td>\n</tr>\n<tr>\n<td>fail_count</td>\n<td>number</td>\n<td>등록에 실패한 데이터 개수</td>\n</tr>\n<tr>\n<td>total_count</td>\n<td>number</td>\n<td>요청 총 개수</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"success\"><strong>Success</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bl_no</td>\n<td>string</td>\n<td>50</td>\n<td>Master B/L 번호</td>\n</tr>\n<tr>\n<td>cntr_no</td>\n<td>string</td>\n<td>50</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>cust_corp_nm</td>\n<td>string</td>\n<td>100</td>\n<td>고객사 명</td>\n</tr>\n<tr>\n<td>cust_nm</td>\n<td>string</td>\n<td>50</td>\n<td>고객사 담당자 명</td>\n</tr>\n<tr>\n<td>cust_order_id</td>\n<td>string</td>\n<td>400</td>\n<td>관리 번호</td>\n</tr>\n<tr>\n<td>line_cd</td>\n<td>string</td>\n<td>5</td>\n<td>선사코드</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"fail\"><strong>Fail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>data</td>\n<td>FailData</td>\n<td>실패한 데이터 요약</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>string</td>\n<td>실패 사유</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"faildata\"><strong>FailData</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bl_no</td>\n<td>string</td>\n<td>50</td>\n<td>Master B/L 번호</td>\n</tr>\n<tr>\n<td>line_cd</td>\n<td>string</td>\n<td>5</td>\n<td>선사코드</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v2","cargo-tracks","tracking"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"f8b126cb-569d-4994-a8f7-398db88e7ecf","name":"200 정상응답","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n      \"bl_no\": \"SAMPLE_BL_NO\",\n      \"cntr_no\": \"SAMPLE_CNTR_NO\",\n      \"cust_corp_nm\": \"SAMPLE_CORP_NAME\",\n      \"cust_nm\": \"SAMPLE_CUSTOMER_NAME\",\n      \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n      \"extend_tracking\": true,\n      \"line_cd\": \"SAMPLE_LINE_CD\"\n    }\n  ]","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v2/cargo-tracks/tracking"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v2\",\n  \"content\": {\n    \"success\": [\n      {\n        \"bl_no\": \"SAMPLE_BL_NO\",\n        \"cntr_no\": \"SAMPLE_CNTR_NO\",\n        \"cust_corp_nm\": \"SAMPLE_CORP_NM\",\n        \"cust_nm\": \"SAMPLE_CUSTOMER_NM\",\n        \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n        \"line_cd\": \"SAMPLE_LINE_CD\"\n      }\n    ],\n    \"fail\": [\n      {\n        \"data\": {\n          \"bl_no\": \"SAMPLE_BL_NO\",\n          \"line_cd\": \"SAMPLE_LINE_CD\"\n        },\n        \"reason\": \"5\"\n      }\n    ],\n    \"fail_count\": 1,\n    \"success_count\": 1,\n    \"total_count\": 2\n  },\n  \"transaction_time\": \"2025-07-08T07:00:26.146254\"\n}"}],"_postman_id":"cd2dfdf8-1804-48f1-adef-78bd4fc5a372"},{"name":"2. 기간 내 등록된 B/L 트래킹 데이터 조회","id":"e36e726e-2e52-4225-bcb6-c9f457fbfe37","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/query?register_from=[Register From]&register_to=[Register To]&page=[Page]&size=[Size]","description":"<ul>\n<li><p>지정한 기간 내에 등록된 B/L 트래킹 목록을 조회합니다.</p>\n</li>\n<li><p>결과는 페이지네이션 형식으로 제공됩니다.</p>\n</li>\n<li><p>대량의 데이터를 조회할 경우 <code>page</code>와 <code>size</code> 파라미터를 사용하여 결과를 순차적으로 조회할 수 있습니다.</p>\n</li>\n<li><p>조회 기간은 트래킹 요청이 최초로 등록된 날짜 및 시간을 기준으로 합니다.</p>\n</li>\n<li><p><code>content</code> 내 날짜 및 시간 필드는 ISO 8601 형식(<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)으로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>CargoTrackDetail</td>\n<td>B/L 트래킹 상세 데이터</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td>number</td>\n<td>content 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td>Pagination</td>\n<td>페이지 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"페이지-정보---pagination\"><strong>페이지 정보 - Pagination</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total_size</td>\n<td>number</td>\n<td>전체 데이터 크기</td>\n</tr>\n<tr>\n<td>total_page</td>\n<td>number</td>\n<td>최대 페이지 번호</td>\n</tr>\n<tr>\n<td>current_page</td>\n<td>number</td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>has_next</td>\n<td>boolean</td>\n<td>다음 페이지 존재 여부</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"bl-트래킹-데이터---cargotrack\"><strong>B/L 트래킹 데이터 - CargoTrack</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cargo_track_id</td>\n<td>string</td>\n<td>B/L 트래킹 ID</td>\n</tr>\n<tr>\n<td>line_cd</td>\n<td>string</td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>bl_no</td>\n<td>string</td>\n<td>Master B/L 번호</td>\n</tr>\n<tr>\n<td>cust_order_id</td>\n<td>string</td>\n<td>관리 번호</td>\n</tr>\n<tr>\n<td>cust_corp_name</td>\n<td>string</td>\n<td>고객사</td>\n</tr>\n<tr>\n<td>cust_name</td>\n<td>string</td>\n<td>고객사 담당자 이름</td>\n</tr>\n<tr>\n<td>registered_datetime</td>\n<td>string</td>\n<td>등록일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>tracking_status</td>\n<td>string</td>\n<td>추적 상태(하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>trade_type</td>\n<td>string</td>\n<td>더 이상 사용되지 않는 필드입니다. 항상 null을 반환합니다</td>\n</tr>\n<tr>\n<td>is_container_plus</td>\n<td>boolean</td>\n<td>컨테이너 플러스 여부</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적상태\"><strong>추적상태</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>INIT</td>\n<td>대기 중: 최초로 Master B/L을 정보를 확인중</td>\n</tr>\n<tr>\n<td>PENDING</td>\n<td>재시도중: 정보 유효성 검증중</td>\n</tr>\n<tr>\n<td>EXPIRED</td>\n<td>7일간 추적을 시도했으나 정보 확인 실패</td>\n</tr>\n<tr>\n<td>BL_INVALID</td>\n<td>BL 입력 오류</td>\n</tr>\n<tr>\n<td>TRACKING</td>\n<td>정상 추적중</td>\n</tr>\n<tr>\n<td>COMPLETE</td>\n<td>목적지까지 운송이 완료되었거나 추적 기간 만료</td>\n</tr>\n<tr>\n<td>UNPAID</td>\n<td>크레딧 부족으로 추적할 수 없는 상태</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","cargo-tracks","query"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>등록일시 기준 시작일 (ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_from","value":"[Register From]"},{"description":{"content":"<p>등록일시 기준 종료일 (ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_to","value":"[Register To]"},{"description":{"content":"<p>(required) 페이지 번호 (최소: 1)</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>(required) 페이지 크기 (범위: 1~1000)</p>\n","type":"text/plain"},"key":"size","value":"[Size]"}],"variable":[]}},"response":[{"id":"12f03a39-8a86-4d82-a2a8-3a8fb2270e7b","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/query?register_from=[Register From]&register_to=[Register To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","query"],"query":[{"key":"register_from","value":"[Register From]","description":"등록일시 기준 시작일 (ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일시 기준 종료일 (ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~1000)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"transaction_time\": \"2025-07-09T04:04:06.333705\",\n  \"content\": [\n    {\n      \"cargo_track_id\": \"SAMPLE_CARGO_TRACK_ID\",\n      \"line_cd\": \"SAMPLE_LINE_CD\",\n      \"bl_no\": \"SAMPLE_BL_NO\",\n      \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n      \"cust_corp_name\": \"SAMPLE_CORP_NAME\",\n      \"cust_name\": \"SAMPLE_CUSTOMER_NAME\",\n      \"registered_datetime\": \"2025-02-27T06:51:49Z\",\n      \"tracking_status\": \"COMPLETE\",\n      \"trade_type\": null,\n      \"is_container_plus\": true\n    }\n  ],\n  \"size\": 1,\n  \"pagination\": {\n    \"current_page\": 1,\n    \"has_next\": false,\n    \"total_page\": 10,\n    \"total_size\": 10\n  }\n}"},{"id":"d0785f3e-eedc-48a6-b6fd-3437da377541","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/query?register_from=[Register From]&register_to=[Register To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","query"],"query":[{"key":"register_from","value":"[Register From]","description":"등록일시 기준 시작일 (ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일시 기준 종료일 (ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~1000)"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n   \"error_detail\": \"[page]: The value of the field must be greater than or equal to 1.\",\n   \"transaction_time\": \"2025-03-20T05:42:27.135265\"\n}"},{"id":"ed06e86c-2de6-4edc-a98e-3929b26e9bc9","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/query?register_from=[Register From]&register_to=[Register To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","query"],"query":[{"key":"register_from","value":"[Register From]","description":"등록일시 기준 시작일 (ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일시 기준 종료일 (ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~1000)"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n   \"status\": 500,\n   \"type\": \"Internal Server Error\",\n   \"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"e36e726e-2e52-4225-bcb6-c9f457fbfe37"},{"name":"3. B/L 트래킹 데이터 상세 조회","id":"93ced56d-edc6-4865-8ab7-2393694534b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/details?bl_nos=[BL No],[BL No],[BL No]&page=[Page]&size=[Size]","description":"<ul>\n<li><p>하나 이상의 B/L 번호에 대한 상세 트래킹 정보를 조회합니다.</p>\n</li>\n<li><p>트래킹 상세 정보는 <code>status</code>가 <code>TRACKING</code> 상태가 된 이후부터 조회할 수 있습니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 50개의 B/L 번호를 조회할 수 있습니다.</p>\n</li>\n<li><p><code>content</code> 내 날짜 및 시간 필드는 ISO 8601 형식(<code>yyyy-MM-dd'T'HH:mm:ssXXX</code>)으로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>CargoTrackDetail</td>\n<td>B/L 트래킹 상세 데이터</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td>number</td>\n<td>content 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td>Pagination</td>\n<td>페이지 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"페이지-정보---pagination\"><strong>페이지 정보 - Pagination</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total_size</td>\n<td>number</td>\n<td>전체 데이터 크기</td>\n</tr>\n<tr>\n<td>total_page</td>\n<td>number</td>\n<td>최대 페이지 번호</td>\n</tr>\n<tr>\n<td>current_page</td>\n<td>number</td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>has_next</td>\n<td>boolean</td>\n<td>다음 페이지 존재 여부</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"bl-트래킹-상세-데이터---cargotrackdetail\"><strong>B/L 트래킹 상세 데이터 - CargoTrackDetail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cargo_track_id</td>\n<td>string</td>\n<td>B/L 트래킹 ID</td>\n</tr>\n<tr>\n<td>line_cd</td>\n<td>string</td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>bl_no</td>\n<td>string</td>\n<td>Master B/L 번호</td>\n</tr>\n<tr>\n<td>cust_order_id</td>\n<td>string</td>\n<td>관리 번호</td>\n</tr>\n<tr>\n<td>cust_corp_name</td>\n<td>string</td>\n<td>고객사</td>\n</tr>\n<tr>\n<td>cust_name</td>\n<td>string</td>\n<td>고객사 담당자 이름</td>\n</tr>\n<tr>\n<td>remark</td>\n<td>string</td>\n<td>비고</td>\n</tr>\n<tr>\n<td>registered_datetime</td>\n<td>string</td>\n<td>등록일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>tracking_status</td>\n<td>string</td>\n<td>추적 상태 (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>trade_type</td>\n<td>string</td>\n<td>더 이상 사용되지 않는 필드입니다. 항상 null을 반환합니다</td>\n</tr>\n<tr>\n<td>is_container_plus</td>\n<td>boolean</td>\n<td>컨테이너 플러스 여부</td>\n</tr>\n<tr>\n<td>trans_type</td>\n<td>string</td>\n<td>직항 / 환적 (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>origin</td>\n<td>ExtraRoute</td>\n<td>출발 지역 (일부 선사에 대해서만 데이터 제공) (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>pol</td>\n<td>POL</td>\n<td>Port of Loading(선적항) 데이터</td>\n</tr>\n<tr>\n<td>pod</td>\n<td>POD</td>\n<td>Port of Discharge(양하항) 데이터</td>\n</tr>\n<tr>\n<td>destination</td>\n<td>ExtraRoute</td>\n<td>최종 도착 지역 (일부 선사에 대해서만 데이터 제공) (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>current_vessel</td>\n<td>CurrentVessel</td>\n<td>현재 화물이 실린 선박 데이터</td>\n</tr>\n<tr>\n<td>routes</td>\n<td>Route []</td>\n<td>운항 경로 데이터 목록</td>\n</tr>\n<tr>\n<td>containers</td>\n<td>Container []</td>\n<td>컨테이너 데이터 목록</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적상태\"><strong>추적상태</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>INIT</td>\n<td>대기 중: 최초로 Master B/L을 정보를 확인중</td>\n</tr>\n<tr>\n<td>PENDING</td>\n<td>재시도중: 정보 유효성 검증중</td>\n</tr>\n<tr>\n<td>EXPIRED</td>\n<td>7일간 추적을 시도했으나 정보 확인 실패</td>\n</tr>\n<tr>\n<td>BL_INVALID</td>\n<td>BL 입력 오류</td>\n</tr>\n<tr>\n<td>TRACKING</td>\n<td>정상 추적중</td>\n</tr>\n<tr>\n<td>COMPLETE</td>\n<td>목적지까지 운송이 완료되었거나 추적 기간 만료</td>\n</tr>\n<tr>\n<td>UNPAID</td>\n<td>크레딧 부족으로 추적할 수 없는 상태</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"직항-환적\"><strong>직항/ 환적</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>DIRECT</td>\n<td>직항</td>\n</tr>\n<tr>\n<td>TS</td>\n<td>환적</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"extraroute---출도착지-데이터\"><strong>ExtraRoute - 출/도착지 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>location_name</td>\n<td>string</td>\n<td>지역 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>location_code</td>\n<td>string</td>\n<td>지역 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_date_time</td>\n<td>string</td>\n<td>최초 제공된 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>estimate_date_time</td>\n<td>string</td>\n<td>예상 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>actual_date_time</td>\n<td>string</td>\n<td>실제 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pol---선적항-데이터\"><strong>POL - 선적항 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pol_name</td>\n<td>string</td>\n<td>선적항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td>string</td>\n<td>선적항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_etd</td>\n<td>string</td>\n<td>최초 제공된 ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>etd</td>\n<td>string</td>\n<td>ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>atd</td>\n<td>string</td>\n<td>ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_atd</td>\n<td>string</td>\n<td>AIS 기반 ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pod---양하항-데이터\"><strong>POD - 양하항 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pod_name</td>\n<td>string</td>\n<td>양하항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td>string</td>\n<td>양하항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_eta</td>\n<td>string</td>\n<td>최초 제공된 ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>eta</td>\n<td>string</td>\n<td>ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ata</td>\n<td>string</td>\n<td>ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_ata</td>\n<td>string</td>\n<td>AIS 기반 ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"currentvessel---현재-화물이-실린-선박-데이터\"><strong>CurrentVessel - 현재 화물이 실린 선박 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>imo</td>\n<td>string</td>\n<td>IMO</td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td>string</td>\n<td>MMSI</td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td>string</td>\n<td>선박 이름</td>\n</tr>\n<tr>\n<td>voyage</td>\n<td>string</td>\n<td>항차</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"route---운항-경로-데이터\"><strong>Route - 운항 경로 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>order</td>\n<td>number</td>\n<td>운항경로 순서</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_name</td>\n<td>string</td>\n<td>선적항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td>string</td>\n<td>선적항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_name</td>\n<td>string</td>\n<td>양하항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td>string</td>\n<td>양하항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>imo</td>\n<td>string</td>\n<td>선박 IMO</td>\n<td></td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td>string</td>\n<td>선박 MMSI</td>\n<td></td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td>string</td>\n<td>선박 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>voyage</td>\n<td>string</td>\n<td>항차</td>\n<td></td>\n</tr>\n<tr>\n<td>init_etd</td>\n<td>string</td>\n<td>최초 제공된 ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>etd</td>\n<td>string</td>\n<td>ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>atd</td>\n<td>string</td>\n<td>ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_atd</td>\n<td>string</td>\n<td>AIS 기반 ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>init_eta</td>\n<td>string</td>\n<td>최초 제공된 ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>eta</td>\n<td>string</td>\n<td>ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ata</td>\n<td>string</td>\n<td>ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_ata</td>\n<td>string</td>\n<td>AIS 기반 ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"container---컨테이너-데이터\"><strong>Container - 컨테이너 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cntr_no</td>\n<td>string</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>cntr_sz</td>\n<td>string</td>\n<td>컨테이너 사이즈</td>\n</tr>\n<tr>\n<td>cntr_tp</td>\n<td>string</td>\n<td>컨테이너 타입</td>\n</tr>\n<tr>\n<td>seal_no</td>\n<td>string</td>\n<td>컨테이너 봉인번호</td>\n</tr>\n<tr>\n<td>container_events</td>\n<td>ContainerEvent []</td>\n<td>컨테이너 이벤트 데이터 Array</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"containerevent---컨테이너-이벤트\"><strong>ContainerEvent - 컨테이너 이벤트</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>port_code</td>\n<td>string</td>\n<td>항구 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>컨테이너 이벤트 유형 (하단 리스트 참고)</td>\n<td></td>\n</tr>\n<tr>\n<td>transportation</td>\n<td>string</td>\n<td>운송 수단 유형 (하단 리스트 참고)</td>\n<td></td>\n</tr>\n<tr>\n<td>is_actual</td>\n<td>boolean</td>\n<td>실제 이벤트 시간 여부</td>\n<td></td>\n</tr>\n<tr>\n<td>event_datetime</td>\n<td>string</td>\n<td>이벤트 발생 시간</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"컨테이너-이벤트-유형\"><strong>컨테이너 이벤트 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CONTAINER_PICK_UP</td>\n<td>컨테이너 픽업</td>\n</tr>\n<tr>\n<td>LOADING_ON_VESSEL</td>\n<td>선적</td>\n</tr>\n<tr>\n<td>VESSEL_DEPARTURE_FROM_PORT</td>\n<td>출항</td>\n</tr>\n<tr>\n<td>VESSEL_ARRIVAL_AT_PORT</td>\n<td>입항</td>\n</tr>\n<tr>\n<td>VESSEL_BERTHING_ON_PORT</td>\n<td>접안</td>\n</tr>\n<tr>\n<td>DISCHARGING_FROM_VESSEL</td>\n<td>양하</td>\n</tr>\n<tr>\n<td>GATE_IN</td>\n<td>터미널 또는 컨테이너 야드 반입</td>\n</tr>\n<tr>\n<td>GATE_OUT</td>\n<td>터미널 또는 컨테이너 야드 반출</td>\n</tr>\n<tr>\n<td>RAIL_LOADING</td>\n<td>기차 상차</td>\n</tr>\n<tr>\n<td>RAIL_DEPARTURE</td>\n<td>기차 출발</td>\n</tr>\n<tr>\n<td>RAIL_ARRIVAL</td>\n<td>기차 도착</td>\n</tr>\n<tr>\n<td>RAIL_UNLOADING</td>\n<td>기차 하차</td>\n</tr>\n<tr>\n<td>PICKING_UP_BY_CONSIGNEE</td>\n<td>수화인이 화물을 인도받기 위해 픽업 중인 상태</td>\n</tr>\n<tr>\n<td>DELIVERING_TO_CONSIGNEE</td>\n<td>화물이 수화인에게 배송 중인 상태</td>\n</tr>\n<tr>\n<td>EMPTY_CONTAINER_RETURN</td>\n<td>컨테이너 반납</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"운송-수단-유형\"><strong>운송 수단 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>VESSEL</td>\n<td>선박</td>\n</tr>\n<tr>\n<td>FEEDER</td>\n<td>소형 컨테이너 선박</td>\n</tr>\n<tr>\n<td>BARGE</td>\n<td>동력이 없거나 적은 화물 운송용 선박</td>\n</tr>\n<tr>\n<td>RAIL</td>\n<td>기차</td>\n</tr>\n<tr>\n<td>TRUCK</td>\n<td>화물차</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","cargo-tracks","details"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>Master B/L 번호 목록</p>\n","type":"text/plain"},"key":"bl_nos","value":"[BL No],[BL No],[BL No]"},{"description":{"content":"<p>페이지 번호 (최소: 1)</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>페이지 크기 (범위: 1~50)</p>\n","type":"text/plain"},"key":"size","value":"[Size]"}],"variable":[]}},"response":[{"id":"2ac5ebc8-7287-493b-8806-94319b346a73","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/details?bl_nos=[BL No],[BL No],[BL No]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","details"],"query":[{"key":"bl_nos","value":"[BL No],[BL No],[BL No]","description":"Master B/L 번호 목록"},{"key":"page","value":"[Page]","description":"페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"페이지 크기 (범위: 1~50)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"bl_no\": \"SAMPLE_BL_NO\",\n      \"cargo_track_id\": \"SAMPLE_CARGO_TRACK_ID\",\n      \"containers\": [\n        {\n          \"cntr_no\": \"SAMPLE_CNTR_NO\",\n          \"cntr_sz\": \"SAMPLE_CNTR_SIZE\",\n          \"cntr_tp\": \"SAMPLE_CNTR_TYPE\",\n          \"container_events\": [\n            {\n              \"event_datetime\": \"2025-07-08T07:25:39+09:00\",\n              \"event_type\": \"CONTAINER_PICK_UP\",\n              \"is_actual\": false,\n              \"port_code\": \"SAMPLE_PORT_CODE\",\n              \"transportation\": \"BARGE\"\n            }\n          ],\n          \"seal_no\": \"SAMPLE_SEAL_NO\"\n        }\n      ],\n      \"current_vessel\": {\n        \"imo\": \"SAMPLE_IMO\",\n        \"mmsi\": \"SAMPLE_MMSI\",\n        \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n        \"voyage\": \"SAMPLE_VOYAGE\"\n      },\n      \"cust_corp_name\": \"SAMPLE_CORP_NAME\",\n      \"cust_name\": \"SAMPLE_CUSTOMER_NAME\",\n      \"cust_order_id\": \"SAMPLE_CUST_ORDER_ID\",\n      \"is_active\": false,\n      \"is_container_plus\": false,\n      \"line_cd\": \"SAMPLE_LINE_CD\",\n      \"origin\": {\n        \"location_code\": \"SAMPLE_LOCATION_CODE\",\n        \"location_name\": \"SAMPLE_LOCATION_NAME\",\n        \"init_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"estimate_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"actual_date_time\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"pod\": {\n        \"ata\": \"2025-07-08T07:25:39+09:00\",\n        \"eta\": \"2025-07-08T07:25:39+09:00\",\n        \"init_eta\": \"2025-07-08T07:25:39+09:00\",\n        \"pod_code\": \"SAMPLE_POD_PORT_CODE\",\n        \"pod_name\": \"SAMPLE_POD_NAME\",\n        \"tx_ata\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"pol\": {\n        \"atd\": \"2025-07-08T07:25:39+09:00\",\n        \"etd\": \"2025-07-08T07:25:39+09:00\",\n        \"init_etd\": \"2025-07-08T07:25:39+09:00\",\n        \"pol_code\": \"POL_PORT_CODE\",\n        \"pol_name\": \"POL_NAME\",\n        \"tx_atd\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"destination\": {\n        \"location_code\": \"SAMPLE_LOCATION_CODE\",\n        \"location_name\": \"SAMPLE_LOCATION_NAME\",\n        \"init_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"estimate_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"actual_date_time\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"registered_datetime\": \"2025-07-08T07:25:39.493Z\",\n      \"remark\": \"SAMPLE_REMARK\",\n      \"routes\": [\n        {\n          \"ata\": \"2025-07-08T07:25:39+09:00\",\n          \"atd\": \"2025-07-08T07:25:39+09:00\",\n          \"eta\": \"2025-07-08T07:25:39+09:00\",\n          \"etd\": \"2025-07-08T07:25:39+09:00\",\n          \"imo\": \"SAMPLE_IMO\",\n          \"init_eta\": \"2025-07-08T07:25:39+09:00\",\n          \"init_etd\": \"2025-07-08T07:25:39+09:00\",\n          \"mmsi\": \"SAMPLE_MMSI\",\n          \"order\": 0,\n          \"pod_code\": \"SAMPLE_POD_CODE\",\n          \"pod_name\": \"SAMPLE_POD_NAME\",\n          \"pol_code\": \"SAMPLE_POL_CODE\",\n          \"pol_name\": \"SAMPLE_POL_NAME\",\n          \"tx_ata\": \"2025-07-08T07:25:39+09:00\",\n          \"tx_atd\": \"2025-07-08T07:25:39+09:00\",\n          \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n          \"voyage\": \"SAMPLE_VOYAGE\"\n        }\n      ],\n      \"tracking_status\": \"TRACKING\",\n      \"trade_type\": null,\n      \"trans_type\": \"DIR\"\n    }\n  ],\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"pagination\": {\n    \"current_page\": 0,\n    \"has_next\": false,\n    \"total_page\": 0,\n    \"total_size\": 0\n  },\n  \"size\": 1,\n  \"transaction_time\": \"2025-07-08T07:25:39.493258\"\n}"},{"id":"9dd2aa04-e709-433f-9f40-6dbd7d65a74f","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/details?bl_nos=[BL No],[BL No],[BL No]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","details"],"query":[{"key":"bl_nos","value":"[BL No],[BL No],[BL No]","description":"Master B/L 번호 목록"},{"key":"page","value":"[Page]","description":"페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"페이지 크기 (범위: 1~50)"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"error_detail\": \"[page]: The value of the field must be greater than or equal to 1.\",\n\t\"transaction_time\": \"2025-03-20T05:42:27.123543\"\n}"},{"id":"39b06d68-cf76-444a-8104-7bcb639c3767","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/details?bl_nos=[BL No],[BL No],[BL No]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","details"],"query":[{"key":"bl_nos","value":"[BL No],[BL No],[BL No]","description":"Master B/L 번호 목록"},{"key":"page","value":"[Page]","description":"페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"페이지 크기 (범위: 1~50)"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"status\": 500,\n\t\"type\": \"Internal Server Error\",\n\t\"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"93ced56d-edc6-4865-8ab7-2393694534b5"},{"name":"4. B/L 트래킹 수정 요청","id":"462e4eff-091c-4b8c-8eb8-9eacd42e83ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n    \"cust_corp_name\": \"SAMPLE_CORP_NAME\",\n    \"cust_name\": \"SAMPLE_CUSTOMER_NAME\",\n    \"remark\": \"SAMPLE_REMARK\"\n  }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/:cargo_track_id","description":"<ul>\n<li><p>고유한 <code>cargo_track_id</code>를 이용하여 기존 B/L 트래킹 정보를 수정합니다.</p>\n</li>\n<li><p>기존 트래킹과 <code>bl_no</code>, <code>line_cd</code>, <code>cust_order_id</code>가 모두 동일한 경우 수정이 적용되지 않습니다.세 필드 중 일부만 동일한 경우에는 수정할 수 있습니다.</p>\n</li>\n</ul>\n<h5 id=\"requestbody\"><strong>RequestBody</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*cust_order_id</td>\n<td>string</td>\n<td>400</td>\n<td>관리 번호</td>\n<td>최대 400자, 필수 값</td>\n</tr>\n<tr>\n<td>cust_corp_name</td>\n<td>string</td>\n<td>100</td>\n<td>고객사명</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>cust_name</td>\n<td>string</td>\n<td>50</td>\n<td>고객사 담당자명</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>remark</td>\n<td>string</td>\n<td>800</td>\n<td>비고</td>\n<td>최대 800자</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","cargo-tracks",":cargo_track_id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"d889b384-68e0-46b4-96e3-5fbfea823b0a","description":{"content":"<p>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"cargo_track_id"}]}},"response":[{"id":"d8cece34-2b96-4a5e-b18b-f43d1d85fb75","name":"200 정상응답","originalRequest":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n    \"cust_corp_name\": \"SAMPLE_CORP_NAME\",\n    \"cust_name\": \"SAMPLE_CUSTOMER_NAME\",\n    \"remark\": \"SAMPLE_REMARK\"\n  }","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/:cargo_track_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks",":cargo_track_id"],"variable":[{"key":"cargo_track_id","value":"","description":"선적 조회를 통해 알 수 있는 선적 건의 고유 아이디"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"b2e4832c-9ef5-4006-ae68-3f5a42ea7d25","name":"400 에러","originalRequest":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n    \"cust_corp_name\": \"SAMPLE_CORP_NAME\",\n    \"cust_name\": \"SAMPLE_CUSTOMER_NAME\",\n    \"remark\": \"SAMPLE_REMARK\"\n  }","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/:cargo_track_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks",":cargo_track_id"],"variable":[{"key":"cargo_track_id","value":"","description":"선적 조회를 통해 알 수 있는 선적 건의 고유 아이디"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"error_detail\": \"[cust_order_id]: must not be blank\",\n\t\"transaction_time\": \"2024-08-13T05:42:27.251232\"\n}"}],"_postman_id":"462e4eff-091c-4b8c-8eb8-9eacd42e83ac"},{"name":"5. B/L 트래킹 취소 요청","id":"a053e08a-16da-4dbc-ad12-71205eaa3251","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n      \"bl_no\": \"SAMPLE_BL_NO\",\n      \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n      \"line_cd\": \"SAMPLE_LINE_CD\"\n    }\n  ]","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v2/cargo-tracks/cancel","description":"<ul>\n<li><p>하나 이상의 B/L 트래킹을 한 번의 요청으로 취소합니다.</p>\n</li>\n<li><p>요청은 Array 형태로 구성해야 합니다.</p>\n</li>\n<li><p>각 항목은 <code>bl_no</code> + <code>line_cd</code> + <code>cust_order_id</code> 조합으로 식별됩니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 50건까지 취소할 수 있습니다.</p>\n</li>\n<li><p>트래킹이 시작되기 전까지만 Credit이 환불됩니다. <code>tracking_status</code>가 <code>TRACKING</code> 또는 <code>COMPLETE</code>인 경우 취소하더라도 Credit이 환불되지 않습니다.</p>\n</li>\n</ul>\n<h5 id=\"추적요청-취소-데이터\"><strong>추적요청 취소 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*bl_no</td>\n<td>string</td>\n<td>50</td>\n<td>Master B/L 번호</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>*cust_order_id</td>\n<td>string</td>\n<td>400</td>\n<td>관리 번호</td>\n<td>최대 400자</td>\n</tr>\n<tr>\n<td>*line_cd</td>\n<td>string</td>\n<td>5</td>\n<td>선사코드</td>\n<td>최대 5자</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v2","cargo-tracks","cancel"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"42f74b1d-7cfc-4f3b-8f9b-56e3ec3a4985","name":"200 정상응답","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n      \"bl_no\": \"SAMPLE_BL_NO\",\n      \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n      \"line_cd\": \"SAMPLE_LINE_CD\"\n    }\n  ]","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v2/cargo-tracks/cancel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"a053e08a-16da-4dbc-ad12-71205eaa3251"},{"name":"6. 수동 B/L 트래킹 요청","id":"795798f0-cc8f-4e69-9da2-725b9212b8b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n      \"line_name\": \"Example Line\",\n      \"bl_no\": \"BL202408081309\",\n      \"cust_order_id\": \"ORDER12345\",\n      \"cust_corp_name\": \"Example Corp\",\n      \"cust_name\": \"John Doe\",\n      \"remark\": \"This is a remark.\",\n      \"route_list\": [\n        {\n          \"pol_name\": \"BUSAN\",\n          \"etd\": \"2024-07-30T10:00:00\",\n          \"atd\": \"2024-07-30T12:00:00\",\n          \"pod_name\": \"LA\",\n          \"eta\": \"2024-08-05T18:00:00\",\n          \"ata\": null,\n          \"vessel_name\": \"OOCL HUSTON\",\n          \"imo\": \"9355757\"\n        },\n        {\n          \"pol_name\": \"LA\",\n          \"etd\": \"2024-08-06T08:00:00\",\n          \"atd\": null,\n          \"pod_name\": \"MEXICO\",\n          \"eta\": \"2024-08-10T20:00:00\",\n          \"ata\": null,\n          \"vessel_name\": \"OOCL SEOUL\",\n          \"imo\": \"9417244\"\n        }\n      ]\n    }\n  ]","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/manual-tracking","description":"<ul>\n<li><p>자동 추적을 지원하지 않는 경우 하나 이상의 B/L 트래킹을 수동으로 등록할 수 있습니다.</p>\n</li>\n<li><p>요청은 Array 형태로 구성해야 합니다.</p>\n</li>\n<li><p>각 트래킹은 <code>bl_no</code> + <code>line_cd</code> + <code>cust_order_id</code> 조합으로 고유하게 식별되며, 동일한 조합은 중복 등록할 수 없습니다.</p>\n</li>\n<li><p>수동 트래킹은 요청에 포함된 POL, POD, ETD, ETA, 선박명(Vessel Name), IMO 번호 등의 운항 정보를 기반으로 트래킹 데이터를 생성합니다.</p>\n</li>\n<li><p>입력한 정보가 부정확하거나 누락된 경우 트래킹 정보가 정확하지 않거나 일부 정보가 제공되지 않을 수 있습니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 50건까지 등록할 수 있습니다.</p>\n</li>\n</ul>\n<h5 id=\"수동-bl-트래킹-요청-데이터\"><strong>수동 B/L 트래킹 요청 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*line_name</td>\n<td>string</td>\n<td>50</td>\n<td>선사명</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>*bl_no</td>\n<td>string</td>\n<td>50</td>\n<td>Master B/L 번호</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>*cust_order_id</td>\n<td>string</td>\n<td>400</td>\n<td>관리 번호</td>\n<td>최대 400자</td>\n</tr>\n<tr>\n<td>cust_corp_name</td>\n<td>string</td>\n<td>100</td>\n<td>고객사명</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>cust_name</td>\n<td>string</td>\n<td>50</td>\n<td>고객사 담당자명</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>remark</td>\n<td>string</td>\n<td>800</td>\n<td>비고</td>\n<td>최대 800자</td>\n</tr>\n<tr>\n<td>route_list</td>\n<td>Route_list[]</td>\n<td></td>\n<td>선적 경로</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"route_list\"><strong>Route_list</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*pol_code</td>\n<td>string</td>\n<td>5</td>\n<td>출발 항구 코드</td>\n<td>최대 5자</td>\n</tr>\n<tr>\n<td>*pol_name</td>\n<td>string</td>\n<td>100</td>\n<td>출발 항구 이름</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>*etd</td>\n<td>string</td>\n<td></td>\n<td>출발 예상 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss</code></td>\n</tr>\n<tr>\n<td>atd</td>\n<td>string</td>\n<td></td>\n<td>실제 출발 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss</code></td>\n</tr>\n<tr>\n<td>*pod_code</td>\n<td>string</td>\n<td>5</td>\n<td>도착 항구 코드</td>\n<td>최대 5자</td>\n</tr>\n<tr>\n<td>*pod_name</td>\n<td>string</td>\n<td>100</td>\n<td>도착 항구 이름</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>*eta</td>\n<td>string</td>\n<td></td>\n<td>도착 예상 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss</code></td>\n</tr>\n<tr>\n<td>ata</td>\n<td>string</td>\n<td></td>\n<td>실제 도착 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss</code></td>\n</tr>\n<tr>\n<td>*imo</td>\n<td>string</td>\n<td>7</td>\n<td>선박 고유 번호</td>\n<td>최대 7자</td>\n</tr>\n<tr>\n<td>*vessel_name</td>\n<td>string</td>\n<td>50</td>\n<td>선박 이름</td>\n<td>최대 50자</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적요청-응답--response-body\"><strong>추적요청 응답 – Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>SuccessFail</td>\n<td>성공/실패 구분</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"successfail--성공실패-구분\"><strong>SuccessFail – 성공/실패 구분</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>success</td>\n<td>Success[]</td>\n<td>등록 성공 데이터 요약</td>\n</tr>\n<tr>\n<td>success_count</td>\n<td>number</td>\n<td>등록에 성공한 데이터 개수</td>\n</tr>\n<tr>\n<td>fail</td>\n<td>Fail[]</td>\n<td>등록 실패 데이터 요약</td>\n</tr>\n<tr>\n<td>fail_count</td>\n<td>number</td>\n<td>등록에 실패한 데이터 개수</td>\n</tr>\n<tr>\n<td>total_count</td>\n<td>number</td>\n<td>요청 총 개수</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"success\"><strong>Success</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bl_no</td>\n<td>string</td>\n<td>50</td>\n<td>Master B/L 번호</td>\n</tr>\n<tr>\n<td>cntr_no</td>\n<td>string</td>\n<td>50</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>cust_corp_nm</td>\n<td>string</td>\n<td>100</td>\n<td>고객사 명</td>\n</tr>\n<tr>\n<td>cust_nm</td>\n<td>string</td>\n<td>50</td>\n<td>고객사 담당자 명</td>\n</tr>\n<tr>\n<td>cust_order_id</td>\n<td>string</td>\n<td>400</td>\n<td>관리 번호</td>\n</tr>\n<tr>\n<td>line_cd</td>\n<td>string</td>\n<td>5</td>\n<td>선사코드</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"fail\"><strong>Fail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>data</td>\n<td>FailData</td>\n<td>실패한 데이터 요약</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>string</td>\n<td>실패 사유</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"faildata\"><strong>FailData</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bl_no</td>\n<td>string</td>\n<td>50</td>\n<td>Master B/L 번호</td>\n</tr>\n<tr>\n<td>line_cd</td>\n<td>string</td>\n<td>5</td>\n<td>선사코드</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","cargo-tracks","manual-tracking"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"6a703b44-df90-474d-8cbd-588c9fe4d60f","name":"200 정상응답","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n      \"line_name\": \"Example Line\",\n      \"bl_no\": \"BL202408081309\",\n      \"cust_order_id\": \"ORDER12345\",\n      \"cust_corp_name\": \"Example Corp\",\n      \"cust_name\": \"John Doe\",\n      \"remark\": \"This is a remark.\",\n      \"route_list\": [\n        {\n          \"pol_name\": \"BUSAN\",\n          \"etd\": \"2024-07-30T10:00:00\",\n          \"atd\": \"2024-07-30T12:00:00\",\n          \"pod_name\": \"LA\",\n          \"eta\": \"2024-08-05T18:00:00\",\n          \"ata\": null,\n          \"vessel_name\": \"OOCL HUSTON\",\n          \"imo\": \"9355757\"\n        },\n        {\n          \"pol_name\": \"LA\",\n          \"etd\": \"2024-08-06T08:00:00\",\n          \"atd\": null,\n          \"pod_name\": \"MEXICO\",\n          \"eta\": \"2024-08-10T20:00:00\",\n          \"ata\": null,\n          \"vessel_name\": \"OOCL SEOUL\",\n          \"imo\": \"9417244\"\n        }\n      ]\n    }\n  ]","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/manual-tracking"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": {\n    \"fail\": [\n      {\n        \"data\": {\n          \"bl_no\": \"SAMPLE_BL_NO\",\n          \"line_cd\": \"SAMPLE_LINE_CD\"\n        },\n        \"reason\": \"5\"\n      }\n    ],\n    \"fail_count\": 0,\n    \"success\": [\n      {\n        \"bl_no\": \"SAMPLE_BL_NO\",\n        \"cntr_no\": \"SAMPLE_CNTR_NO\",\n        \"cust_corp_nm\": \"SAMPLE_CORP_NAME\",\n        \"cust_nm\": \"SAMPLE_CUSTOMER_NAME\",\n        \"cust_order_id\": \"SAMPLE_ORDER_ID\",\n        \"line_cd\": \"SAMPLE_LINE_CD\"\n      }\n    ],\n    \"success_count\": 0,\n    \"total_count\": 0\n  },\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-07-09T04:01:20.083054\"\n}"}],"_postman_id":"795798f0-cc8f-4e69-9da2-725b9212b8b5"},{"name":"7. 수동 B/L 트래킹 수정 요청","id":"3763a889-17eb-46b9-a9ed-005cf91a8cab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"bl_no\": \"BL202408081309\",\n    \"cust_order_id\": \"ORDER12345\",\n    \"cust_corp_name\": \"Example Corp\",\n    \"cust_name\": \"John Doe\",\n    \"remark\": \"This is a remark.\",\n    \"route_list\": [\n      {\n        \"pol_name\": \"BUSAN\",\n        \"etd\": \"2024-07-30T10:00:00\",\n        \"atd\": \"2024-07-30T12:00:00\",\n        \"pod_name\": \"LA\",\n        \"eta\": \"2024-08-05T18:00:00\",\n        \"ata\": null,\n        \"vessel_name\": \"OOCL HUSTON\",\n        \"imo\": \"9355757\"\n      }        \n    ]\n  }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/manual-tracking","description":"<ul>\n<li><p>수동으로 등록한 기존 B/L 트래킹정보를 수정합니다.</p>\n</li>\n<li><p>트래킹 식별자(<code>bl_no</code> + <code>line_cd</code> + <code>cust_order_id</code>)는 등록 후 수정할 수 없습니다.</p>\n</li>\n<li><p>해당 값 중 하나라도 변경해야 하는 경우, 기존 트래킹을 취소한 후 새로 등록해야 합니다.</p>\n</li>\n</ul>\n<h5 id=\"수동-bl-트래킹-수정-데이터\"><strong>수동 B/L 트래킹 수정 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*bl_no</td>\n<td>string</td>\n<td>50</td>\n<td>Master B/L 번호</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>*cust_order_id</td>\n<td>string</td>\n<td>400</td>\n<td>관리 번호</td>\n<td>최대 400자</td>\n</tr>\n<tr>\n<td>cust_corp_name</td>\n<td>string</td>\n<td>100</td>\n<td>고객사 명</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>cust_name</td>\n<td>string</td>\n<td>50</td>\n<td>고객사 담당자 명</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>remark</td>\n<td>string</td>\n<td>800</td>\n<td>비고</td>\n<td>최대 800자</td>\n</tr>\n<tr>\n<td>*route_list</td>\n<td>Route_list[]</td>\n<td></td>\n<td>선적 경로</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"route_list\"><strong>Route_list</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*pol_code</td>\n<td>string</td>\n<td>5</td>\n<td>출발 항구 코드</td>\n<td>최대 5자</td>\n</tr>\n<tr>\n<td>*pol_name</td>\n<td>string</td>\n<td>100</td>\n<td>출발 항구 이름</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>*etd</td>\n<td>string</td>\n<td></td>\n<td>출발 예상 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss</code></td>\n</tr>\n<tr>\n<td>atd</td>\n<td>string</td>\n<td></td>\n<td>실제 출발 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss</code></td>\n</tr>\n<tr>\n<td>*pod_code</td>\n<td>string</td>\n<td>5</td>\n<td>도착 항구 코드</td>\n<td>최대 5자</td>\n</tr>\n<tr>\n<td>*pod_name</td>\n<td>string</td>\n<td>100</td>\n<td>도착 항구 이름</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>*eta</td>\n<td>string</td>\n<td></td>\n<td>도착 예상 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss</code></td>\n</tr>\n<tr>\n<td>ata</td>\n<td>string</td>\n<td></td>\n<td>실제 도착 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss</code></td>\n</tr>\n<tr>\n<td>*imo</td>\n<td>string</td>\n<td>7</td>\n<td>선박 고유 번호</td>\n<td>최대 7자</td>\n</tr>\n<tr>\n<td>*vessel_name</td>\n<td>string</td>\n<td>50</td>\n<td>선박 이름</td>\n<td>최대 50자</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","cargo-tracks","manual-tracking"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"6d1a0881-ca7c-430f-ab49-50607d8a085c","name":"200 정상응답","originalRequest":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"bl_no\": \"BL202408081309\",\n    \"cust_order_id\": \"ORDER12345\",\n    \"cust_corp_name\": \"Example Corp\",\n    \"cust_name\": \"John Doe\",\n    \"remark\": \"This is a remark.\",\n    \"route_list\": [\n      {\n        \"pol_name\": \"BUSAN\",\n        \"etd\": \"2024-07-30T10:00:00\",\n        \"atd\": \"2024-07-30T12:00:00\",\n        \"pod_name\": \"LA\",\n        \"eta\": \"2024-08-05T18:00:00\",\n        \"ata\": null,\n        \"vessel_name\": \"OOCL HUSTON\",\n        \"imo\": \"9355757\"\n      }        \n    ]\n  }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/manual-tracking"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"0c515e10-87d9-4cfa-85f7-ec8f6273e514","name":"400 에러","originalRequest":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"bl_no\": \"BL202408081309\",\n    \"cust_order_id\": \"ORDER12345\",\n    \"cust_corp_name\": \"Example Corp\",\n    \"cust_name\": \"John Doe\",\n    \"remark\": \"This is a remark.\",\n    \"route_list\": [\n      {\n        \"pol_name\": \"BUSAN\",\n        \"etd\": \"2024-07-30T10:00:00\",\n        \"atd\": \"2024-07-30T12:00:00\",\n        \"pod_name\": \"LA\",\n        \"eta\": \"2024-08-05T18:00:00\",\n        \"ata\": null,\n        \"vessel_name\": \"OOCL HUSTON\",\n        \"imo\": \"9355757\"\n      }        \n    ]\n  }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/manual-tracking"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"error_detail\": \"[cust_order_id]: must not be blank\",\n\t\"transaction_time\": \"2024-08-13T05:42:27.234156\"\n}"},{"id":"2750594c-aede-46dc-80d3-a561e176afd7","name":"500 에러","originalRequest":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"bl_no\": \"BL202408081309\",\n    \"cust_order_id\": \"ORDER12345\",\n    \"cust_corp_name\": \"Example Corp\",\n    \"cust_name\": \"John Doe\",\n    \"remark\": \"This is a remark.\",\n    \"route_list\": [\n      {\n        \"pol_name\": \"BUSAN\",\n        \"etd\": \"2024-07-30T10:00:00\",\n        \"atd\": \"2024-07-30T12:00:00\",\n        \"pod_name\": \"LA\",\n        \"eta\": \"2024-08-05T18:00:00\",\n        \"ata\": null,\n        \"vessel_name\": \"OOCL HUSTON\",\n        \"imo\": \"9355757\"\n      }        \n    ]\n  }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/manual-tracking"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"status\": 500,\n\t\"type\": \"Internal Server Error\",\n\t\"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"3763a889-17eb-46b9-a9ed-005cf91a8cab"}],"id":"d3e1b0a9-115b-42a1-80b4-12637243224a","description":"<h3 id=\"✅-bl-tracking--개요\">✅ B/L Tracking — 개요</h3>\n<p>B/L 트래킹은 Master B/L 번호를 이용하여 화물을 추적하는 기능입니다.</p>\n<p>Master B/L 번호와 Carrier Code를 등록하면 Tradlinx가 선사로부터 화물 정보를 지속적으로 수집하여 API를 통해 최신 Tracking 정보를 제공합니다.</p>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>B/L 트래킹 API는 Ocean Visibility Enterprise Plan 고객에게만 제공됩니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n<h3 id=\"✅바로-시작하기\">✅바로 시작하기</h3>\n<p>다음 두 단계를 통해 바로 등록과 조회를 시작해볼 수 있습니다.</p>\n<p><strong>1. B/L 트래킹 등록</strong></p>\n<ul>\n<li><p>B/L 번호, Carrier Code 및 내부 화물 식별자를 등록합니다.</p>\n</li>\n<li><p>Tradlinx가 즉시 화물 Tracking 정보를 수집하기 시작합니다.</p>\n</li>\n</ul>\n<p><strong>2. 트래킹 상세 조회</strong></p>\n<ul>\n<li><p>동일한 <code>bl_no</code> + <code>line_cd</code> + <code>cust_order_id</code>를 이용하여 Tracking 정보를 조회합니다.</p>\n</li>\n<li><p>Tracking이 시작되면 API를 통해 화물 이벤트, 선박 정보, 운항 경로 및 컨테이너 정보를 조회할 수 있습니다.</p>\n</li>\n</ul>\n","_postman_id":"d3e1b0a9-115b-42a1-80b4-12637243224a"},{"name":"컨테이너 트래킹 API","item":[{"name":"1. 컨테이너 트래킹 요청","id":"b8cb9c81-17fe-4454-8c02-7d5b125b4660","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n      \"container_no\": \"SAMPLE_CONTAINER_NO\",\n      \"client\": \"SAMPLE_CLIENT_NAME\",\n      \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n      \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n      \"carrier_code\": \"SAMPLE_CARRIER_CODE\",\n      \"remark\": \"SAMPLE_REMARK\"\n    }\n  ]","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/container-tracks","description":"<ul>\n<li><p>하나 이상의 Container를 등록하여 화물 추적을 시작합니다.</p>\n</li>\n<li><p>요청은 Array 형태로 구성해야 합니다.</p>\n</li>\n<li><p>각 Tracking은 <code>container_no</code> + <code>carrier_code</code> + <code>reference_no</code> 조합으로 고유하게 식별되며, 해당 식별자는 모든 Container Tracking API에서 공통으로 사용됩니다.</p>\n</li>\n<li><p><code>reference_no</code>는 고객이 사용하는 내부 식별자입니다. (예: Purchase Order 번호, House B/L 등)</p>\n</li>\n<li><p>지원하는 선사는 <strong>참고자료 &gt; 추적 가능한 선사 목록</strong>을 참고해 주세요.</p>\n</li>\n</ul>\n<h5 id=\"추적요청-데이터\"><strong>추적요청 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*container_no</td>\n<td><code>string</code></td>\n<td>20</td>\n<td>컨테이너 번호</td>\n<td>최대 20자</td>\n</tr>\n<tr>\n<td>*reference_no</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>관리 번호</td>\n<td>최대 400자</td>\n</tr>\n<tr>\n<td>*carrier_code</td>\n<td><code>string</code></td>\n<td>5</td>\n<td>선사코드</td>\n<td>최대 5자</td>\n</tr>\n<tr>\n<td>client</td>\n<td><code>string</code></td>\n<td>100</td>\n<td>고객사 명</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>internal_usage</td>\n<td><code>string</code></td>\n<td>50</td>\n<td>고객사 담당자 명</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>remark</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>비고</td>\n<td>최대 400자</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적요청-응답--response-body\"><strong>추적요청 응답 – Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>기타</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>SuccessFail</code></td>\n<td>성공/실패 구분</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>string</code></td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답 제공 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"successfail--성공실패-구분\"><strong>SuccessFail – 성공/실패 구분</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>success</td>\n<td><code>Success[]</code></td>\n<td>등록 성공 데이터 요약</td>\n</tr>\n<tr>\n<td>success_count</td>\n<td><code>number</code></td>\n<td>등록에 성공한 데이터 개수</td>\n</tr>\n<tr>\n<td>fail</td>\n<td><code>Fail[]</code></td>\n<td>등록 실패 데이터 요약</td>\n</tr>\n<tr>\n<td>fail_count</td>\n<td><code>number</code></td>\n<td>등록에 실패한 데이터 개수</td>\n</tr>\n<tr>\n<td>total_count</td>\n<td><code>number</code></td>\n<td>요청 총 개수</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"success\"><strong>Success</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>container_no</td>\n<td><code>string</code></td>\n<td>20</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>client</td>\n<td><code>string</code></td>\n<td>100</td>\n<td>고객사 명</td>\n</tr>\n<tr>\n<td>internal_usage</td>\n<td><code>string</code></td>\n<td>50</td>\n<td>고객사 담당자 명</td>\n</tr>\n<tr>\n<td>reference_no</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>관리 번호</td>\n</tr>\n<tr>\n<td>carrier_code</td>\n<td><code>string</code></td>\n<td>5</td>\n<td>선사코드</td>\n</tr>\n<tr>\n<td>track_mst_id</td>\n<td><code>uuid</code></td>\n<td>50</td>\n<td>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"fail\"><strong>Fail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>data</td>\n<td><code>FailData</code></td>\n<td>실패한 데이터 요약</td>\n</tr>\n<tr>\n<td>reason</td>\n<td><code>string</code></td>\n<td>실패 사유</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"faildata\"><strong>FailData</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>container_no</td>\n<td><code>string</code></td>\n<td>20</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>carrier_code</td>\n<td><code>string</code></td>\n<td>5</td>\n<td>선사코드</td>\n</tr>\n<tr>\n<td>reference_no</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>관리 번호</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","container-tracks"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"2388a16a-c8fd-4093-b20e-0f73c52f67e2","name":"200 정상응답","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n      \"container_no\": \"SAMPLE_CONTAINER_NO\",\n      \"client\": \"SAMPLE_CLIENT_NAME\",\n      \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n      \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n      \"carrier_code\": \"SAMPLE_CARRIER_CODE\",\n      \"remark\": \"SAMPLE_REMARK\"\n    }\n  ]","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/container-tracks"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": {\n    \"fail\": [\n      {\n        \"data\": {\n          \"container_no\": \"SAMPLE_CONTAINER_NO\",\n          \"carrier_code\": \"SAMPLE_CARRIER_CODE\",\n          \"reference_no\": \"SAMPLE_REFERENCE_NO\"\n        },\n        \"reason\": \"SAMPLE_REASON\"\n      }\n    ],\n    \"fail_count\": 1,\n    \"success\": [\n      {\n        \"container_no\": \"SAMPLE_CONTAINER_NO\",\n        \"carrier_code\": \"SAMPLE_CARRIER_CODE\",\n        \"client\": \"SAMPLE_CLIENT\",\n        \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n        \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n        \"track_mst_id\": \"SAMPLE_TRACK_MST_ID\"\n      }\n    ],\n    \"success_count\": 1,\n    \"total_count\": 2\n  },\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-07-09T04:49:44.401254\"\n}"}],"_postman_id":"b8cb9c81-17fe-4454-8c02-7d5b125b4660"},{"name":"2. 컨테이너 트래킹 데이터 상세 조회","id":"54ef157e-cd6f-4fc8-b82d-f5aec8246dd1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/container-tracks?container_no=[Container No]&register_from=[Register From]&register_to=[Register To]&reference_no=[Reference No]&carrier_code=[Carrier Code]&page=[Page]&size=[Size]","description":"<ul>\n<li><p>등록된 컨테이너 트래킹의 상세 정보를 조회합니다.</p>\n</li>\n<li><p>트래킹 상세 정보는 <code>status</code>가 <code>TRACKING</code> 상태가 된 이후부터 조회할 수 있습니다.</p>\n</li>\n<li><p><code>content</code> 내 날짜 및 시간 필드는 ISO 8601 형식(<code>yyyy-MM-dd'T'HH:mm:ssXXX</code>)으로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>ContainerTrackDetail[]</code></td>\n<td>컨테이너 추적 상세 데이터</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>number</code></td>\n<td>content 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td><code>Pagination</code></td>\n<td>페이지 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"페이지-정보---pagination\"><strong>페이지 정보 - Pagination</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total_size</td>\n<td><code>number</code></td>\n<td>전체 데이터 크기</td>\n</tr>\n<tr>\n<td>total_page</td>\n<td><code>number</code></td>\n<td>최대 페이지 번호</td>\n</tr>\n<tr>\n<td>current_page</td>\n<td><code>number</code></td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>has_next</td>\n<td><code>boolean</code></td>\n<td>다음 페이지 존재 여부</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"선적-추적-상세-데이터---containertrackdetail\"><strong>선적 추적 상세 데이터 - ContainerTrackDetail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>track_mst_id</td>\n<td><code>string</code></td>\n<td>선적 추적 ID</td>\n</tr>\n<tr>\n<td>carrier_code</td>\n<td><code>string</code></td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>container_no</td>\n<td><code>string</code></td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>reference_no</td>\n<td><code>string</code></td>\n<td>내부 관리 번호</td>\n</tr>\n<tr>\n<td>client</td>\n<td><code>string</code></td>\n<td>고객사 이름</td>\n</tr>\n<tr>\n<td>internal_usage</td>\n<td><code>string</code></td>\n<td>고객 담당자 이름</td>\n</tr>\n<tr>\n<td>remark</td>\n<td><code>string</code></td>\n<td>비고</td>\n</tr>\n<tr>\n<td>registered_datetime</td>\n<td><code>string</code></td>\n<td>등록일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>status</td>\n<td><code>string</code></td>\n<td>추적 상태 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>detail_status</td>\n<td><code>string</code></td>\n<td>상세 추적 상태 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>trans_type</td>\n<td><code>string</code></td>\n<td>직항 / 환적 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>origin</td>\n<td><code>ExtraRoute</code></td>\n<td>출발 지역 (일부 선사에 대해서만 데이터 제공) (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>pol</td>\n<td><code>POL</code></td>\n<td>선적항 정보 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>pod</td>\n<td><code>POD</code></td>\n<td>양하항 정보 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>destination</td>\n<td><code>ExtraRoute</code></td>\n<td>최종 도착 지역 (일부 선사에 대해서만 데이터 제공) (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>current_vessel</td>\n<td><code>CurrentVessel</code></td>\n<td>현재 선박 정보 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>routes</td>\n<td><code>Route[]</code></td>\n<td>운항 경로 목록 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>containers</td>\n<td><code>Container[]</code></td>\n<td>컨테이너 목록 (아래 코드 참조)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적-상태---tracking-status\"><strong>추적 상태 - Tracking Status</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PROCESSING</td>\n<td>추적 중</td>\n</tr>\n<tr>\n<td>COMPLETE</td>\n<td>추적 완료</td>\n</tr>\n<tr>\n<td>DELETED</td>\n<td>삭제</td>\n</tr>\n<tr>\n<td>PENDING</td>\n<td>보류</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"상세-추적-상태---tracking-detail-status\"><strong>상세 추적 상태 - Tracking Detail Status</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>WAITING</td>\n<td>대기 중: 최초로 Container No. 정보를 확인중</td>\n</tr>\n<tr>\n<td>RETRYING</td>\n<td>재시도중: 정보 유효성 검증중</td>\n</tr>\n<tr>\n<td>RETRY_FAILED</td>\n<td>7일간 추적을 시도했으나 정보 확인 실패</td>\n</tr>\n<tr>\n<td>NOT_ENOUGH_CREDIT</td>\n<td>크레딧 부족으로 추적할 수 없는 상태</td>\n</tr>\n<tr>\n<td>UNSUPPORTED_PLAN</td>\n<td>기능을 지원하지 않는 플랜으로 추적할 수 없는 상태</td>\n</tr>\n<tr>\n<td>TRACKING</td>\n<td>정상 추적중</td>\n</tr>\n<tr>\n<td>COMPLETE</td>\n<td>목적지까지 운송이 완료됨</td>\n</tr>\n<tr>\n<td>INCOMPLETE</td>\n<td>추적 기간 만료</td>\n</tr>\n<tr>\n<td>DELETED</td>\n<td>삭제</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"직항-환적---transshipment-type\"><strong>직항/ 환적 - Transshipment Type</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>DIRECT</td>\n<td>직항</td>\n</tr>\n<tr>\n<td>TS</td>\n<td>환적</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"extraroute---출도착지-데이터\"><strong>ExtraRoute - 출/도착지 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>location_name</td>\n<td><code>string</code></td>\n<td>지역 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>location_code</td>\n<td><code>string</code></td>\n<td>지역 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_date_time</td>\n<td><code>string</code></td>\n<td>최초 제공된 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>estimate_date_time</td>\n<td><code>string</code></td>\n<td>예상 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>actual_date_time</td>\n<td><code>string</code></td>\n<td>실제 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pol---선적항-데이터\"><strong>POL - 선적항 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pol_name</td>\n<td><code>string</code></td>\n<td>선적항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td><code>string</code></td>\n<td>선적항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_etd</td>\n<td><code>string</code></td>\n<td>최초 제공된 ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>etd</td>\n<td><code>string</code></td>\n<td>ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>atd</td>\n<td><code>string</code></td>\n<td>ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_atd</td>\n<td><code>string</code></td>\n<td>AIS 기반 ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pod---양하항-데이터\"><strong>POD - 양하항 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pod_name</td>\n<td><code>string</code></td>\n<td>양하항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td><code>string</code></td>\n<td>양하항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_eta</td>\n<td><code>string</code></td>\n<td>최초 제공된 ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>eta</td>\n<td><code>string</code></td>\n<td>ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ata</td>\n<td><code>string</code></td>\n<td>ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_ata</td>\n<td><code>string</code></td>\n<td>AIS 기반 ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"currentvessel---현재-화물이-실린-선박-데이터\"><strong>CurrentVessel - 현재 화물이 실린 선박 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>imo</td>\n<td><code>string</code></td>\n<td>IMO</td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td><code>string</code></td>\n<td>MMSI</td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td><code>string</code></td>\n<td>선박 이름</td>\n</tr>\n<tr>\n<td>voyage</td>\n<td><code>string</code></td>\n<td>항차</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"route---운항-경로-데이터\"><strong>Route - 운항 경로 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>order</td>\n<td><code>number</code></td>\n<td>운항경로 순서</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_name</td>\n<td><code>string</code></td>\n<td>선적항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td><code>string</code></td>\n<td>선적항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_name</td>\n<td><code>string</code></td>\n<td>양하항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td><code>string</code></td>\n<td>양하항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>imo</td>\n<td><code>string</code></td>\n<td>선박 IMO</td>\n<td></td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td><code>string</code></td>\n<td>선박 MMSI</td>\n<td></td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td><code>string</code></td>\n<td>선박 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>voyage</td>\n<td><code>string</code></td>\n<td>항차</td>\n<td></td>\n</tr>\n<tr>\n<td>init_etd</td>\n<td><code>string</code></td>\n<td>최초 제공된 ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>etd</td>\n<td><code>string</code></td>\n<td>ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>atd</td>\n<td><code>string</code></td>\n<td>ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_atd</td>\n<td><code>string</code></td>\n<td>AIS 기반 ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>init_eta</td>\n<td><code>string</code></td>\n<td>최초 제공된 ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>eta</td>\n<td><code>string</code></td>\n<td>ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ata</td>\n<td><code>string</code></td>\n<td>ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_ata</td>\n<td><code>string</code></td>\n<td>AIS 기반 ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"container---컨테이너-데이터\"><strong>Container - 컨테이너 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cntr_no</td>\n<td><code>string</code></td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>cntr_sz</td>\n<td><code>string</code></td>\n<td>컨테이너 사이즈</td>\n</tr>\n<tr>\n<td>cntr_tp</td>\n<td><code>string</code></td>\n<td>컨테이너 타입</td>\n</tr>\n<tr>\n<td>seal_no</td>\n<td><code>string</code></td>\n<td>컨테이너 봉인번호</td>\n</tr>\n<tr>\n<td>container_events</td>\n<td><code>ContainerEvent[]</code></td>\n<td>컨테이너 이벤트 데이터 Array</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"containerevent---컨테이너-이벤트\"><strong>ContainerEvent - 컨테이너 이벤트</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>port_code</td>\n<td><code>string</code></td>\n<td>항구 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>event_type</td>\n<td><code>string</code></td>\n<td>컨테이너 이벤트 유형 (하단 리스트 참고)</td>\n<td></td>\n</tr>\n<tr>\n<td>transportation</td>\n<td><code>string</code></td>\n<td>운송 수단 유형 (하단 리스트 참고)</td>\n<td></td>\n</tr>\n<tr>\n<td>is_actual</td>\n<td><code>boolean</code></td>\n<td>실제 이벤트 시간 여부</td>\n<td></td>\n</tr>\n<tr>\n<td>event_datetime</td>\n<td><code>string</code></td>\n<td>이벤트 발생 시간</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"컨테이너-이벤트-유형\"><strong>컨테이너 이벤트 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CONTAINER_PICK_UP</td>\n<td>컨테이너 픽업</td>\n</tr>\n<tr>\n<td>LOADING_ON_VESSEL</td>\n<td>선적</td>\n</tr>\n<tr>\n<td>VESSEL_DEPARTURE_FROM_PORT</td>\n<td>출항</td>\n</tr>\n<tr>\n<td>VESSEL_ARRIVAL_AT_PORT</td>\n<td>입항</td>\n</tr>\n<tr>\n<td>VESSEL_BERTHING_ON_PORT</td>\n<td>접안</td>\n</tr>\n<tr>\n<td>DISCHARGING_FROM_VESSEL</td>\n<td>양하</td>\n</tr>\n<tr>\n<td>GATE_IN</td>\n<td>터미널 또는 컨테이너 야드 반입</td>\n</tr>\n<tr>\n<td>GATE_OUT</td>\n<td>터미널 또는 컨테이너 야드 반출</td>\n</tr>\n<tr>\n<td>RAIL_LOADING</td>\n<td>기차 상차</td>\n</tr>\n<tr>\n<td>RAIL_DEPARTURE</td>\n<td>기차 출발</td>\n</tr>\n<tr>\n<td>RAIL_ARRIVAL</td>\n<td>기차 도착</td>\n</tr>\n<tr>\n<td>RAIL_UNLOADING</td>\n<td>기차 하차</td>\n</tr>\n<tr>\n<td>PICKING_UP_BY_CONSIGNEE</td>\n<td>수화인이 화물을 인도받기 위해 픽업 중인 상태</td>\n</tr>\n<tr>\n<td>DELIVERING_TO_CONSIGNEE</td>\n<td>화물이 수화인에게 배송 중인 상태</td>\n</tr>\n<tr>\n<td>EMPTY_CONTAINER_RETURN</td>\n<td>컨테이너 반납</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"운송-수단-유형\"><strong>운송 수단 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>VESSEL</td>\n<td>선박</td>\n</tr>\n<tr>\n<td>FEEDER</td>\n<td>소형 컨테이너 선박</td>\n</tr>\n<tr>\n<td>BARGE</td>\n<td>동력이 없거나 적은 화물 운송용 선박</td>\n</tr>\n<tr>\n<td>RAIL</td>\n<td>기차</td>\n</tr>\n<tr>\n<td>TRUCK</td>\n<td>화물차</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","container-tracks"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>컨테이너 번호</p>\n","type":"text/plain"},"key":"container_no","value":"[Container No]"},{"description":{"content":"<p>등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_from","value":"[Register From]"},{"description":{"content":"<p>등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_to","value":"[Register To]"},{"description":{"content":"<p>관리 번호</p>\n","type":"text/plain"},"key":"reference_no","value":"[Reference No]"},{"description":{"content":"<p>선사 코드</p>\n","type":"text/plain"},"key":"carrier_code","value":"[Carrier Code]"},{"description":{"content":"<p>(required) 페이지 번호 (최소: 1)</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>(required) 페이지 크기 (범위: 1~50)</p>\n","type":"text/plain"},"key":"size","value":"[Size]"},{"disabled":true,"description":{"content":"<p>진행 상태</p>\n","type":"text/plain"},"key":"status","value":""}],"variable":[]}},"response":[{"id":"766375da-005a-43b3-a15f-fb80cc32ed8e","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks?container_no=[Container No]&register_from=[Register From]&register_to=[Register To]&reference_no=[Reference No]&carrier_code=[Carrier Code]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks"],"query":[{"key":"container_no","value":"[Container No]","description":"컨테이너 번호"},{"key":"register_from","value":"[Register From]","description":"등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"reference_no","value":"[Reference No]","description":"관리 번호"},{"key":"carrier_code","value":"[Carrier Code]","description":"선사 코드"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"},{"key":"status","value":"","description":"진행 상태","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"container_no\": \"SAMPLE_CONTAINER_NO\",\n      \"carrier_code\": \"SAMPLE_CARRIER_CODE\",\n      \"client\": \"SAMPLE_CLIENT\",\n      \"containers\": [\n        {\n          \"cntr_no\": \"SAMPLE_CNTR_NO\",\n          \"cntr_sz\": \"SAMPLE_CNTR_SZ\",\n          \"cntr_tp\": \"SAMPLE_CNTR_TP\",\n          \"container_events\": [\n            {\n              \"event_datetime\": \"SAMPLE_EVENT_DATETIME\",\n              \"event_type\": \"SAMPLE_EVENT_TYPE\",\n              \"is_actual\": false,\n              \"port_code\": \"SAMPLE_PORT_CODE\",\n              \"transportation\": \"SAMPLE_TRANSPORTATION\"\n            }\n          ],\n          \"seal_no\": \"SAMPLE_SEAL_NO\"\n        }\n      ],\n      \"current_vessel\": {\n        \"imo\": \"SAMPLE_IMO\",\n        \"mmsi\": \"SAMPLE_MMSI\",\n        \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n        \"voyage\": \"SAMPLE_VOYAGE\"\n      },\n      \"detail_status\": \"SAMPLE_DETAIL_STATUS\",\n      \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n      \"origin\": {\n        \"location_code\": \"SAMPLE_LOCATION_CODE\",\n        \"location_name\": \"SAMPLE_LOCATION_NAME\",\n        \"init_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"estimate_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"actual_date_time\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"pod\": {\n        \"ata\": \"2025-07-09T05:32:47+09:00\",\n        \"eta\": \"2025-07-09T05:32:47+09:00\",\n        \"init_eta\": \"2025-07-09T05:32:47+09:00\",\n        \"pod_code\": \"SAMPLE_POD_CODE\",\n        \"pod_name\": \"SAMPLE_POD_NAME\",\n        \"tx_ata\": \"2025-07-09T05:32:47+09:00\"\n      },\n      \"pol\": {\n        \"atd\": \"2025-07-09T05:32:47+09:00\",\n        \"etd\": \"2025-07-09T05:32:47+09:00\",\n        \"init_etd\": \"2025-07-09T05:32:47+09:00\",\n        \"pol_code\": \"SAMPLE_POL_CODE\",\n        \"pol_name\": \"SAMPLE_POL_NAME\",\n        \"tx_atd\": \"2025-07-09T05:32:47+09:00\"\n      },\n      \"destination\": {\n        \"location_code\": \"SAMPLE_LOCATION_CODE\",\n        \"location_name\": \"SAMPLE_LOCATION_NAME\",\n        \"init_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"estimate_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"actual_date_time\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n      \"registered_datetime\": \"2025-07-08T07:25:39.493Z\",\n      \"remark\": \"SAMPLE_REMARK\",\n      \"routes\": [\n        {\n          \"ata\": \"2025-07-09T05:32:47+09:00\",\n          \"atd\": \"2025-07-09T05:32:47+09:00\",\n          \"eta\": \"2025-07-09T05:32:47+09:00\",\n          \"etd\": \"2025-07-09T05:32:47+09:00\",\n          \"imo\": \"SAMPLE_IMO\",\n          \"init_eta\": \"2025-07-09T05:32:47+09:00\",\n          \"init_etd\": \"2025-07-09T05:32:47+09:00\",\n          \"mmsi\": \"SAMPLE_MMSI\",\n          \"order\": 0,\n          \"pod_code\": \"SAMPLE_POD_CODE\",\n          \"pod_name\": \"SAMPLE_POD_NAME\",\n          \"pol_code\": \"SAMPLE_POL_CODE\",\n          \"pol_name\": \"SAMPLE_POL_NAME\",\n          \"tx_ata\": \"2025-07-09T05:32:47+09:00\",\n          \"tx_atd\": \"2025-07-09T05:32:47+09:00\",\n          \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n          \"voyage\": \"SAMPLE_VOYAGE\"\n        }\n      ],\n      \"status\": \"SAMPLE_STATUS\",\n      \"track_mst_id\": \"SAMPLE_TRACK_MST_ID\",\n      \"trans_type\": \"SAMPLE_TRANS_TYPE\"\n    }\n  ],\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"pagination\": {\n    \"current_page\": 0,\n    \"has_next\": false,\n    \"total_page\": 0,\n    \"total_size\": 0\n  },\n  \"size\": 1,\n  \"transaction_time\": \"2025-07-09T05:32:47.939106\"\n}"},{"id":"30e72859-8392-4fe9-a732-76e5df5d3c3b","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks?container_no=[Container No]&register_from=[Register From]&register_to=[Register To]&reference_no=[Reference No]&carrier_code=[Carrier Code]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks"],"query":[{"key":"container_no","value":"[Container No]","description":"컨테이너 번호"},{"key":"register_from","value":"[Register From]","description":"등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"reference_no","value":"[Reference No]","description":"관리 번호"},{"key":"carrier_code","value":"[Carrier Code]","description":"선사 코드"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"},{"key":"status","value":"","description":"진행 상태","disabled":true}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_detail\": \"[page]: The value of the field must be greater than or equal to 1.\",\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-03-20T05:42:27.171506\"\n}"},{"id":"e350ae9b-17e3-4ba2-bc0f-ac2f4a3fc177","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks?container_no=[Container No]&register_from=[Register From]&register_to=[Register To]&reference_no=[Reference No]&carrier_code=[Carrier Code]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks"],"query":[{"key":"container_no","value":"[Container No]","description":"컨테이너 번호"},{"key":"register_from","value":"[Register From]","description":"등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"reference_no","value":"[Reference No]","description":"관리 번호"},{"key":"carrier_code","value":"[Carrier Code]","description":"선사 코드"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"},{"key":"status","value":"","description":"진행 상태","disabled":true}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"status\": 500,\n\t\"type\": \"Internal Server Error\",\n\t\"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"54ef157e-cd6f-4fc8-b82d-f5aec8246dd1"},{"name":"3. 컨테이너 트래킹 재등록 요청","id":"409c2418-f04e-4d58-a807-fe288d2c046e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/container-tracks/:track_mst_id/re-enroll","description":"<ul>\n<li><p>재시도 실패, 플랜 제한 또는 Credit 부족으로 추적할 수 없었던 컨테이너 트래킹을 다시 등록합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 컨테이너 트래킹만 재등록할 수 있습니다.</p>\n</li>\n</ul>\n<h5 id=\"컨테이너-트래킹-재등록-요청-응답--response-body\">컨테이너 트래킹 <strong>재등록 요청 응답 – Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>기타</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>ReEnrollResult</code></td>\n<td>재등록 요청 결과</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>string</code></td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"reenrollresult\"><strong>ReEnrollResult</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>container_no</td>\n<td><code>string</code></td>\n<td>20</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>client</td>\n<td><code>string</code></td>\n<td>100</td>\n<td>고객사 명</td>\n</tr>\n<tr>\n<td>internal_usage</td>\n<td><code>string</code></td>\n<td>50</td>\n<td>고객사 담당자 명</td>\n</tr>\n<tr>\n<td>reference_no</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>관리 번호</td>\n</tr>\n<tr>\n<td>carrier_code</td>\n<td><code>string</code></td>\n<td>5</td>\n<td>선사코드</td>\n</tr>\n<tr>\n<td>track_mst_id</td>\n<td><code>uuid</code></td>\n<td>50</td>\n<td>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","container-tracks",":track_mst_id","re-enroll"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"70fdddd1-84d7-4dcd-99ef-f3c3127d05fb","description":{"content":"<p>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"track_mst_id"}]}},"response":[{"id":"037d9129-81f6-4101-acec-bde85666b0a3","name":"200 정상응답","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks/:track_mst_id/re-enroll","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks",":track_mst_id","re-enroll"],"variable":[{"key":"track_mst_id","value":"","description":"선적 조회를 통해 알 수 있는 선적 건의 고유 아이디"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": {\n    \"container_no\": \"SAMPLE_CONTAINER_NO\",\n    \"carrier_code\": \"SAMPLE_CARRIER_CODE\",\n    \"client\": \"SAMPLE_CLIENT\",\n    \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n    \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n    \"track_mst_id\": \"SAMPLE_TRACK_MST_ID\"\n  },\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-07-09T05:22:11.380245\"\n}"},{"id":"cd7d3ef6-99d5-4022-b7ae-e6c371746522","name":"400 에러","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks/:track_mst_id/re-enroll","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks",":track_mst_id","re-enroll"],"variable":[{"key":"track_mst_id","value":"","description":"선적 조회를 통해 알 수 있는 선적 건의 고유 아이디"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"error_detail\": \"Resource not found.\",\n    \"transaction_time\": \"2026-06-25 00:37:58\",\n    \"message\": \"RESOURCE_NOT_FOUND\"\n}"}],"_postman_id":"409c2418-f04e-4d58-a807-fe288d2c046e"},{"name":"4. 컨테이너 트래킹 수정 요청","id":"08b3ad06-85b1-4455-affc-760bd96e0d4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n    \"client\": \"SAMPLE_CLIENT_NAME\",\n    \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n    \"remark\": \"SAMPLE_REMARK\"\n  }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/container-tracks/:track_mst_id","description":"<ul>\n<li><p>기존 컨테이너 트래킹의 메타데이터를 수정합니다.</p>\n</li>\n<li><p><code>container_no</code> + <code>carrier_code</code> + <code>reference_no</code> 조합은 고유해야 합니다.</p>\n</li>\n<li><p>수정으로 인해 중복 트래킹이 생성되는 경우, 이미 등록된 것으로 판단되어 수정이 적용되지 않습니다.</p>\n</li>\n</ul>\n<h5 id=\"requestbody\"><strong>RequestBody</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*reference_no</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>관리 번호</td>\n<td>최대 400자, 필수 값</td>\n</tr>\n<tr>\n<td>client</td>\n<td><code>string</code></td>\n<td>100</td>\n<td>고객사명</td>\n<td>최대 100자</td>\n</tr>\n<tr>\n<td>internal_usage</td>\n<td><code>string</code></td>\n<td>50</td>\n<td>고객사 담당자명</td>\n<td>최대 50자</td>\n</tr>\n<tr>\n<td>remark</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>비고</td>\n<td>최대 400자</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","container-tracks",":track_mst_id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"35127cf3-c05d-4aee-a299-5b1896f3de00","description":{"content":"<p>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"track_mst_id"}]}},"response":[{"id":"c8363217-97c1-44f6-8b5e-6bcc2e7cae8b","name":"200 정상응답","originalRequest":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n    \"client\": \"SAMPLE_CLIENT_NAME\",\n    \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n    \"remark\": \"SAMPLE_REMARK\"\n  }","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks/:track_mst_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks",":track_mst_id"],"variable":[{"key":"track_mst_id","value":"","description":"선적 조회를 통해 알 수 있는 선적 건의 고유 아이디"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"api_version\": \"v3\",\n    \"transaction_time\": \"2026-06-25T00:32:23.190632\"\n}"},{"id":"d60e11a1-50d5-443c-ab0c-a02ae39911a7","name":"400 에러","originalRequest":{"method":"PUT","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n    \"client\": \"SAMPLE_CLIENT_NAME\",\n    \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n    \"remark\": \"SAMPLE_REMARK\"\n  }","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks/:track_mst_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks",":track_mst_id"],"variable":[{"key":"track_mst_id","value":"","description":"선적 조회를 통해 알 수 있는 선적 건의 고유 아이디"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_detail\": \"[track_mst_id]: must not be blank\",\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2024-08-13T05:42:27.402256\"\n}"}],"_postman_id":"08b3ad06-85b1-4455-affc-760bd96e0d4f"},{"name":"5. 컨테이너 트래킹 취소 요청","id":"642de0bd-fac4-43f5-86b4-3cbcdd8d67e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/container-tracks/:track_mst_id","description":"<ul>\n<li><p>컨테이너 트래킹을 취소합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 컨테이너 트래킹만 취소할 수 있습니다.</p>\n</li>\n<li><p>트래킹이 시작되기 전까지만 Credit이 환불됩니다. <code>status</code>가 <code>TRACKING</code> 또는 <code>COMPLETE</code>인 트래킹은 취소하더라도 Credit이 환불되지 않습니다.</p>\n</li>\n</ul>\n","urlObject":{"path":["partners","track","v3","container-tracks",":track_mst_id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"21e31e5e-d831-431a-9baa-fdec17ef2578","description":{"content":"<p>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"track_mst_id"}]}},"response":[{"id":"db9f884d-c8f7-4304-bdd5-912ca1f2d5d3","name":"200 정상응답","originalRequest":{"method":"DELETE","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks/:track_mst_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks",":track_mst_id"],"variable":[{"key":"track_mst_id","value":"","description":"선적 조회를 통해 알 수 있는 선적 건의 고유 아이디"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"api_version\": \"v3\",\n    \"transaction_time\": \"2026-06-25T00:39:31.107587\"\n}"}],"_postman_id":"642de0bd-fac4-43f5-86b4-3cbcdd8d67e4"}],"id":"a7e50a23-0a52-4e1e-8ac2-b2ece8773747","description":"<h3 id=\"✅-컨테이너-트래킹--개요\">✅ 컨테이너 트래킹 — 개요</h3>\n<p>Tradlinx는 B/L, Container, Vessel 단위의 트래킹을 지원하며, 이 페이지에서는 컨테이너 트래킹 API를 설명합니다.</p>\n<p>컨테이너 트래킹은 Container Number를 이용하여 화물을 추적하는 기능입니다.</p>\n<p>Container Number를 등록하면 Tradlinx가 화물 추적을 시작하며, API를 통해 최신 Tracking 정보를 제공합니다.</p>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>컨테이너 트래킹 API는 Ocean Visibility Enterprise Plan 고객에게만 제공됩니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n<h3 id=\"✅-바로-시작하기\">✅ 바로 시작하기</h3>\n<p>두 단계만으로 컨테이너 트래킹을 시작할 수 있습니다.</p>\n<ul>\n<li><p><strong>1. 컨테이너 트래킹 등록 →</strong><br />  Container Number와 Carrier Code를 등록하면 Tradlinx가 즉시 화물 추적을 시작합니다.</p>\n</li>\n<li><p><strong>2. 트래킹 상세 조회 →</strong><br />  동일한 식별자를 이용하여 Tracking 정보를 조회합니다. <code>status</code>가 <code>TRACKING</code> 상태가 되면 화물 이벤트 및 Tracking 정보를 확인할 수 있습니다.</p>\n</li>\n</ul>\n","_postman_id":"a7e50a23-0a52-4e1e-8ac2-b2ece8773747"},{"name":"D&D 모니터링","item":[{"name":"1. D&D 모니터링 조회","id":"e94505d5-e4fa-4ffe-8d60-aaa3fffcf5b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/dnd-monitoring?arrival_from=[Arrival From]&arrival_to=[Arrival To]&page=[Page]&size=[Size]","description":"<ul>\n<li><p>B/L 트래킹API로 등록된 화물의 Demurrage &amp; Detention(D&amp;D) 모니터링 정보를 조회합니다.</p>\n</li>\n<li><p>조회 가능한 대상은 아래 조건을 모두 만족해야 합니다.</p>\n<ul>\n<li><p>Auto Tracking으로 등록된 화물</p>\n</li>\n<li><p><strong>Container+</strong> 기능이 활성화된 화물</p>\n</li>\n<li><p><code>arrivalDateTime</code>이 존재하는 화물</p>\n</li>\n</ul>\n</li>\n<li><p><code>content</code> 내 날짜 및 시간 필드는 ISO 8601 형식(<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)으로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"dd-계산-기준\">D&amp;D 계산 기준</h5>\n<ul>\n<li><p><code>arrivalDateTime</code>은 아래 우선순위에 따라 결정됩니다.</p>\n<ul>\n<li><p>POD의 <strong>Vessel Arrival at Port</strong> 이벤트</p>\n</li>\n<li><p>AIS 데이터를 기반으로 계산된 POD의 Berthing 시간</p>\n</li>\n<li><p>선사에서 제공하는 ATA</p>\n</li>\n</ul>\n</li>\n<li><p><code>terminalDwellDays</code>는 <code>dischargeDateTime</code>부터 <code>gateOutDateTime</code>까지의 기간을 기준으로 계산됩니다. <code>dischargeDateTime</code>이 없는 경우 <code>arrivalDateTime</code>을 기준으로 계산됩니다.</p>\n</li>\n<li><p><code>streetDwellDays</code>는 <code>dischargeDateTime</code>부터 <code>emptyReturnDateTime</code>까지의 기간을 기준으로 계산됩니다.</p>\n</li>\n<li><p><code>terminalDwellDays</code>와 <code>streetDwellDays</code>는 하루에 1일씩 증가하며 최대 61일까지 계산됩니다. 해당 값은 정렬(Sorting)에 사용할 수 있습니다.</p>\n</li>\n<li><p><code>terminalDwellRawDays</code>와 <code>streetDwellRawDays</code>는 최대값 제한 없이 실제 경과 일수를 계산한 값입니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>DndMonitoring[]</code></td>\n<td>D&amp;D 모니터링 데이터</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>number</code></td>\n<td>페이지 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td><code>Pagination</code></td>\n<td>페이지네이션 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"dd-모니터링-데이터---dndmonitoring\"><strong>D&amp;D 모니터링 데이터 - DndMonitoring</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>registration_type</td>\n<td><code>string</code></td>\n<td>추적 등록 타입</td>\n</tr>\n<tr>\n<td>detail_status</td>\n<td><code>string</code></td>\n<td>추적 상태</td>\n</tr>\n<tr>\n<td>carrier_code</td>\n<td><code>string</code></td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>carrier_name</td>\n<td><code>string</code></td>\n<td>선사 이름</td>\n</tr>\n<tr>\n<td>container_no</td>\n<td><code>string</code></td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>bl_no</td>\n<td><code>string</code></td>\n<td>Master B/L 번호</td>\n</tr>\n<tr>\n<td>reference_no</td>\n<td><code>string</code></td>\n<td>관리 번호</td>\n</tr>\n<tr>\n<td>pol_name</td>\n<td><code>string</code></td>\n<td>POL 항구 이름</td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td><code>string</code></td>\n<td>POL 항구 코드</td>\n</tr>\n<tr>\n<td>pod_name</td>\n<td><code>string</code></td>\n<td>POD 항구 이름</td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td><code>string</code></td>\n<td>POD 항구 코드</td>\n</tr>\n<tr>\n<td>latest_event</td>\n<td><code>string</code></td>\n<td>마지막 컨테이너 이벤트</td>\n</tr>\n<tr>\n<td>terminal_dwell_days</td>\n<td><code>number</code></td>\n<td>터미널 체류일 (최대 60일)</td>\n</tr>\n<tr>\n<td>terminal_dwell_raw_days</td>\n<td><code>number</code></td>\n<td>터미널 체류일</td>\n</tr>\n<tr>\n<td>street_dwell_days</td>\n<td><code>number</code></td>\n<td>컨테이너 사용일 (최대 60일)</td>\n</tr>\n<tr>\n<td>street_dwell_raw_days</td>\n<td><code>number</code></td>\n<td>컨테이너 사용일</td>\n</tr>\n<tr>\n<td>arrival_date_time</td>\n<td><code>string</code></td>\n<td>도착 일시 <code>yyyy-MM-dd'T'HH:mm:ssZ</code></td>\n</tr>\n<tr>\n<td>discharge_date_time</td>\n<td><code>string</code></td>\n<td>하역 일시 <code>yyyy-MM-dd'T'HH:mm:ssZ</code></td>\n</tr>\n<tr>\n<td>gate_out_date_time</td>\n<td><code>string</code></td>\n<td>Gate Out 일시 <code>yyyy-MM-dd'T'HH:mm:ssZ</code></td>\n</tr>\n<tr>\n<td>empty_return_date_time</td>\n<td><code>string</code></td>\n<td>컨테이너 반환 일시 <code>yyyy-MM-dd'T'HH:mm:ssZ</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"페이지네이션-정보---pagination\"><strong>페이지네이션 정보 - Pagination</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total_size</td>\n<td><code>number</code></td>\n<td>전체 데이터 수</td>\n</tr>\n<tr>\n<td>total_page</td>\n<td><code>number</code></td>\n<td>전체 페이지 수</td>\n</tr>\n<tr>\n<td>current_page</td>\n<td><code>number</code></td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>has_next</td>\n<td><code>boolean</code></td>\n<td>다음 페이지 존재 여부</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","dnd-monitoring"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>arrivalDateTime 시작일 yyyy-MM-dd'T'HH:mm:ss</p>\n","type":"text/plain"},"key":"arrival_from","value":"[Arrival From]"},{"description":{"content":"<p>arrivalDateTime 종료일 yyyy-MM-dd'T'HH:mm:ss</p>\n","type":"text/plain"},"key":"arrival_to","value":"[Arrival To]"},{"description":{"content":"<p>(required) 페이지 번호</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>(required) 페이지 크기</p>\n","type":"text/plain"},"key":"size","value":"[Size]"},{"disabled":true,"description":{"content":"<p>선사 코드</p>\n","type":"text/plain"},"key":"carrier_code","value":""},{"disabled":true,"description":{"content":"<p>POD 항만 코드</p>\n","type":"text/plain"},"key":"pod_location_code","value":""},{"disabled":true,"description":{"content":"<p>Master B/L 번호</p>\n","type":"text/plain"},"key":"bl_no","value":""},{"disabled":true,"description":{"content":"<p>Container 번호</p>\n","type":"text/plain"},"key":"container_no","value":""},{"disabled":true,"description":{"content":"<p>관리 번호</p>\n","type":"text/plain"},"key":"reference_no","value":""},{"disabled":true,"description":{"content":"<p>터미널 체류일</p>\n","type":"text/plain"},"key":"terminal_dwell_days","value":""},{"disabled":true,"description":{"content":"<p>컨테이너 사용일</p>\n","type":"text/plain"},"key":"street_dwell_days","value":""},{"disabled":true,"description":{"content":"<p>컨테이너 하역 여부</p>\n","type":"text/plain"},"key":"exists_discharge","value":""},{"disabled":true,"description":{"content":"<p>Gate Out 여부</p>\n","type":"text/plain"},"key":"exists_gate_out","value":""},{"disabled":true,"description":{"content":"<p>컨테이너 반환 여부</p>\n","type":"text/plain"},"key":"exists_empty_return","value":""},{"disabled":true,"description":{"content":"<p>데이터 정렬(기본값: ARRIVAL_DATE_TIME_DESC)</p>\n","type":"text/plain"},"key":"order","value":""}],"variable":[]}},"response":[{"id":"9164940a-e87d-4045-9770-540992166eda","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/dnd-monitoring?arrival_from=[Arrival From]&arrival_to=[Arrival To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","dnd-monitoring"],"query":[{"key":"arrival_from","value":"[Arrival From]","description":"arrivalDateTime 시작일 yyyy-MM-dd'T'HH:mm:ss"},{"key":"arrival_to","value":"[Arrival To]","description":"arrivalDateTime 종료일 yyyy-MM-dd'T'HH:mm:ss"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기"},{"key":"carrier_code","value":"","description":"선사 코드","disabled":true},{"key":"pod_location_code","value":"","description":"POD 항만 코드","disabled":true},{"key":"bl_no","value":"","description":"Master B/L 번호","disabled":true},{"key":"container_no","value":"","description":"Container 번호","disabled":true},{"key":"reference_no","value":"","description":"관리 번호","disabled":true},{"key":"terminal_dwell_days","value":"","description":"터미널 체류일","disabled":true},{"key":"street_dwell_days","value":"","description":"컨테이너 사용일","disabled":true},{"key":"exists_discharge","value":"","description":"컨테이너 하역 여부","disabled":true},{"key":"exists_gate_out","value":"","description":"Gate Out 여부","disabled":true},{"key":"exists_empty_return","value":"","description":"컨테이너 반환 여부","disabled":true},{"key":"order","value":"","description":"데이터 정렬(기본값: ARRIVAL_DATE_TIME_DESC)","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"registration_type\": \"BL_TRACKING\",\n      \"detail_status\": \"TRACKING\",\n      \"carrier_code\": \"TRX\",\n      \"carrier_name\": \"TRADLINX\",\n      \"container_no\": \"TRADLINX6882\",\n      \"bl_no\": \"MASTERBL1029\",\n      \"reference_no\": \"reference number-0123\",\n      \"pol_name\": \"Kwangyang\",\n      \"pol_code\": \"KRKWA\",\n      \"pod_name\": \"Pipavav\",\n      \"pod_code\": \"INPAV\",\n      \"latest_event\": null,\n      \"terminal_dwell_days\": 1,\n      \"terminal_dwell_raw_days\": 1,\n      \"street_dwell_days\": 6,\n      \"street_dwell_raw_days\": 6,\n      \"arrival_date_time\": \"2025-10-18T12:58:57Z\",\n      \"discharge_date_time\": null,\n      \"gate_out_date_time\": \"2025-10-20T06:02:12Z\",\n      \"empty_return_date_time\": \"2025-10-26T12:11:38Z\"\n    }\n  ],\n  \"transaction_time\": \"2025-09-03T04:52:26.649981\",\n  \"size\": 50,\n  \"pagination\": {\n    \"total_size\": 549,\n    \"total_page\": 11,\n    \"current_page\": 1,\n    \"has_next\": true\n  }\n}"},{"id":"7a90d237-4c0a-4b8b-b924-b356cff5774c","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/dnd-monitoring?arrival_from=[Arrival From]&arrival_to=[Arrival To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","dnd-monitoring"],"query":[{"key":"arrival_from","value":"[Arrival From]","description":"arrivalDateTime 시작일 yyyy-MM-dd'T'HH:mm:ss"},{"key":"arrival_to","value":"[Arrival To]","description":"arrivalDateTime 종료일 yyyy-MM-dd'T'HH:mm:ss"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기"},{"key":"carrier_code","value":"","description":"선사 코드","disabled":true},{"key":"pod_location_code","value":"","description":"POD 항만 코드","disabled":true},{"key":"bl_no","value":"","description":"Master B/L 번호","disabled":true},{"key":"container_no","value":"","description":"Container 번호","disabled":true},{"key":"reference_no","value":"","description":"관리 번호","disabled":true},{"key":"terminal_dwell_days","value":"","description":"터미널 체류일","disabled":true},{"key":"street_dwell_days","value":"","description":"컨테이너 사용일","disabled":true},{"key":"exists_discharge","value":"","description":"컨테이너 하역 여부","disabled":true},{"key":"exists_gate_out","value":"","description":"Gate Out 여부","disabled":true},{"key":"exists_empty_return","value":"","description":"컨테이너 반환 여부","disabled":true},{"key":"order","value":"","description":"데이터 정렬(기본값: ARRIVAL_DATE_TIME_DESC)","disabled":true}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_detail\": \"[page]: Required field is not provided.\",\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-08-28T07:21:13.367404\"\n}"},{"id":"e1d1d840-856b-4491-921d-c4fc7e27f9d4","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/dnd-monitoring?arrival_from=[Arrival From]&arrival_to=[Arrival To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","dnd-monitoring"],"query":[{"key":"arrival_from","value":"[Arrival From]","description":"arrivalDateTime 시작일 yyyy-MM-dd'T'HH:mm:ss"},{"key":"arrival_to","value":"[Arrival To]","description":"arrivalDateTime 종료일 yyyy-MM-dd'T'HH:mm:ss"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기"},{"key":"carrier_code","value":"","description":"선사 코드","disabled":true},{"key":"pod_location_code","value":"","description":"POD 항만 코드","disabled":true},{"key":"bl_no","value":"","description":"Master B/L 번호","disabled":true},{"key":"container_no","value":"","description":"Container 번호","disabled":true},{"key":"reference_no","value":"","description":"관리 번호","disabled":true},{"key":"terminal_dwell_days","value":"","description":"터미널 체류일","disabled":true},{"key":"street_dwell_days","value":"","description":"컨테이너 사용일","disabled":true},{"key":"exists_discharge","value":"","description":"컨테이너 하역 여부","disabled":true},{"key":"exists_gate_out","value":"","description":"Gate Out 여부","disabled":true},{"key":"exists_empty_return","value":"","description":"컨테이너 반환 여부","disabled":true},{"key":"order","value":"","description":"데이터 정렬(기본값: ARRIVAL_DATE_TIME_DESC)","disabled":true}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": 500,\n  \"type\": \"Internal Server Error\",\n  \"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"e94505d5-e4fa-4ffe-8d60-aaa3fffcf5b1"}],"id":"09c728a7-38f0-4bda-bdcc-d229880513a9","description":"<h3 id=\"✅-dd-모니터링-api--개요\">✅ D&amp;D 모니터링 API — 개요</h3>\n<p>Tradlinx는 B/L 트래킹 API의 확장 기능으로 D&amp;D 모니터링을 제공하며, 이 페이지에서는 D&amp;D 모니터링 API를 설명합니다.</p>\n<p>D&amp;D 모니터링은 B/L 트래킹을 통해 수집된 화물 정보를 기반으로 컨테이너 단위의 Demurrage &amp; Detention(D&amp;D) 발생 위험을 모니터링하는 기능입니다.</p>\n<p>컨테이너의 Pickup 및 Empty Return 기간을 확인하여 D&amp;D 비용 발생 위험을 사전에 관리할 수 있습니다.</p>\n<p>D&amp;D 모니터링은 B/L 트래킹으로 등록된 화물에 대해서만 사용할 수 있습니다.</p>\n<p>지원 선사는 <strong>참고자료 &gt; 추적 가능한 선사 목록</strong>을 참고해 주세요.</p>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>D&amp;D 모니터링 API는 해당 기능을 별도로 구독한 Ocean Visibility Enterprise Plan 고객에게만 제공되며, B/L 트래킹 API를 함께 사용해야 합니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n","_postman_id":"09c728a7-38f0-4bda-bdcc-d229880513a9"},{"name":"AI-ETA","item":[{"name":"1. B/L 트래킹 데이터 상세 조회 (AI ETA 포함)","id":"dea3cc57-72f9-4bc4-9413-66e2e9745778","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/details/ai-eta?bl_nos=[BL No],[BL No],[BL No]&tracking_status=[Tracking Status]&register_from=[Register From]&register_to=[Register To]&active=[Active]&page=[Page]&size=[Size]","description":"<ul>\n<li><p>등록된 화물의 B/L 트래킹 상세 정보와 AI ETA 예측 정보를 조회합니다.</p>\n</li>\n<li><p>이 API는 <strong>B/L 트래킹 API</strong>를 함께 사용해야 하며, B/L 트래킹으로 등록된 화물에 대해서만 조회할 수 있습니다.</p>\n</li>\n<li><p>AI ETA 예측 정보를 조회하려면 기존 <strong>\"3. B/L 트래킹 상세 조회\"</strong> API 대신 이 API를 사용하면 됩니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 50건의 트래킹정보를 조회할 수 있습니다.</p>\n</li>\n<li><p>정상적으로 등록된 B/L 트래킹에 대해서만 상세 조회가 가능합니다.</p>\n</li>\n<li><p><code>content</code> 내 날짜 및 시간 필드는 ISO 8601 형식(<code>yyyy-MM-dd'T'HH:mm:ssXXX</code>)으로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>CargoTrackDetail</td>\n<td>B/L 트래킹 상세 데이터</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td>number</td>\n<td>content 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td>Pagination</td>\n<td>페이지 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"페이지-정보---pagination\"><strong>페이지 정보 - Pagination</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total_size</td>\n<td>number</td>\n<td>전체 데이터 크기</td>\n</tr>\n<tr>\n<td>total_page</td>\n<td>number</td>\n<td>최대 페이지 번호</td>\n</tr>\n<tr>\n<td>current_page</td>\n<td>number</td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>has_next</td>\n<td>boolean</td>\n<td>다음 페이지 존재 여부</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"bl-트래킹-상세-데이터---cargotrackdetail\"><strong>B/L 트래킹 상세 데이터 - CargoTrackDetail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cargo_track_id</td>\n<td>string</td>\n<td>B/L 트래킹 ID</td>\n</tr>\n<tr>\n<td>line_cd</td>\n<td>string</td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>bl_no</td>\n<td>string</td>\n<td>Master B/L 번호</td>\n</tr>\n<tr>\n<td>cust_order_id</td>\n<td>string</td>\n<td>관리 번호</td>\n</tr>\n<tr>\n<td>cust_corp_name</td>\n<td>string</td>\n<td>고객사</td>\n</tr>\n<tr>\n<td>cust_name</td>\n<td>string</td>\n<td>고객사 담당자 이름</td>\n</tr>\n<tr>\n<td>remark</td>\n<td>string</td>\n<td>비고</td>\n</tr>\n<tr>\n<td>registered_datetime</td>\n<td>string</td>\n<td>등록일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>tracking_status</td>\n<td>string</td>\n<td>추적 상태 (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>is_container_plus</td>\n<td>boolean</td>\n<td>컨테이너 플러스 여부</td>\n</tr>\n<tr>\n<td>trans_type</td>\n<td>string</td>\n<td>직항 / 환적 (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>origin</td>\n<td>ExtraRoute</td>\n<td>출발 지역 (일부 선사에 대해서만 데이터 제공) (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>pol</td>\n<td>POL</td>\n<td>Port of Loading(선적항) 데이터</td>\n</tr>\n<tr>\n<td>pod</td>\n<td>POD</td>\n<td>Port of Discharge(양하항) 데이터</td>\n</tr>\n<tr>\n<td>destination</td>\n<td>ExtraRoute</td>\n<td>최종 도착 지역 (일부 선사에 대해서만 데이터 제공) (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>current_vessel</td>\n<td>CurrentVessel</td>\n<td>현재 화물이 실린 선박 데이터</td>\n</tr>\n<tr>\n<td>routes</td>\n<td>Route []</td>\n<td>운항 경로 데이터 목록</td>\n</tr>\n<tr>\n<td>containers</td>\n<td>Container []</td>\n<td>컨테이너 데이터 목록</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적상태\"><strong>추적상태</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>INIT</td>\n<td>대기 중: 최초로 Master B/L을 정보를 확인중</td>\n</tr>\n<tr>\n<td>PENDING</td>\n<td>재시도중: 정보 유효성 검증중</td>\n</tr>\n<tr>\n<td>EXPIRED</td>\n<td>7일간 추적을 시도했으나 정보 확인 실패</td>\n</tr>\n<tr>\n<td>BL_INVALID</td>\n<td>BL 입력 오류</td>\n</tr>\n<tr>\n<td>TRACKING</td>\n<td>정상 추적중</td>\n</tr>\n<tr>\n<td>COMPLETE</td>\n<td>목적지까지 운송이 완료되었거나 추적 기간 만료</td>\n</tr>\n<tr>\n<td>UNPAID</td>\n<td>크레딧 부족으로 추적할 수 없는 상태</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"직항-환적\"><strong>직항/ 환적</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>DIRECT</td>\n<td>직항</td>\n</tr>\n<tr>\n<td>TS</td>\n<td>환적</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"extraroute---출도착지-데이터\"><strong>ExtraRoute - 출/도착지 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>location_name?</td>\n<td>string</td>\n<td>지역 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>location_code?</td>\n<td>string</td>\n<td>지역 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_date_time?</td>\n<td>string</td>\n<td>최초 제공된 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>estimate_date_time?</td>\n<td>string</td>\n<td>예상 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>actual_date_time?</td>\n<td>string</td>\n<td>실제 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pol---선적항-데이터\"><strong>POL - 선적항 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pol_name</td>\n<td>string</td>\n<td>선적항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td>string</td>\n<td>선적항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_etd?</td>\n<td>string</td>\n<td>최초 제공된 ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>etd?</td>\n<td>string</td>\n<td>ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>atd?</td>\n<td>string</td>\n<td>ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_atd?</td>\n<td>string</td>\n<td>AIS 기반 ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pod---양하항-데이터\"><strong>POD - 양하항 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pod_name</td>\n<td>string</td>\n<td>양하항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td>string</td>\n<td>양하항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_eta?</td>\n<td>string</td>\n<td>최초 제공된 ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>eta?</td>\n<td>string</td>\n<td>ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ata?</td>\n<td>string</td>\n<td>ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_ata?</td>\n<td>string</td>\n<td>AIS 기반 ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ai_eta?</td>\n<td>AiEstimatedArrival</td>\n<td>AI 예측 도착 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"aiestimatedarrival---ai-예측-도착-정보\"><strong>AiEstimatedArrival - AI 예측 도착 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ai_eta?</td>\n<td>string</td>\n<td>AI 예측 도착 시간 (P50 기준). AI가 예측한 가장 가능성 높은 도착 시간으로, 기본 일정 수립의 기준값으로 활용합니다.</td>\n<td><code>yyyy-MM-dd'T'HH:mm</code></td>\n</tr>\n<tr>\n<td>ai_eta_p10?</td>\n<td>string</td>\n<td>빠른 도착 시나리오 (P10, 10th percentile 예측). 항해가 순조로울 경우 예상되는 도착 시간이며, 실제 도착이 이 시각보다 빠를 확률은 약 10%입니다. 가장 빠른 입고·배차 대비에 활용합니다.</td>\n<td><code>yyyy-MM-dd'T'HH:mm</code></td>\n</tr>\n<tr>\n<td>ai_eta_p90?</td>\n<td>string</td>\n<td>지연 시나리오 (P90, 90th percentile 예측). 기상·혼잡 등으로 지연될 경우 예상되는 도착 시간이며, 실제 도착이 이 시각보다 늦을 확률은 약 10%입니다. 지연 리스크 버퍼 확보에 활용합니다. P10과 P90 사이 구간은 약 80% 신뢰 구간입니다.</td>\n<td><code>yyyy-MM-dd'T'HH:mm</code></td>\n</tr>\n<tr>\n<td>ai_eta_confidence?</td>\n<td>number</td>\n<td>도착 확률. 실제 도착이 P50의 ±1일 이내에 있을 확률 (0-100, %). 예측 신뢰도 지표로 활용합니다.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"currentvessel---현재-화물이-실린-선박-데이터\"><strong>CurrentVessel - 현재 화물이 실린 선박 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>imo</td>\n<td>string</td>\n<td>IMO</td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td>string</td>\n<td>MMSI</td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td>string</td>\n<td>선박 이름</td>\n</tr>\n<tr>\n<td>voyage</td>\n<td>string</td>\n<td>항차</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"route---운항-경로-데이터\"><strong>Route - 운항 경로 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>order</td>\n<td>number</td>\n<td>운항경로 순서</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_name</td>\n<td>string</td>\n<td>선적항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td>string</td>\n<td>선적항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_name</td>\n<td>string</td>\n<td>양하항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td>string</td>\n<td>양하항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>imo</td>\n<td>string</td>\n<td>선박 IMO</td>\n<td></td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td>string</td>\n<td>선박 MMSI</td>\n<td></td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td>string</td>\n<td>선박 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>voyage</td>\n<td>string</td>\n<td>항차</td>\n<td></td>\n</tr>\n<tr>\n<td>init_etd?</td>\n<td>string</td>\n<td>최초 제공된 ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>etd?</td>\n<td>string</td>\n<td>ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>atd?</td>\n<td>string</td>\n<td>ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_atd?</td>\n<td>string</td>\n<td>AIS 기반 ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>init_eta?</td>\n<td>string</td>\n<td>최초 제공된 ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>eta?</td>\n<td>string</td>\n<td>ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ata?</td>\n<td>string</td>\n<td>ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_ata?</td>\n<td>string</td>\n<td>AIS 기반 ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ai_eta?</td>\n<td>AiEstimatedArrival</td>\n<td>AI 예측 도착 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"container---컨테이너-데이터\"><strong>Container - 컨테이너 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cntr_no</td>\n<td>string</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>cntr_sz</td>\n<td>string</td>\n<td>컨테이너 사이즈</td>\n</tr>\n<tr>\n<td>cntr_tp</td>\n<td>string</td>\n<td>컨테이너 타입</td>\n</tr>\n<tr>\n<td>seal_no</td>\n<td>string</td>\n<td>컨테이너 봉인번호</td>\n</tr>\n<tr>\n<td>container_events</td>\n<td>ContainerEvent[]</td>\n<td>컨테이너 이벤트 데이터 Array</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"containerevent---컨테이너-이벤트\"><strong>ContainerEvent - 컨테이너 이벤트</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>port_code</td>\n<td>string</td>\n<td>항구 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>컨테이너 이벤트 유형 (하단 리스트 참고)</td>\n<td></td>\n</tr>\n<tr>\n<td>transportation</td>\n<td>string</td>\n<td>운송 수단 유형 (하단 리스트 참고)</td>\n<td></td>\n</tr>\n<tr>\n<td>is_actual</td>\n<td>boolean</td>\n<td>실제 이벤트 시간 여부</td>\n<td></td>\n</tr>\n<tr>\n<td>event_datetime</td>\n<td>string</td>\n<td>이벤트 발생 시간</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"컨테이너-이벤트-유형\"><strong>컨테이너 이벤트 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CONTAINER_PICK_UP</td>\n<td>컨테이너 픽업</td>\n</tr>\n<tr>\n<td>LOADING_ON_VESSEL</td>\n<td>선적</td>\n</tr>\n<tr>\n<td>VESSEL_DEPARTURE_FROM_PORT</td>\n<td>출항</td>\n</tr>\n<tr>\n<td>VESSEL_ARRIVAL_AT_PORT</td>\n<td>입항</td>\n</tr>\n<tr>\n<td>VESSEL_BERTHING_ON_PORT</td>\n<td>접안</td>\n</tr>\n<tr>\n<td>DISCHARGING_FROM_VESSEL</td>\n<td>양하</td>\n</tr>\n<tr>\n<td>GATE_IN</td>\n<td>터미널 또는 컨테이너 야드 반입</td>\n</tr>\n<tr>\n<td>GATE_OUT</td>\n<td>터미널 또는 컨테이너 야드 반출</td>\n</tr>\n<tr>\n<td>RAIL_LOADING</td>\n<td>기차 상차</td>\n</tr>\n<tr>\n<td>RAIL_DEPARTURE</td>\n<td>기차 출발</td>\n</tr>\n<tr>\n<td>RAIL_ARRIVAL</td>\n<td>기차 도착</td>\n</tr>\n<tr>\n<td>RAIL_UNLOADING</td>\n<td>기차 하차</td>\n</tr>\n<tr>\n<td>PICKING_UP_BY_CONSIGNEE</td>\n<td>수화인이 화물을 인도받기 위해 픽업 중인 상태</td>\n</tr>\n<tr>\n<td>DELIVERING_TO_CONSIGNEE</td>\n<td>화물이 수화인에게 배송 중인 상태</td>\n</tr>\n<tr>\n<td>EMPTY_CONTAINER_RETURN</td>\n<td>컨테이너 반납</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"운송-수단-유형\"><strong>운송 수단 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>VESSEL</td>\n<td>선박</td>\n</tr>\n<tr>\n<td>FEEDER</td>\n<td>소형 컨테이너 선박</td>\n</tr>\n<tr>\n<td>BARGE</td>\n<td>동력이 없거나 적은 화물 운송용 선박</td>\n</tr>\n<tr>\n<td>RAIL</td>\n<td>기차</td>\n</tr>\n<tr>\n<td>TRUCK</td>\n<td>화물차</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","cargo-tracks","details","ai-eta"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>Master B/L 번호 목록</p>\n","type":"text/plain"},"key":"bl_nos","value":"[BL No],[BL No],[BL No]"},{"description":{"content":"<p>추적 상태 필터 (콤마로 구분)</p>\n","type":"text/plain"},"key":"tracking_status","value":"[Tracking Status]"},{"description":{"content":"<p>등록일시 기준 시작일 (yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_from","value":"[Register From]"},{"description":{"content":"<p>등록일시 기준 종료일 (yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_to","value":"[Register To]"},{"description":{"content":"<p>활성 상태 필터 (기본값: true)</p>\n","type":"text/plain"},"key":"active","value":"[Active]"},{"description":{"content":"<p>(required) 페이지 번호 (최소: 1)</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>(required) 페이지 크기 (범위: 1~50)</p>\n","type":"text/plain"},"key":"size","value":"[Size]"}],"variable":[]}},"response":[{"id":"7c62342a-e96b-4e69-a9a8-7d1fa592f9cb","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/details/ai-eta?bl_nos=[BL No],[BL No],[BL No]&tracking_status=[Tracking Status]&register_from=[Register From]&register_to=[Register To]&active=[Active]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","details","ai-eta"],"query":[{"key":"bl_nos","value":"[BL No],[BL No],[BL No]","description":"Master B/L 번호 목록"},{"key":"tracking_status","value":"[Tracking Status]","description":"추적 상태 필터 (콤마로 구분)"},{"key":"register_from","value":"[Register From]","description":"등록일시 기준 시작일 (yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일시 기준 종료일 (yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"active","value":"[Active]","description":"활성 상태 필터 (기본값: true)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"bl_no\": \"SAMPLE_BL_NO\",\n      \"cargo_track_id\": \"SAMPLE_CARGO_TRACK_ID\",\n      \"containers\": [\n        {\n          \"cntr_no\": \"SAMPLE_CNTR_NO\",\n          \"cntr_sz\": \"SAMPLE_CNTR_SIZE\",\n          \"cntr_tp\": \"SAMPLE_CNTR_TYPE\",\n          \"container_events\": [\n            {\n              \"event_datetime\": \"2025-07-08T07:25:39+09:00\",\n              \"event_type\": \"CONTAINER_PICK_UP\",\n              \"is_actual\": false,\n              \"port_code\": \"SAMPLE_PORT_CODE\",\n              \"transportation\": \"BARGE\"\n            }\n          ],\n          \"seal_no\": \"SAMPLE_SEAL_NO\"\n        }\n      ],\n      \"current_vessel\": {\n        \"imo\": \"SAMPLE_IMO\",\n        \"mmsi\": \"SAMPLE_MMSI\",\n        \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n        \"voyage\": \"SAMPLE_VOYAGE\"\n      },\n      \"cust_corp_name\": \"SAMPLE_CORP_NAME\",\n      \"cust_name\": \"SAMPLE_CUSTOMER_NAME\",\n      \"cust_order_id\": \"SAMPLE_CUST_ORDER_ID\",\n      \"is_active\": false,\n      \"is_container_plus\": false,\n      \"line_cd\": \"SAMPLE_LINE_CD\",\n      \"origin\": {\n        \"location_code\": \"SAMPLE_LOCATION_CODE\",\n        \"location_name\": \"SAMPLE_LOCATION_NAME\",\n        \"init_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"estimate_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"actual_date_time\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"pod\": {\n        \"ata\": \"2025-07-08T07:25:39+09:00\",\n        \"eta\": \"2025-07-08T07:25:39+09:00\",\n        \"init_eta\": \"2025-07-08T07:25:39+09:00\",\n        \"pod_code\": \"SAMPLE_POD_PORT_CODE\",\n        \"pod_name\": \"SAMPLE_POD_NAME\",\n        \"tx_ata\": \"2025-07-08T07:25:39+09:00\",\n        \"ai_eta\": {\n          \"ai_eta\": \"2025-07-10T14:00\",\n          \"ai_eta_p10\": \"2025-07-09T08:00\",\n          \"ai_eta_p90\": \"2025-07-12T22:00\",\n          \"ai_eta_confidence\": \"30.00\"\n        }\n      },\n      \"pol\": {\n        \"atd\": \"2025-07-08T07:25:39+09:00\",\n        \"etd\": \"2025-07-08T07:25:39+09:00\",\n        \"init_etd\": \"2025-07-08T07:25:39+09:00\",\n        \"pol_code\": \"POL_PORT_CODE\",\n        \"pol_name\": \"POL_NAME\",\n        \"tx_atd\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"destination\": {\n        \"location_code\": \"SAMPLE_LOCATION_CODE\",\n        \"location_name\": \"SAMPLE_LOCATION_NAME\",\n        \"init_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"estimate_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"actual_date_time\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"registered_datetime\": \"2025-07-08T07:25:39.493Z\",\n      \"remark\": \"SAMPLE_REMARK\",\n      \"routes\": [\n        {\n          \"ata\": \"2025-07-08T07:25:39+09:00\",\n          \"atd\": \"2025-07-08T07:25:39+09:00\",\n          \"eta\": \"2025-07-08T07:25:39+09:00\",\n          \"etd\": \"2025-07-08T07:25:39+09:00\",\n          \"imo\": \"SAMPLE_IMO\",\n          \"init_eta\": \"2025-07-08T07:25:39+09:00\",\n          \"init_etd\": \"2025-07-08T07:25:39+09:00\",\n          \"mmsi\": \"SAMPLE_MMSI\",\n          \"order\": 0,\n          \"pod_code\": \"SAMPLE_POD_CODE\",\n          \"pod_name\": \"SAMPLE_POD_NAME\",\n          \"pol_code\": \"SAMPLE_POL_CODE\",\n          \"pol_name\": \"SAMPLE_POL_NAME\",\n          \"tx_ata\": \"2025-07-08T07:25:39+09:00\",\n          \"tx_atd\": \"2025-07-08T07:25:39+09:00\",\n          \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n          \"voyage\": \"SAMPLE_VOYAGE\",\n          \"ai_eta\": {\n            \"ai_eta\": \"2025-07-10T14:00\",\n            \"ai_eta_p10\": \"2025-07-09T08:00\",\n            \"ai_eta_p90\": \"2025-07-12T22:00\",\n            \"ai_eta_confidence\": \"30.00\"\n          }\n        }\n      ],\n      \"tracking_status\": \"TRACKING\",\n      \"trans_type\": \"DIR\"\n    }\n  ],\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"pagination\": {\n    \"current_page\": 0,\n    \"has_next\": false,\n    \"total_page\": 0,\n    \"total_size\": 0\n  },\n  \"size\": 1,\n  \"transaction_time\": \"2025-07-08T07:25:39.493258\"\n}"},{"id":"ccb5c0b8-8824-4f16-b397-1f1de888522a","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/details/ai-eta?bl_nos=[BL No],[BL No],[BL No]&tracking_status=[Tracking Status]&register_from=[Register From]&register_to=[Register To]&active=[Active]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","details","ai-eta"],"query":[{"key":"bl_nos","value":"[BL No],[BL No],[BL No]","description":"Master B/L 번호 목록"},{"key":"tracking_status","value":"[Tracking Status]","description":"추적 상태 필터 (콤마로 구분)"},{"key":"register_from","value":"[Register From]","description":"등록일시 기준 시작일 (yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일시 기준 종료일 (yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"active","value":"[Active]","description":"활성 상태 필터 (기본값: true)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"error_detail\": \"[page]: The value of the field must be greater than or equal to 1.\",\n\t\"transaction_time\": \"2025-03-20T05:42:27.123543\"\n}"},{"id":"9b86c166-fcd7-46ed-ad4b-27efe1e7e974","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/cargo-tracks/details/ai-eta?bl_nos=[BL No],[BL No],[BL No]&tracking_status=[Tracking Status]&register_from=[Register From]&register_to=[Register To]&active=[Active]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","cargo-tracks","details","ai-eta"],"query":[{"key":"bl_nos","value":"[BL No],[BL No],[BL No]","description":"Master B/L 번호 목록"},{"key":"tracking_status","value":"[Tracking Status]","description":"추적 상태 필터 (콤마로 구분)"},{"key":"register_from","value":"[Register From]","description":"등록일시 기준 시작일 (yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일시 기준 종료일 (yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"active","value":"[Active]","description":"활성 상태 필터 (기본값: true)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"status\": 500,\n\t\"type\": \"Internal Server Error\",\n\t\"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"dea3cc57-72f9-4bc4-9413-66e2e9745778"},{"name":"2. 컨테이너 트래킹 데이터 상세 조회 (AI ETA 포함)","id":"4e46b17b-d68e-4561-bbcf-9ccc9c40f824","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/container-tracks/details/ai-eta?container_no=[Container No]&register_from=[Register From]&register_to=[Register To]&reference_no=[Reference No]&carrier_code=[Carrier Code]&page=[Page]&size=[Size]","description":"<ul>\n<li><p>등록된 컨테이너 트래킹의 상세 정보와 AI ETA 예측 정보를 조회합니다.\\</p>\n</li>\n<li><p>이 API는 컨테이너 트래킹 API를 함께 사용해야 하며, 컨테이너 트래킹으로 등록된 컨테이너에 대해서만 조회할 수 있습니다.</p>\n</li>\n<li><p>AI ETA 예측 정보를 조회하려면 기존 <strong>\"2. 컨테이너 트래킹 상세 조회\"</strong> API 대신 이 API를 사용해야 합니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 50건의 Tracking 정보를 조회할 수 있습니다.</p>\n</li>\n<li><p>정상적으로 등록된 컨테이너 트래킹에 대해서만 상세 조회가 가능합니다.</p>\n</li>\n<li><p><code>content</code> 내 날짜 및 시간 필드는 ISO 8601 형식(<code>yyyy-MM-dd'T'HH:mm:ssXXX</code>)으로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>ContainerTrackDetail[]</code></td>\n<td>컨테이너 추적 상세 데이터</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>number</code></td>\n<td>content 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td><code>Pagination</code></td>\n<td>페이지 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"선적-추적-상세-데이터---containertrackdetail\"><strong>선적 추적 상세 데이터 - ContainerTrackDetail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>track_mst_id</td>\n<td><code>string</code></td>\n<td>선적 추적 ID</td>\n</tr>\n<tr>\n<td>carrier_code</td>\n<td><code>string</code></td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>container_no</td>\n<td><code>string</code></td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>reference_no</td>\n<td><code>string</code></td>\n<td>내부 관리 번호</td>\n</tr>\n<tr>\n<td>client</td>\n<td><code>string</code></td>\n<td>고객사 이름</td>\n</tr>\n<tr>\n<td>internal_usage</td>\n<td><code>string</code></td>\n<td>고객 담당자 이름</td>\n</tr>\n<tr>\n<td>remark</td>\n<td><code>string</code></td>\n<td>비고</td>\n</tr>\n<tr>\n<td>registered_datetime</td>\n<td><code>string</code></td>\n<td>등록일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>status</td>\n<td><code>string</code></td>\n<td>추적 상태 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>detail_status</td>\n<td><code>string</code></td>\n<td>상세 추적 상태 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>trans_type</td>\n<td><code>string</code></td>\n<td>직항 / 환적 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>origin</td>\n<td><code>ExtraRoute</code></td>\n<td>출발 지역 (일부 선사에 대해서만 데이터 제공) (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>pol</td>\n<td><code>POL</code></td>\n<td>선적항 정보 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>pod</td>\n<td><code>POD</code></td>\n<td>양하항 정보 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>destination</td>\n<td><code>ExtraRoute</code></td>\n<td>최종 도착 지역 (일부 선사에 대해서만 데이터 제공) (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>current_vessel</td>\n<td><code>CurrentVessel</code></td>\n<td>현재 선박 정보 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>routes</td>\n<td><code>Route[]</code></td>\n<td>운항 경로 목록 (아래 코드 참조)</td>\n</tr>\n<tr>\n<td>containers</td>\n<td><code>Container[]</code></td>\n<td>컨테이너 목록 (아래 코드 참조)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적-상태---tracking-status\"><strong>추적 상태 - Tracking Status</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PROCESSING</td>\n<td>추적 중</td>\n</tr>\n<tr>\n<td>COMPLETE</td>\n<td>추적 완료</td>\n</tr>\n<tr>\n<td>DELETED</td>\n<td>삭제</td>\n</tr>\n<tr>\n<td>PENDING</td>\n<td>보류</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"상세-추적-상태---tracking-detail-status\"><strong>상세 추적 상태 - Tracking Detail Status</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>WAITING</td>\n<td>대기 중: 최초로 Container No. 정보를 확인중</td>\n</tr>\n<tr>\n<td>RETRYING</td>\n<td>재시도중: 정보 유효성 검증중</td>\n</tr>\n<tr>\n<td>RETRY_FAILED</td>\n<td>7일간 추적을 시도했으나 정보 확인 실패</td>\n</tr>\n<tr>\n<td>NOT_ENOUGH_CREDIT</td>\n<td>크레딧 부족으로 추적할 수 없는 상태</td>\n</tr>\n<tr>\n<td>UNSUPPORTED_PLAN</td>\n<td>기능을 지원하지 않는 플랜으로 추적할 수 없는 상태</td>\n</tr>\n<tr>\n<td>TRACKING</td>\n<td>정상 추적중</td>\n</tr>\n<tr>\n<td>COMPLETE</td>\n<td>목적지까지 운송이 완료됨</td>\n</tr>\n<tr>\n<td>INCOMPLETE</td>\n<td>추적 기간 만료</td>\n</tr>\n<tr>\n<td>DELETED</td>\n<td>삭제</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"직항-환적---transshipment-type\"><strong>직항/ 환적 - Transshipment Type</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>DIRECT</td>\n<td>직항</td>\n</tr>\n<tr>\n<td>TS</td>\n<td>환적</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"extraroute---출도착지-데이터\"><strong>ExtraRoute - 출/도착지 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>location_name?</td>\n<td>string</td>\n<td>지역 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>location_code?</td>\n<td>string</td>\n<td>지역 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_date_time?</td>\n<td>string</td>\n<td>최초 제공된 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>estimate_date_time?</td>\n<td>string</td>\n<td>예상 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>actual_date_time?</td>\n<td>string</td>\n<td>실제 날짜</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pol---선적항-데이터\"><strong>POL - 선적항 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pol_name</td>\n<td>string</td>\n<td>선적항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td>string</td>\n<td>선적항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_etd?</td>\n<td>string</td>\n<td>최초 제공된 ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>etd?</td>\n<td>string</td>\n<td>ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>atd?</td>\n<td>string</td>\n<td>ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_atd?</td>\n<td>string</td>\n<td>AIS 기반 ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pod---양하항-데이터\"><strong>POD - 양하항 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pod_name</td>\n<td>string</td>\n<td>양하항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td>string</td>\n<td>양하항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>init_eta?</td>\n<td>string</td>\n<td>최초 제공된 ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>eta?</td>\n<td>string</td>\n<td>ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ata?</td>\n<td>string</td>\n<td>ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_ata?</td>\n<td>string</td>\n<td>AIS 기반 ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ai_eta?</td>\n<td>AiEstimatedArrival</td>\n<td>AI 예측 도착 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"aiestimatedarrival---ai-예측-도착-정보\"><strong>AiEstimatedArrival - AI 예측 도착 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ai_eta?</td>\n<td>string</td>\n<td>AI 예측 도착 시간 (P50 기준). AI가 예측한 가장 가능성 높은 도착 시간으로, 기본 일정 수립의 기준값으로 활용합니다.</td>\n<td><code>yyyy-MM-dd'T'HH:mm</code></td>\n</tr>\n<tr>\n<td>ai_eta_p10?</td>\n<td>string</td>\n<td>빠른 도착 시나리오 (P10, 10th percentile 예측). 항해가 순조로울 경우 예상되는 도착 시간이며, 실제 도착이 이 시각보다 빠를 확률은 약 10%입니다. 가장 빠른 입고·배차 대비에 활용합니다.</td>\n<td><code>yyyy-MM-dd'T'HH:mm</code></td>\n</tr>\n<tr>\n<td>ai_eta_p90?</td>\n<td>string</td>\n<td>지연 시나리오 (P90, 90th percentile 예측). 기상·혼잡 등으로 지연될 경우 예상되는 도착 시간이며, 실제 도착이 이 시각보다 늦을 확률은 약 10%입니다. 지연 리스크 버퍼 확보에 활용합니다. P10과 P90 사이 구간은 약 80% 신뢰 구간입니다.</td>\n<td><code>yyyy-MM-dd'T'HH:mm</code></td>\n</tr>\n<tr>\n<td>ai_eta_confidence?</td>\n<td>number</td>\n<td>도착 확률. 실제 도착이 P50의 ±1일 이내에 있을 확률 (0-100, %). 예측 신뢰도 지표로 활용합니다.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"currentvessel---현재-화물이-실린-선박-데이터\"><strong>CurrentVessel - 현재 화물이 실린 선박 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>imo</td>\n<td>string</td>\n<td>IMO</td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td>string</td>\n<td>MMSI</td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td>string</td>\n<td>선박 이름</td>\n</tr>\n<tr>\n<td>voyage</td>\n<td>string</td>\n<td>항차</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"route---운항-경로-데이터\"><strong>Route - 운항 경로 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>order</td>\n<td>number</td>\n<td>운항경로 순서</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_name</td>\n<td>string</td>\n<td>선적항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pol_code</td>\n<td>string</td>\n<td>선적항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_name</td>\n<td>string</td>\n<td>양하항 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>pod_code</td>\n<td>string</td>\n<td>양하항 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>imo</td>\n<td>string</td>\n<td>선박 IMO</td>\n<td></td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td>string</td>\n<td>선박 MMSI</td>\n<td></td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td>string</td>\n<td>선박 이름</td>\n<td></td>\n</tr>\n<tr>\n<td>voyage</td>\n<td>string</td>\n<td>항차</td>\n<td></td>\n</tr>\n<tr>\n<td>init_etd?</td>\n<td>string</td>\n<td>최초 제공된 ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>etd?</td>\n<td>string</td>\n<td>ETD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>atd?</td>\n<td>string</td>\n<td>ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_atd?</td>\n<td>string</td>\n<td>AIS 기반 ATD</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>init_eta?</td>\n<td>string</td>\n<td>최초 제공된 ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>eta?</td>\n<td>string</td>\n<td>ETA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ata?</td>\n<td>string</td>\n<td>ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>tx_ata?</td>\n<td>string</td>\n<td>AIS 기반 ATA</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>ai_eta?</td>\n<td>AiEstimatedArrival</td>\n<td>AI 예측 도착 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"container---컨테이너-데이터\"><strong>Container - 컨테이너 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cntr_no</td>\n<td>string</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>cntr_sz</td>\n<td>string</td>\n<td>컨테이너 사이즈</td>\n</tr>\n<tr>\n<td>cntr_tp</td>\n<td>string</td>\n<td>컨테이너 타입</td>\n</tr>\n<tr>\n<td>seal_no</td>\n<td>string</td>\n<td>컨테이너 봉인번호</td>\n</tr>\n<tr>\n<td>container_events</td>\n<td>ContainerEvent[]</td>\n<td>컨테이너 이벤트 데이터 Array</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"containerevent---컨테이너-이벤트\"><strong>ContainerEvent - 컨테이너 이벤트</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>port_code</td>\n<td>string</td>\n<td>항구 코드</td>\n<td></td>\n</tr>\n<tr>\n<td>event_type</td>\n<td>string</td>\n<td>컨테이너 이벤트 유형 (하단 리스트 참고)</td>\n<td></td>\n</tr>\n<tr>\n<td>transportation</td>\n<td>string</td>\n<td>운송 수단 유형 (하단 리스트 참고)</td>\n<td></td>\n</tr>\n<tr>\n<td>is_actual</td>\n<td>boolean</td>\n<td>실제 이벤트 시간 여부</td>\n<td></td>\n</tr>\n<tr>\n<td>event_datetime</td>\n<td>string</td>\n<td>이벤트 발생 시간</td>\n<td>[ISO 8601 날짜/시간 형식] <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"컨테이너-이벤트-유형\"><strong>컨테이너 이벤트 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CONTAINER_PICK_UP</td>\n<td>컨테이너 픽업</td>\n</tr>\n<tr>\n<td>LOADING_ON_VESSEL</td>\n<td>선적</td>\n</tr>\n<tr>\n<td>VESSEL_DEPARTURE_FROM_PORT</td>\n<td>출항</td>\n</tr>\n<tr>\n<td>VESSEL_ARRIVAL_AT_PORT</td>\n<td>입항</td>\n</tr>\n<tr>\n<td>VESSEL_BERTHING_ON_PORT</td>\n<td>접안</td>\n</tr>\n<tr>\n<td>DISCHARGING_FROM_VESSEL</td>\n<td>양하</td>\n</tr>\n<tr>\n<td>GATE_IN</td>\n<td>터미널 또는 컨테이너 야드 반입</td>\n</tr>\n<tr>\n<td>GATE_OUT</td>\n<td>터미널 또는 컨테이너 야드 반출</td>\n</tr>\n<tr>\n<td>RAIL_LOADING</td>\n<td>기차 상차</td>\n</tr>\n<tr>\n<td>RAIL_DEPARTURE</td>\n<td>기차 출발</td>\n</tr>\n<tr>\n<td>RAIL_ARRIVAL</td>\n<td>기차 도착</td>\n</tr>\n<tr>\n<td>RAIL_UNLOADING</td>\n<td>기차 하차</td>\n</tr>\n<tr>\n<td>PICKING_UP_BY_CONSIGNEE</td>\n<td>수화인이 화물을 인도받기 위해 픽업 중인 상태</td>\n</tr>\n<tr>\n<td>DELIVERING_TO_CONSIGNEE</td>\n<td>화물이 수화인에게 배송 중인 상태</td>\n</tr>\n<tr>\n<td>EMPTY_CONTAINER_RETURN</td>\n<td>컨테이너 반납</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"운송-수단-유형\"><strong>운송 수단 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>VESSEL</td>\n<td>선박</td>\n</tr>\n<tr>\n<td>FEEDER</td>\n<td>소형 컨테이너 선박</td>\n</tr>\n<tr>\n<td>BARGE</td>\n<td>동력이 없거나 적은 화물 운송용 선박</td>\n</tr>\n<tr>\n<td>RAIL</td>\n<td>기차</td>\n</tr>\n<tr>\n<td>TRUCK</td>\n<td>화물차</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","container-tracks","details","ai-eta"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>컨테이너 번호</p>\n","type":"text/plain"},"key":"container_no","value":"[Container No]"},{"description":{"content":"<p>등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_from","value":"[Register From]"},{"description":{"content":"<p>등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_to","value":"[Register To]"},{"description":{"content":"<p>관리 번호</p>\n","type":"text/plain"},"key":"reference_no","value":"[Reference No]"},{"description":{"content":"<p>선사 코드</p>\n","type":"text/plain"},"key":"carrier_code","value":"[Carrier Code]"},{"description":{"content":"<p>(required) 페이지 번호 (최소: 1)</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>(required) 페이지 크기 (범위: 1~50)</p>\n","type":"text/plain"},"key":"size","value":"[Size]"},{"disabled":true,"description":{"content":"<p>진행 상태</p>\n","type":"text/plain"},"key":"status","value":""}],"variable":[]}},"response":[{"id":"e8526477-afce-4732-8a74-647880f117d9","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks/details/ai-eta?container_no=[Container No]&register_from=[Register From]&register_to=[Register To]&reference_no=[Reference No]&carrier_code=[Carrier Code]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks","details","ai-eta"],"query":[{"key":"container_no","value":"[Container No]","description":"컨테이너 번호"},{"key":"register_from","value":"[Register From]","description":"등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"reference_no","value":"[Reference No]","description":"관리 번호"},{"key":"carrier_code","value":"[Carrier Code]","description":"선사 코드"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"},{"key":"status","value":"","description":"진행 상태","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"container_no\": \"SAMPLE_CONTAINER_NO\",\n      \"carrier_code\": \"SAMPLE_CARRIER_CODE\",\n      \"client\": \"SAMPLE_CLIENT\",\n      \"containers\": [\n        {\n          \"cntr_no\": \"SAMPLE_CNTR_NO\",\n          \"cntr_sz\": \"SAMPLE_CNTR_SZ\",\n          \"cntr_tp\": \"SAMPLE_CNTR_TP\",\n          \"container_events\": [\n            {\n              \"event_datetime\": \"SAMPLE_EVENT_DATETIME\",\n              \"event_type\": \"SAMPLE_EVENT_TYPE\",\n              \"is_actual\": false,\n              \"port_code\": \"SAMPLE_PORT_CODE\",\n              \"transportation\": \"SAMPLE_TRANSPORTATION\"\n            }\n          ],\n          \"seal_no\": \"SAMPLE_SEAL_NO\"\n        }\n      ],\n      \"current_vessel\": {\n        \"imo\": \"SAMPLE_IMO\",\n        \"mmsi\": \"SAMPLE_MMSI\",\n        \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n        \"voyage\": \"SAMPLE_VOYAGE\"\n      },\n      \"detail_status\": \"SAMPLE_DETAIL_STATUS\",\n      \"internal_usage\": \"SAMPLE_INTERNAL_USAGE\",\n      \"origin\": {\n        \"location_code\": \"SAMPLE_LOCATION_CODE\",\n        \"location_name\": \"SAMPLE_LOCATION_NAME\",\n        \"init_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"estimate_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"actual_date_time\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"pod\": {\n        \"ata\": \"2025-07-09T05:32:47+09:00\",\n        \"eta\": \"2025-07-09T05:32:47+09:00\",\n        \"init_eta\": \"2025-07-09T05:32:47+09:00\",\n        \"pod_code\": \"SAMPLE_POD_CODE\",\n        \"pod_name\": \"SAMPLE_POD_NAME\",\n        \"tx_ata\": \"2025-07-09T05:32:47+09:00\",\n        \"ai_eta\": {\n          \"ai_eta\": \"2025-07-10T14:00\",\n          \"ai_eta_p10\": \"2025-07-09T08:00\",\n          \"ai_eta_p90\": \"2025-07-12T22:00\",\n          \"ai_eta_confidence\": \"30.00\"\n        }\n      },\n      \"pol\": {\n        \"atd\": \"2025-07-09T05:32:47+09:00\",\n        \"etd\": \"2025-07-09T05:32:47+09:00\",\n        \"init_etd\": \"2025-07-09T05:32:47+09:00\",\n        \"pol_code\": \"SAMPLE_POL_CODE\",\n        \"pol_name\": \"SAMPLE_POL_NAME\",\n        \"tx_atd\": \"2025-07-09T05:32:47+09:00\"\n      },\n      \"destination\": {\n        \"location_code\": \"SAMPLE_LOCATION_CODE\",\n        \"location_name\": \"SAMPLE_LOCATION_NAME\",\n        \"init_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"estimate_date_time\": \"2025-07-08T07:25:39+09:00\",\n        \"actual_date_time\": \"2025-07-08T07:25:39+09:00\"\n      },\n      \"reference_no\": \"SAMPLE_REFERENCE_NO\",\n      \"registered_datetime\": \"2025-07-08T07:25:39.493Z\",\n      \"remark\": \"SAMPLE_REMARK\",\n      \"routes\": [\n        {\n          \"ata\": \"2025-07-09T05:32:47+09:00\",\n          \"atd\": \"2025-07-09T05:32:47+09:00\",\n          \"eta\": \"2025-07-09T05:32:47+09:00\",\n          \"etd\": \"2025-07-09T05:32:47+09:00\",\n          \"imo\": \"SAMPLE_IMO\",\n          \"init_eta\": \"2025-07-09T05:32:47+09:00\",\n          \"init_etd\": \"2025-07-09T05:32:47+09:00\",\n          \"mmsi\": \"SAMPLE_MMSI\",\n          \"order\": 0,\n          \"pod_code\": \"SAMPLE_POD_CODE\",\n          \"pod_name\": \"SAMPLE_POD_NAME\",\n          \"pol_code\": \"SAMPLE_POL_CODE\",\n          \"pol_name\": \"SAMPLE_POL_NAME\",\n          \"tx_ata\": \"2025-07-09T05:32:47+09:00\",\n          \"tx_atd\": \"2025-07-09T05:32:47+09:00\",\n          \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n          \"voyage\": \"SAMPLE_VOYAGE\",\n          \"ai_eta\": {\n            \"ai_eta\": \"2025-07-10T14:00\",\n            \"ai_eta_p10\": \"2025-07-09T08:00\",\n            \"ai_eta_p90\": \"2025-07-12T22:00\",\n            \"ai_eta_confidence\": \"30.00\"\n          }\n        }\n      ],\n      \"status\": \"SAMPLE_STATUS\",\n      \"track_mst_id\": \"SAMPLE_TRACK_MST_ID\",\n      \"trans_type\": \"SAMPLE_TRANS_TYPE\"\n    }\n  ],\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"pagination\": {\n    \"current_page\": 0,\n    \"has_next\": false,\n    \"total_page\": 0,\n    \"total_size\": 0\n  },\n  \"size\": 1,\n  \"transaction_time\": \"2025-07-09T05:32:47.939106\"\n}"},{"id":"49f8a678-a73f-4fa6-85d4-2ac113f4bc54","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks/details/ai-eta?container_no=[Container No]&register_from=[Register From]&register_to=[Register To]&reference_no=[Reference No]&carrier_code=[Carrier Code]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks","details","ai-eta"],"query":[{"key":"container_no","value":"[Container No]","description":"컨테이너 번호"},{"key":"register_from","value":"[Register From]","description":"등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"reference_no","value":"[Reference No]","description":"관리 번호"},{"key":"carrier_code","value":"[Carrier Code]","description":"선사 코드"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"},{"key":"status","value":"","description":"진행 상태","disabled":true}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_detail\": \"[page]: The value of the field must be greater than or equal to 1.\",\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-03-20T05:42:27.171506\"\n}"},{"id":"019d9e32-072c-49e0-bbb0-2881583d7af7","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/container-tracks/details/ai-eta?container_no=[Container No]&register_from=[Register From]&register_to=[Register To]&reference_no=[Reference No]&carrier_code=[Carrier Code]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","container-tracks","details","ai-eta"],"query":[{"key":"container_no","value":"[Container No]","description":"컨테이너 번호"},{"key":"register_from","value":"[Register From]","description":"등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"reference_no","value":"[Reference No]","description":"관리 번호"},{"key":"carrier_code","value":"[Carrier Code]","description":"선사 코드"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"},{"key":"status","value":"","description":"진행 상태","disabled":true}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"status\": 500,\n\t\"type\": \"Internal Server Error\",\n\t\"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"4e46b17b-d68e-4561-bbcf-9ccc9c40f824"}],"id":"7bcd80a8-1619-45ab-977c-8f3b8bf9aad8","description":"<h3 id=\"✅-ai-eta--개요\">✅ AI ETA — 개요</h3>\n<p>AI ETA는 선적 트래킹 API를 통해 등록된 화물에 대해 AI 기반 도착 예정 시간을 제공합니다.</p>\n<p>실시간 선박 데이터와 과거 운항 이력을 기반으로 선박의 도착 시간을 예측하며, 단일 ETA가 아닌 여러 도착 시나리오를 제공합니다.</p>\n<p>AI ETA는 선박 지연, 항만 혼잡 및 운항 일정 변경으로 인해 발생하는 운영상의 불확실성에 대비할 수 있도록 지원합니다.</p>\n<p>AI ETA는 단일 ETA 대신 확률 기반의 3가지 도착 시나리오를 제공합니다.</p>\n<h3 id=\"✅-예측-지표\">✅ 예측 지표</h3>\n<p>AI ETA는 확률 기반의 도착 예측 정보를 제공합니다.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>지표</th>\n<th>설명</th>\n<th>주요 활용</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>P50 (기준 예측)</strong></td>\n<td>AI가 예측한 가장 가능성이 높은 도착 시간</td>\n<td>기본 운영 계획 수립</td>\n</tr>\n<tr>\n<td><strong>P10 (조기 도착)</strong></td>\n<td>유리한 조건에서의 도착 시간 (약 10% 확률)</td>\n<td>조기 픽업 또는 출고 준비</td>\n</tr>\n<tr>\n<td><strong>P90 (지연 도착)</strong></td>\n<td>불리한 조건에서의 도착 시간 (약 10% 확률)</td>\n<td>지연 리스크 대비</td>\n</tr>\n<tr>\n<td><strong>도착 확률 (Arrival Probability)</strong></td>\n<td>P50 기준 ±1일 이내에 도착할 확률</td>\n<td>예측 신뢰도 판단</td>\n</tr>\n</tbody>\n</table>\n</div><p>P10과 P90 사이의 범위는 약 80% 신뢰구간(Confidence Interval) 을 의미하며, 낙관적·기준·보수적 도착 시나리오를 함께 검토할 수 있도록 지원합니다.</p>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>AI ETA는 해당 기능을 별도로 구독한 Ocean Visibility Enterprise Plan 고객에게만 제공되며, 선적 트래킹 API를 함께 사용해야 합니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n","_postman_id":"7bcd80a8-1619-45ab-977c-8f3b8bf9aad8"}],"id":"e1090c64-87e3-4bd8-9321-dc073aaead0f","description":"<h3 id=\"✅-선적-트래킹-api\">✅ 선적 트래킹 API</h3>\n<p>선적 트래킹 API는 Master B/L 및 Container Number와 같은 표준 물류 식별자를 기반으로 화물 추적 정보를 제공합니다.</p>\n<p>Tradlinx는 여러 선사의 화물 추적 데이터를 수집하고 표준화하여, 선사별 트래킹 시스템 및 데이터 형식과 관계없이 일관된 API 응답을 제공합니다.</p>\n<h3 id=\"✅-지원하는-트래킹-식별자\">✅ 지원하는 트래킹 식별자</h3>\n<p>일반적으로 사용되는 모든 물류 식별자를 지원하는 것은 아닙니다. 트래킹기능을 설계하기 전에 아래 표를 참고해 주세요.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>식별자</th>\n<th>지원 여부</th>\n<th>설명</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Master B/L</td>\n<td>✅</td>\n<td>트래킹에 권장되는 기본 식별자</td>\n</tr>\n<tr>\n<td>Container No.</td>\n<td>✅</td>\n<td>하나의 Master B/L에는 여러 개의 Container가 포함될 수 있습니다.</td>\n</tr>\n<tr>\n<td>Booking No.</td>\n<td>❌</td>\n<td>지원하지 않습니다.</td>\n</tr>\n<tr>\n<td>House B/L</td>\n<td>❌</td>\n<td>지원하지 않습니다.</td>\n</tr>\n<tr>\n<td>PO Number</td>\n<td>❌</td>\n<td>내부 관리용 식별자로 트래킹에는 사용할 수 없습니다.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"✅-제공되는-트래킹정보\">✅ 제공되는 트래킹정보</h3>\n<p>선적 트래킹 API는 선사 지원 여부에 따라 아래와 같은 정보를 제공합니다.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>데이터</th>\n<th>설명</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>POL</td>\n<td>Port of Loading</td>\n</tr>\n<tr>\n<td>POD</td>\n<td>Port of Discharge</td>\n</tr>\n<tr>\n<td>Origin</td>\n<td>출발지 (일부 선사만 제공)</td>\n</tr>\n<tr>\n<td>Destination</td>\n<td>최종 목적지 (일부 선사만 제공)</td>\n</tr>\n<tr>\n<td>TS Port</td>\n<td>환적 항구</td>\n</tr>\n<tr>\n<td>ETD / ETA</td>\n<td>선사가 제공하는 출발 예정일 및 도착 예정일</td>\n</tr>\n<tr>\n<td>ATD / ATA</td>\n<td>선사가 제공하는 실제 출발일 및 실제 도착일</td>\n</tr>\n<tr>\n<td>AIS 기반 ATD / ATA</td>\n<td>AIS 선박 데이터를 기반으로 계산한 실제 출발일 및 실제 도착일</td>\n</tr>\n<tr>\n<td>Container Information</td>\n<td>Container 번호, Size 및 Type</td>\n</tr>\n<tr>\n<td>Vessel Information</td>\n<td>선박명, IMO, MMSI, Call Sign, 항로 및 Voyage 정보</td>\n</tr>\n<tr>\n<td>Container Events</td>\n<td>Container Pickup, Gate In/Out, Vessel Event, Rail Event, Empty Return 등</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"e1090c64-87e3-4bd8-9321-dc073aaead0f"},{"name":"Webhook","item":[{"name":"B/L 트래킹","item":[{"name":"1. 웹훅 이벤트 목록 조회","id":"3c0d72b0-b7b8-4b10-af2f-167ccb436425","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/webhook/events?page=[Page]&size=[Size]&status=[Status]","description":"<ul>\n<li>클라이언트 계정에서 발생한 웹훅 전송 이력(성공/실패 포함)을 조회합니다.</li>\n<li>이벤트 데이터 보관 기간은 1개월이며, 이후 삭제됩니다.</li>\n</ul>\n<p><strong>응답 - Response</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>Event</td>\n<td>이벤트</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td>number</td>\n<td>content 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td>Pagination</td>\n<td>페이지 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>페이지 정보 - Pagination</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total_size</td>\n<td>number</td>\n<td>전체 데이터 크기</td>\n</tr>\n<tr>\n<td>total_page</td>\n<td>number</td>\n<td>최대 페이지 번호</td>\n</tr>\n<tr>\n<td>current_page</td>\n<td>number</td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>has_next</td>\n<td>boolean</td>\n<td>다음 페이지 존재 여부</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>이벤트 - Event</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Fields</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>string</td>\n<td>Webhook 이벤트 고유 ID</td>\n</tr>\n<tr>\n<td>event_name</td>\n<td>string</td>\n<td>발생한 Webhook 이벤트 이름</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td>Webhook 요청 결과 상태</td>\n</tr>\n<tr>\n<td>payload</td>\n<td>string</td>\n<td>실제 Webhook 요청 시 전송된 Raw JSON Payload</td>\n</tr>\n<tr>\n<td>payload_type</td>\n<td>string</td>\n<td>Payload 데이터가 테스트용(Mock) 데이터인지 여부를 구분할 수 있도록 상태를 제공합니다.</td>\n</tr>\n<tr>\n<td>payload_version</td>\n<td>string</td>\n<td>Payload 버전</td>\n</tr>\n<tr>\n<td>is_resendable</td>\n<td>boolean</td>\n<td>이벤트 재 수신 가능 여부</td>\n</tr>\n<tr>\n<td>occurred_datetime</td>\n<td>string</td>\n<td>이벤트가 발생한 시점 <code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>created_datetime</td>\n<td>string</td>\n<td>로그로 저장된 시점 <code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>상태 코드 상세 설명</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SUCCESS_RESPONSE</td>\n<td>Webhook 요청에 대해 상대 서버가 정상(2xx) 응답을 반환한 상태</td>\n</tr>\n<tr>\n<td>FAILURE_RESPONSE</td>\n<td>Webhook 요청에 대해 상대 서버가 정상(2xx) 응답을 반환하지 않은 상태</td>\n</tr>\n<tr>\n<td>DELIVERED</td>\n<td>Tradlinx에서 이벤트 발생했고, 대상 Endpoint로 요청 하기 전 상태</td>\n</tr>\n<tr>\n<td>FAILURE_UNKNOWN_HOST</td>\n<td>대상 Endpoint 호스트가 DNS에서 조회할 수 없는 상태</td>\n</tr>\n<tr>\n<td>FAILURE_REQUEST_TIMEOUT</td>\n<td>대상 Endpoint의 요청 시간이 초과 하는 상태</td>\n</tr>\n<tr>\n<td>FAILURE_CONNECTION_REFUSED</td>\n<td>대상 Endpoint 호스트가 연결 거부 했을 상태</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>페이로드 타입 설명</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MOCK</td>\n<td>테스트용 Paylaod</td>\n</tr>\n<tr>\n<td>REAL</td>\n<td>실제 이벤트로 발생한 Paylaod</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","webhook","events"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>(required) 페이지 번호 (최소 1)</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>(required) 페이지 크기 (1~1000)</p>\n","type":"text/plain"},"key":"size","value":"[Size]"},{"description":{"content":"<p>(required) 조회할 이벤트 상태: SUCCESS_RESPONSE, FAILURE_RESPONSE, DELIVERED, FAILURE_UNKNOWN_HOST, FAILURE_REQUEST_TIMEOUT, FAILURE_CONNECTION_REFUSED</p>\n","type":"text/plain"},"key":"status","value":"[Status]"}],"variable":[]}},"response":[{"id":"769fac2e-67f9-4998-b4b1-5e5685f4593d","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/webhook/events?page=[Page]&size=[Size]&status=[Status]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","webhook","events"],"query":[{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (1~1000)"},{"key":"status","value":"[Status]","description":"(required) 조회할 이벤트 상태: SUCCESS_RESPONSE, FAILURE_RESPONSE, DELIVERED, FAILURE_UNKNOWN_HOST, FAILURE_REQUEST_TIMEOUT, FAILURE_CONNECTION_REFUSED"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"content\": [\n    {\n      \"id\": \"8f6c1c4b-0ae4-4f31-9df7-2a13d5e4bc11\",\n      \"event_name\": \"SHIPMENT.BL.UPDATED\",\n      \"status\": \"SUCCESS_RESPONSE\",\n      \"payload\": \"{\\\"sample\\\": \\\"payload\\\"}\",\n      \"payload_type\": \"REAL\",\n      \"payload_version\": \"v1\",\n      \"is_resendable\": true,\n      \"occurred_datetime\": \"2025-12-10T14:22:11\",\n      \"created_datetime\": \"2025-12-10T14:22:12\"\n    },\n    {\n      \"id\": \"4c2a7512-9b5c-4bd1-bd0a-afb22d8c1120\",\n      \"event_name\": \"SHIPMENT.BL.UPDATED\",\n      \"status\": \"SUCCESS_RESPONSE\",\n      \"payload\": \"{\\\"sample\\\": \\\"payload\\\"}\",\n      \"payload_type\": \"REAL\",\n      \"payload_version\": \"v1\",\n      \"is_resendable\": false,\n      \"occurred_datetime\": \"2025-12-10T14:20:02\",\n      \"created_datetime\": \"2025-12-10T14:20:03\"\n    }\n  ],\n  \"pagination\": {\n    \"current_page\": 1,\n    \"has_next\": false,\n    \"total_page\": 10,\n    \"total_size\": 10\n  }\n}"}],"_postman_id":"3c0d72b0-b7b8-4b10-af2f-167ccb436425"},{"name":"2. 웹훅 이벤트 로그 조회","id":"112d0af5-e7f6-4d82-a443-539890659b23","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/webhook/events/:event_id/log","description":"<ul>\n<li>특정 웹훅 이벤트의 전체 시도 로그(HTTP 상태 코드, 응답 본문/헤더, 시도 시각)를 조회합니다.</li>\n<li>여러 번 재시도된 경우 모든 시도가 배열로 반환됩니다.</li>\n</ul>\n<p><strong>응답 - Response Body</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>EventLog</td>\n<td>이벤트 로그</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td>number</td>\n<td>content 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td>Pagination</td>\n<td>페이지 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>페이지 정보 - Pagination</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total_size</td>\n<td>number</td>\n<td>전체 데이터 크기</td>\n</tr>\n<tr>\n<td>total_page</td>\n<td>number</td>\n<td>최대 페이지 번호</td>\n</tr>\n<tr>\n<td>current_page</td>\n<td>number</td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>has_next</td>\n<td>boolean</td>\n<td>다음 페이지 존재 여부</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>이벤트 로그 - EventLog</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>number</td>\n<td>Attempt 고유 ID</td>\n</tr>\n<tr>\n<td>event_id</td>\n<td>string</td>\n<td>상위 Webhook Event ID</td>\n</tr>\n<tr>\n<td>request_cause</td>\n<td>string</td>\n<td>요청 발생 원인</td>\n</tr>\n<tr>\n<td>request_method</td>\n<td>string</td>\n<td>HTTP Method (POST 등)</td>\n</tr>\n<tr>\n<td>request_url</td>\n<td>string</td>\n<td>요청 대상 URL</td>\n</tr>\n<tr>\n<td>request_status</td>\n<td>string</td>\n<td>요청 상태 (SUCCESS / FAILED 등)</td>\n</tr>\n<tr>\n<td>request_datetime</td>\n<td>string</td>\n<td>요청 발생 시점 <code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>response_http_status</td>\n<td>number</td>\n<td>상대 서버의 HTTP Status Code</td>\n</tr>\n<tr>\n<td>response_body</td>\n<td>string</td>\n<td>상대 서버의 응답 바디 (Raw String)</td>\n</tr>\n<tr>\n<td>response_header</td>\n<td>string</td>\n<td>상대 서버의 응답 헤더 (Raw JSON String)</td>\n</tr>\n<tr>\n<td>response_datetime</td>\n<td>string</td>\n<td>응답 완료 시점 <code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>attempts</td>\n<td>number</td>\n<td>해당 이벤트의 누적 시도 횟수</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>requestCause  설명</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ON_EVENT</td>\n<td>정상적인 경우로, 이벤트 수신에 의해 웹훅 요청이 발생한 경우</td>\n</tr>\n<tr>\n<td>RETRY_ON_FAILURE_RESPONSE</td>\n<td>응답 실패를 이유로, 재시도 웹훅 요청이 발생한 경우</td>\n</tr>\n<tr>\n<td>RETRY_ON_FAILURE_REQUEST_TIMEOUT</td>\n<td>Request Timeout을 이유로, 재시도 웹훅 요청이 발생한 경우</td>\n</tr>\n<tr>\n<td>ON_API</td>\n<td>API를 사용해, 이벤트를 발행한 경우</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>requestStatus 설명</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PENDING</td>\n<td>Endpoint로 요청 하고 응답을 기다리는 상태</td>\n</tr>\n<tr>\n<td>SUCCESS</td>\n<td>Endpoint로 요청 하고 응답을 받은 상태</td>\n</tr>\n<tr>\n<td>FAILURE_UNKNOWN_HOST</td>\n<td>DNS에 조회되지 않는 HOST로 요청을 한 상태</td>\n</tr>\n<tr>\n<td>FAILURE_REQUEST_TIMEOUT</td>\n<td>대상 Endpoint 호스트가 DNS에서 조회할 수 없는 상태</td>\n</tr>\n<tr>\n<td>FAILURE_CONNECTION_REFUSED</td>\n<td>대상 Endpoint의 요청 시간이 초과 하는 상태</td>\n</tr>\n<tr>\n<td>UNKNOWN</td>\n<td>대상 Endpoint 호스트가 연결 거부 했을 상태</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","webhook","events",":event_id","log"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"9ea42713-9806-48dc-8d6d-ab52468b930f","description":{"content":"<p>조회할 Webhook Event ID</p>\n","type":"text/plain"},"type":"any","value":"","key":"event_id"}]}},"response":[{"id":"1643c261-80d8-470a-ba4e-a141531f6a09","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/webhook/events/:event_id/log","host":["https://api.tradlinx.com"],"path":["partners","track","v3","webhook","events",":event_id","log"],"variable":[{"key":"event_id","value":"","description":"조회할 Webhook Event ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"content\": [\n    {\n      \"id\": 101,\n      \"event_id\": \"8f6c1c4b-0ae4-4f31-9df7-2a13d5e4bc11\",\n      \"request_cause\": \"SUCCESS\",\n      \"request_method\": \"POST\",\n      \"request_url\": \"https://api.example.com/webhook\",\n      \"request_status\": \"SUCCESS\",\n      \"request_datetime\": \"2025-12-10T14:10:20.123456\",\n      \"response_http_status\": 200,\n      \"response_body\": \"{\\\"result\\\":\\\"ok\\\"}\",\n      \"response_header\": \"{\\\"Content-Type\\\":\\\"application/json\\\"}\",\n      \"response_datetime\": \"2025-12-10T14:10:20.543210\",\n      \"attempts\": 1\n    },\n    {\n      \"id\": 102,\n      \"event_id\": \"8f6c1c4b-0ae4-4f31-9df7-2a13d5e4bc11\",\n      \"request_cause\": \"SUCCESS\",\n      \"request_method\": \"POST\",\n      \"request_url\": \"https://api.example.com/webhook\",\n      \"request_status\": \"FAILED\",\n      \"request_datetime\": \"2025-12-10T14:12:05.333222\",\n      \"response_http_status\": 504,\n      \"response_body\": \"\",\n      \"response_header\": \"{\\\"Content-Type\\\":\\\"application/json\\\"}\",\n      \"response_datetime\": \"2025-12-10T14:12:10.888999\",\n      \"attempts\": 2\n    }\n  ],\n  \"pagination\": {\n    \"current_page\": 1,\n    \"has_next\": false,\n    \"total_page\": 10,\n    \"total_size\": 10\n  }\n}"}],"_postman_id":"112d0af5-e7f6-4d82-a443-539890659b23"},{"name":"3. 웹훅 이벤트 재전송","id":"0ca9fb55-fac6-40f1-8fe0-4fe1fa653c1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/webhook/events/:event_id","description":"<ul>\n<li><p>특정 Webhook Event를 강제로 다시 전송(retry)합니다.</p>\n</li>\n<li><p>해당 이벤트의 기존 상태(SUCCESS/FAILURE 등)와 관계없이 재시도를 진행합니다.</p>\n</li>\n<li><p>이벤트 데이터의 보관 기간은 1개월로 제한되며, 해당 기간 종료 후 삭제 처리됩니다. 삭제된 이벤트는 재발송 되지 않습니다.</p>\n</li>\n</ul>\n<p><strong>Path Variable</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Variable</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>eventId</td>\n<td>string</td>\n<td>재전송하고자 하는 Webhook Event ID</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","webhook","events",":event_id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"789a3cd4-8eec-4c66-aef0-23a07e3b5bb3","description":{"content":"<p>재전송할 Webhook Event ID</p>\n","type":"text/plain"},"type":"any","value":"","key":"event_id"}]}},"response":[{"id":"ec591c8b-ccac-4727-b31d-474e222077c0","name":"200 정상응답","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/webhook/events/:event_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","webhook","events",":event_id"],"variable":[{"key":"event_id","value":"","description":"재전송할 Webhook Event ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":""},{"id":"62a98081-a500-484a-bb20-689d42a75d92","name":"4xx Error","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/webhook/events/:event_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","webhook","events",":event_id"],"variable":[{"key":"event_id","value":"","description":"재전송할 Webhook Event ID"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n   \"error_detail\": \"NOT_FOUND_ENDPOINT\",\n   \"transaction_time\": \"2025-03-20T05:42:27.135265\"\n}"}],"_postman_id":"0ca9fb55-fac6-40f1-8fe0-4fe1fa653c1a"}],"id":"ecb99617-101f-48bd-8d86-5956a78ff4b1","description":"<h3 id=\"✅-bl-트래킹-webhook--개요\">✅ B/L 트래킹 Webhook — 개요</h3>\n<p>B/L 트래킹 Webhook은 등록된 B/L 트래킹의 추적 정보가 변경될 때 실시간으로 이벤트를 전달하는 기능입니다.</p>\n<p>Webhook 이벤트는 등록된 HTTPS Endpoint로 JSON Payload를 포함한 HTTP POST 요청 형태로 전송됩니다.</p>\n<p>각 이벤트는 이벤트 정보와 최신 선적 트래킹 정보가 포함된 Payload로 구성됩니다.</p>\n<h3 id=\"✅-이벤트-객체\">✅ 이벤트 객체</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"event_id\": \"31b1a972-677b-422c-a696-4228e3b5a8ff\",\n  \"event_occurred_at\": \"2025-12-01T04:22:15.805606262\",\n  \"event_name\": \"SHIPMENT.BL.UPDATED\",\n  \"payload\": {}\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Fields</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>event_id</td>\n<td>String</td>\n<td>이벤트를 식별하는 고유 식별자</td>\n</tr>\n<tr>\n<td>event_occurred_at</td>\n<td>String</td>\n<td>이벤트가 발생한 시간 <code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>event_name</td>\n<td>String</td>\n<td>발생한 이벤트 이름</td>\n</tr>\n<tr>\n<td>payload</td>\n<td>Object</td>\n<td>발생한 이벤트에 해당하는 페이로드 값이 전달 됩니다.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"✅-shipmentblupdated-payload\"><strong>✅ SHIPMENT.BL.UPDATED PAYLOAD</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"cargo_track_id\": \"3d8b1e76-8721-4e27-a98d-2bfb8193d4ee\",\n  \"line_cd\": \"HMM\",\n  \"bl_no\": \"HDMUPUSM12345678\",\n  \"cust_order_id\": \"REFERENCE_NO\",\n  \"cust_corp_name\": null,\n  \"cust_name\": null,\n  \"remark\": null,\n  \"is_active\": true,\n  \"registered_datetime\": \"2025-12-01T04:22:06.6305903Z\",\n  \"tracking_status\": \"TRACKING\",\n  \"is_container_plus\": true,\n  \"trade_type\": \"EXPRT\",\n  \"trans_type\": \"DIRECT\",\n  \"pol\": {\n    \"pol_name\": \"New Busan\",\n    \"pol_code\": \"KRBNP\",\n    \"init_etd\": \"2025-12-06T00:00:00+09:00\",\n    \"etd\": \"2025-12-06T00:00:00+09:00\",\n    \"atd\": null,\n    \"tx_atd\": \"2025-12-06T00:00:00+09:00\"\n  },\n  \"pod\": {\n    \"pod_name\": \"Manzanillo\",\n    \"pod_code\": \"MXZLO\",\n    \"init_eta\": \"2025-12-19T18:00:00-06:00\",\n    \"eta\": \"2025-12-19T18:00:00-06:00\",\n    \"ata\": null,\n    \"tx_ata\": null\n  },\n  \"current_vessel\": {\n    \"imo\": \"9976707\",\n    \"mmsi\": \"563262300\",\n    \"vessel_name\": \"ONE SAPPHIRE\",\n    \"voyage\": \"2547E\"\n  },\n  \"routes\": [\n    {\n      \"order\": 1,\n      \"pol_name\": \"New Busan\",\n      \"pol_code\": \"KRBNP\",\n      \"pod_name\": \"Manzanillo\",\n      \"pod_code\": \"MXZLO\",\n      \"imo\": \"9976707\",\n      \"mmsi\": \"563262300\",\n      \"vessel_name\": \"ONE SAPPHIRE\",\n      \"voyage\": \"2547E\",\n      \"init_etd\": \"2025-12-06T00:00:00+09:00\",\n      \"etd\": \"2025-12-06T00:00:00+09:00\",\n      \"atd\": null,\n      \"tx_atd\": \"2025-12-06T00:00:00+09:00\",\n      \"init_eta\": \"2025-12-19T18:00:00-06:00\",\n      \"eta\": \"2025-12-19T18:00:00-06:00\",\n      \"ata\": null,\n      \"tx_ata\": null\n    }\n  ],\n  \"containers\": [\n    {\n      \"cntr_no\": \"CAIU7471046\",\n      \"cntr_sz\": \"40\",\n      \"cntr_tp\": \"DC\",\n      \"container_events\": [\n        {\n          \"port_code\": \"KRPUS\",\n          \"event_type\": \"LOADING_ON_VESSEL\",\n          \"transportation\": \"VESSEL\",\n          \"is_actual\": true,\n          \"event_datetime\": \"2025-12-05T16:45:00+09:00\"\n        },\n        {\n          \"port_code\": \"KRPUS\",\n          \"event_type\": \"VESSEL_DEPARTURE_FROM_PORT\",\n          \"transportation\": \"VESSEL\",\n          \"is_actual\": true,\n          \"event_datetime\": \"2025-12-06T00:00:00+09:00\"\n        },\n        {\n          \"port_code\": \"MXZLO\",\n          \"event_type\": \"VESSEL_ARRIVAL_AT_PORT\",\n          \"transportation\": \"VESSEL\",\n          \"isActual\": false,\n          \"event_datetime\": \"2025-12-19T17:00:00-06:00\"\n        },\n        {\n          \"port_code\": \"MXZLO\",\n          \"event_type\": \"VESSEL_BERTHING_ON_PORT\",\n          \"transportation\": \"VESSEL\",\n          \"isActual\": false,\n          \"event_datetime\": \"2025-12-19T18:00:00-06:00\"\n        },\n        {\n          \"port_code\": \"MXZLO\",\n          \"event_type\": \"DISCHARGING_FROM_VESSEL\",\n          \"transportation\": \"VESSEL\",\n          \"isActual\": false,\n          \"event_datetime\": \"2025-12-20T11:02:24-06:00\"\n        }\n      ]\n    }\n  ]\n}\n\n</code></pre>\n<h5 id=\"payload\"><strong>Payload</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cargo_track_id</td>\n<td>String</td>\n<td>Cargo Tracking ID(선적 트래킹 고유 ID)</td>\n</tr>\n<tr>\n<td>line_cd</td>\n<td>String</td>\n<td>선사 코드(Carrier code)</td>\n</tr>\n<tr>\n<td>bl_no</td>\n<td>String</td>\n<td>B/L 번호</td>\n</tr>\n<tr>\n<td>cust_order_id</td>\n<td>String</td>\n<td>고객 주문번호(Reference/Order ID)</td>\n</tr>\n<tr>\n<td>cust_corp_name</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>cust_name</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>remark</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Tracking 활성 여부</td>\n</tr>\n<tr>\n<td>registered_datetime</td>\n<td>String</td>\n<td>등록 일시 (ISO-8601, 예: <code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>tracking_status</td>\n<td>String</td>\n<td>Tracking 상태 (예: INIT, PENDING, TRACKING, COMPLETE 등)</td>\n</tr>\n<tr>\n<td>is_container_plus</td>\n<td>Boolean</td>\n<td>Container Plus 사용 여부</td>\n</tr>\n<tr>\n<td>trade_type</td>\n<td>String</td>\n<td>수출/수입 구분 (EXPRT/IMPRT)</td>\n</tr>\n<tr>\n<td>trans_type</td>\n<td>String</td>\n<td>운송 타입 (예: DIRECT, TS 등)</td>\n</tr>\n<tr>\n<td>pol</td>\n<td>Object</td>\n<td>출발항(POL) 정보 객체</td>\n</tr>\n<tr>\n<td>pod</td>\n<td>Object</td>\n<td>도착항(POD) 정보 객체</td>\n</tr>\n<tr>\n<td>current_vessel</td>\n<td>Object</td>\n<td>현재 선박 정보 객체</td>\n</tr>\n<tr>\n<td>routes</td>\n<td><code>Array</code></td>\n<td>구간(레그) 정보 목록</td>\n</tr>\n<tr>\n<td>containers</td>\n<td><code>Array</code></td>\n<td>컨테이너 정보 목록</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"tracking-status\"><strong>Tracking Status</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>INIT</td>\n<td>대기 중: 최초로 Master B/L을 정보를 확인중</td>\n</tr>\n<tr>\n<td>PENDING</td>\n<td>재시도중: 정보 유효성 검증중</td>\n</tr>\n<tr>\n<td>EXPIRED</td>\n<td>7일간 추적을 시도했으나 정보 확인 실패</td>\n</tr>\n<tr>\n<td>BL_INVALID</td>\n<td>BL 입력 오류</td>\n</tr>\n<tr>\n<td>TRACKING</td>\n<td>정상 추적중</td>\n</tr>\n<tr>\n<td>COMPLETE</td>\n<td>목적지까지 운송이 완료되었거나 추적 기간 만료</td>\n</tr>\n<tr>\n<td>UNPAID</td>\n<td>크레딧 부족으로 추적할 수 없는 상태</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pol-정보\"><strong>POL 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pol.pol_name</td>\n<td>String</td>\n<td>출발항 이름</td>\n</tr>\n<tr>\n<td>pol.pol_code</td>\n<td>String</td>\n<td>출발항 코드</td>\n</tr>\n<tr>\n<td>pol.init_etd</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>pol.etd</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>pol.atd</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>pol.tx_atd</td>\n<td>String</td>\n<td>null</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pod-정보\">POD 정보</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pod.pod_name</td>\n<td>String</td>\n<td>도착항 이름</td>\n</tr>\n<tr>\n<td>pod.pod_code</td>\n<td>String</td>\n<td>도착항 코드</td>\n</tr>\n<tr>\n<td>pod.init_eta</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>pod.eta</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>pod.ata</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>pod.tx_ata</td>\n<td>String</td>\n<td>null</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"current-vessel-정보\">Current Vessel 정보</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>current_vessel.imo</td>\n<td>String</td>\n<td>IMO 번호</td>\n</tr>\n<tr>\n<td>current_vessel.mmsi</td>\n<td>String</td>\n<td>MMSI 번호</td>\n</tr>\n<tr>\n<td>current_vessel.vessel_name</td>\n<td>String</td>\n<td>선박명</td>\n</tr>\n<tr>\n<td>current_vessel.voyage</td>\n<td>String</td>\n<td>항차</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"routes\">routes[*]</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>routes[].order</td>\n<td>Number</td>\n<td>구간 순서</td>\n</tr>\n<tr>\n<td>routes[].pol_name</td>\n<td>String</td>\n<td>출발항 이름</td>\n</tr>\n<tr>\n<td>routes[].pol_code</td>\n<td>String</td>\n<td>출발항 코드</td>\n</tr>\n<tr>\n<td>routes[].pod_name</td>\n<td>String</td>\n<td>도착항 이름</td>\n</tr>\n<tr>\n<td>routes[].pod_code</td>\n<td>String</td>\n<td>도착항 코드</td>\n</tr>\n<tr>\n<td>routes[].imo</td>\n<td>String</td>\n<td>IMO 번호</td>\n</tr>\n<tr>\n<td>routes[].mmsi</td>\n<td>String</td>\n<td>MMSI 번호</td>\n</tr>\n<tr>\n<td>routes[].vessel_name</td>\n<td>String</td>\n<td>선박명</td>\n</tr>\n<tr>\n<td>routes[].voyage</td>\n<td>String</td>\n<td>항차</td>\n</tr>\n<tr>\n<td>routes[].init_etd</td>\n<td>String</td>\n<td>초기 수집된 ETD <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n<tr>\n<td>routes[].etd</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>routes[].atd</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>routes[].tx_atd</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>routes[].init_eta</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>routes[].eta</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>routes[].ata</td>\n<td>String</td>\n<td>null</td>\n</tr>\n<tr>\n<td>routes[].tx_ata</td>\n<td>String</td>\n<td>null</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"containers\">containers[*]</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>containers[].cntr_no</td>\n<td>String</td>\n<td>컨테이너 번호</td>\n</tr>\n<tr>\n<td>containers[].cntr_sz</td>\n<td>String</td>\n<td>사이즈</td>\n</tr>\n<tr>\n<td>containers[].cntr_tp</td>\n<td>String</td>\n<td>타입</td>\n</tr>\n<tr>\n<td>containers[].seal_no</td>\n<td>String</td>\n<td>시리얼넘버</td>\n</tr>\n<tr>\n<td>containers[].container_events</td>\n<td>Array</td>\n<td>컨테이너 이벤트 목록</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>containers[].containerEvents[*]</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>containers[].container_events[].port_code</td>\n<td>String</td>\n<td>항만 코드</td>\n</tr>\n<tr>\n<td>containers[].container_events[].event_type</td>\n<td>String</td>\n<td>이벤트 타입</td>\n</tr>\n<tr>\n<td>containers[].container_events[].transportation</td>\n<td>String</td>\n<td>운송수단</td>\n</tr>\n<tr>\n<td>containers[].container_events[].is_actual</td>\n<td>Boolean</td>\n<td>실제 여부</td>\n</tr>\n<tr>\n<td>containers[].container_events[].event_datetime</td>\n<td>String</td>\n<td>이벤트 발생 시간 <code>yyyy-MM-dd'T'HH:mm:ssXXX</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"컨테이너-이벤트-유형\">컨테이너 이벤트 유형</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CONTAINER_PICK_UP</td>\n<td>컨테이너 픽업</td>\n</tr>\n<tr>\n<td>LOADING_ON_VESSEL</td>\n<td>선적</td>\n</tr>\n<tr>\n<td>VESSEL_DEPARTURE_FROM_PORT</td>\n<td>출항</td>\n</tr>\n<tr>\n<td>VESSEL_ARRIVAL_AT_PORT</td>\n<td>입항</td>\n</tr>\n<tr>\n<td>VESSEL_BERTHING_ON_PORT</td>\n<td>접안</td>\n</tr>\n<tr>\n<td>DISCHARGING_FROM_VESSEL</td>\n<td>양하</td>\n</tr>\n<tr>\n<td>GATE_IN</td>\n<td>터미널 또는 컨테이너 야드 반입</td>\n</tr>\n<tr>\n<td>GATE_OUT</td>\n<td>터미널 또는 컨테이너 야드 반출</td>\n</tr>\n<tr>\n<td>RAIL_LOADING</td>\n<td>기차 상차</td>\n</tr>\n<tr>\n<td>RAIL_DEPARTURE</td>\n<td>기차 출발</td>\n</tr>\n<tr>\n<td>RAIL_ARRIVAL</td>\n<td>기차 도착</td>\n</tr>\n<tr>\n<td>RAIL_UNLOADING</td>\n<td>기차 하차</td>\n</tr>\n<tr>\n<td>PICKING_UP_BY_CONSIGNEE</td>\n<td>수화인이 화물을 인도받기 위해 픽업 중인 상태</td>\n</tr>\n<tr>\n<td>DELIVERING_TO_CONSIGNEE</td>\n<td>화물이 수화인에게 배송 중인 상태</td>\n</tr>\n<tr>\n<td>EMPTY_CONTAINER_RETURN</td>\n<td>컨테이너 반납</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"운송-수단-유형\">운송 수단 유형</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>VESSEL</td>\n<td>선박</td>\n</tr>\n<tr>\n<td>FEEDER</td>\n<td>소형 컨테이너 선박</td>\n</tr>\n<tr>\n<td>BARGE</td>\n<td>동력이 없거나 적은 화물 운송용 선박</td>\n</tr>\n<tr>\n<td>RAIL</td>\n<td>기차</td>\n</tr>\n<tr>\n<td>TRUCK</td>\n<td>화물차</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"✅-시작하기\"><strong>✅ 시작하기</strong></h2>\n<p>Webhook 이벤트를 수신하려면 Webhook 요청을 처리할 수 있는 HTTPS Endpoint를 운영해야 합니다.</p>\n<p>아래 절차에 따라 Endpoint를 등록하고 테스트해 주세요.</p>\n<hr />\n<h3 id=\"1-webhook-endpoint-함수-만들기\"><strong>1. Webhook Endpoint 함수 만들기</strong></h3>\n<p>Tradlinx Webhook은 JSON Payload로 전달됩니다.</p>\n<p>따라서 Webhook 요청을 처리할 수 있는 HTTPS Endpoint를 반드시 구현해야 합니다.</p>\n<h4 id=\"endpoint-구성-가이드\">Endpoint 구성 가이드</h4>\n<ul>\n<li><p>Endpoint 호스트는 HTTPS 프로토콜만 지원합니다.</p>\n</li>\n<li><p>구독하고자 하는 이벤트와 해당 이벤트에서 지원하는 HTTP Method(<code>GET</code>, <code>POST</code> 등)를 허용하는 Endpoint를 구현해야 합니다.</p>\n</li>\n<li><p>요청 본문(Request Body)은 JSON Payload입니다.</p>\n</li>\n<li><p>Payload를 수신한 후 HTTP Status는 2xx(200, 201 등)를 반환해야 정상 수신으로 기록됩니다.</p>\n<ul>\n<li>그 외 Status는 정상 수신으로 기록되지 않으며, 실패가 반복되는 경우 Endpoint가 비활성 상태로 전환될 수 있습니다.</li>\n</ul>\n</li>\n<li><p>Payload는 가능한 한 빠르게 처리해야 합니다.</p>\n<ul>\n<li><p>Webhook 전송량이 급증하는 경우 Endpoint 호스트에 과부하가 발생할 수 있습니다.</p>\n</li>\n<li><p>응답 대기 시간이 10초를 초과하는 경우가 3회 이상 반복되면 Endpoint가 비활성 상태로 전환될 수 있습니다.</p>\n</li>\n<li><p>이러한 문제를 예방하기 위해 비동기(Asynchronous) 처리를 권장합니다.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"endpoint가-수행해야-하는-권장-로직\">Endpoint가 수행해야 하는 권장 로직</h4>\n<ul>\n<li><p>수신한 JSON Payload를 파싱합니다.</p>\n</li>\n<li><p><code>event_id</code>, <code>event_name</code>, <code>event_occurred_at</code>, <code>payload.cargo_track_id</code> 등 주요 필드를 추출합니다.</p>\n</li>\n<li><p><code>event_id</code>는 추후 실패한 이벤트를 재전송하는 데 사용할 수 있습니다.</p>\n</li>\n<li><p>수신 성공 여부를 모니터링 시스템에 기록합니다.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"2-endpoint-등록\"><strong>2. Endpoint 등록</strong></h3>\n<ul>\n<li><p>현재, Webhook Endpoint는 Tradlinx 에서 직접 관리하고 있습니다.</p>\n</li>\n<li><p>아래 내용을 포함하여 [<a href=\"https://mailto:tech.support@tradlinx.com\">tech.support@tradlinx.com</a>]으로 전달해 주세요.</p>\n<ul>\n<li>현재 지원하고 있는 이벤트는 <code>SHIPMENT.BL.UPDATED</code>이며, <code>HTTP METHOD: POST</code> 로만 요청합니다.</li>\n</ul>\n</li>\n</ul>\n<p><strong>제출 항목</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Item</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>등록할 이벤트명</td>\n<td>SHIPMENT.BL.UPDATED</td>\n</tr>\n<tr>\n<td>Webhook Endpoint URL</td>\n<td>외부에서 접근 가능한 HTTPS URLhttps:///</td>\n</tr>\n<tr>\n<td>Authorization</td>\n<td>Tradlinx는 기본적으로 <strong>HTTP Basic Authentication</strong>을 지원합니다. Webhook Endpoint 등록 시 <strong>Username</strong>과 <strong>Password</strong>를 전달해 주세요. Webhook 발송 시 Authorization 헤더에 Basic {credentials} 형태로 포함되며, {credentials}는 username:password 문자열을 <strong>Base64 인코딩</strong>한 값입니다. Basic Auth 외에 추가/커스텀 헤더가 필요하면 별도 협의가 필요합니다.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-테스트\"><strong>3. 테스트</strong></h3>\n<ul>\n<li><p>Webhook Endpoint 등록이 완료되면 테스트용 Mock 이벤트가 자동 생성됩니다.</p>\n</li>\n<li><p>아래 API를 사용하면 Tradlinx 에서 제공하는 Webhook 이벤트 목록을 조회하거나, Mock 이벤트를 직접 재발송하여 Endpoint로 수동 발행할 수 있습니다.</p>\n</li>\n<li><p>Mock 이벤트 재발행 기능을 활용해 Webhook Endpoint가 정상적으로 동작하는지 테스트하세요.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"4-webhook-이벤트-처리하기-tracking-데이터-업데이트\"><strong>4. Webhook 이벤트 처리하기 (Tracking 데이터 업데이트)</strong></h3>\n<ul>\n<li><p>Webhook을 정상적으로 수신하려면 API 또는 SaaS(OceanVisibility)를 통해 구독하고자 하는 Tracking 대상 선적을 등록해야 합니다.</p>\n</li>\n<li><p>등록된 Tracking 대상 선적중 진행 상태 변경, 선적 상태 변경이 발생한 선적을 대상으로 Webhook이 발송됩니다.</p>\n</li>\n<li><p>Webhook 이벤트 수신 시 아래 가이드를 참고하여 데이터를 처리합니다.</p>\n</li>\n</ul>\n<h3 id=\"✅-가이드\"><strong>✅ 가이드</strong></h3>\n<ul>\n<li><p>선적 등록 시 저장하는 등록시 반환하는 `cargo_track_id`를 저장합니다.</p>\n</li>\n<li><p>이벤트 발생 시 업데이트 되는 Event Payload 담긴 선적 데이터의 식별자는 등록시 반환 되었던 `cargo_track_id` 입니다.</p>\n</li>\n<li><p>`cargo_track_id`를 기준으로, 데이터를 저장하거나 업데이트 하세요.</p>\n<ul>\n<li><p>`cargo_track_id`가 저장소에 존재하지 않는 경우, 신규 선적 데이터로 저장합니다.</p>\n</li>\n<li><p>`cargo_track_id`가 저장소에 존재한다면, `event_occurred_at`을 기준으로 더 최신 데이터를 찾아, 업데이트 합니다.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"✅-webhook-재시도자동-재시도--수동-재시도\"><strong>✅ Webhook 재시도(자동 재시도 + 수동 재시도)</strong></h2>\n<ul>\n<li><p>Webhook Endpoint에서 이벤트 수신에 실패할 경우 Tradkinx는 초기 대기시간 2초 이후, 지수 백오프(Exponential Backoff) 전략을 사용하여 최대 3회까지 자동 재시도를 수행합니다.</p>\n</li>\n<li><p>자동 재시도에도 불구하고 이벤트를 받지 못한 경우, 사용자는 API 문서에서 제공하는 이벤트 목록 조회 API를 통해 실패한 이벤트를 확인할 수 있습니다.</p>\n</li>\n<li><p>특정 이벤트를 다시 수신하고 싶다면 조회한 `event_id`를 사용하여 Webhook 이벤트 재전송 API를 호출하면 해당 이벤트를 즉시 다시 받아볼 수 있습니다.</p>\n</li>\n</ul>\n<h2 id=\"✅-중복-이벤트-처리\"><strong>✅ 중복 이벤트 처리</strong></h2>\n<p>네트워크 상황 또는 재시도 정책에 따라, Webhook Endpoint는 동일한 이벤트를 여러 번 수신할 수 있습니다.</p>\n<p>Tradlinx는 재시도 시 동일한 <code>event_id</code>로 다시 전송하므로, 수신 측(클라이언트)의 Endpoint에서는 중복 이벤트 처리 방지 로직을 구현해야 합니다.</p>\n<p>중복 방지 규칙</p>\n<ul>\n<li><p>이벤트 수신 시 <code>event_id</code> 기준으로 이미 처리된 이벤트인지 기록합니다.</p>\n</li>\n<li><p>동일한 <code>event_id</code>가 다시 수신된 경우, 이는 재시도된 이벤트이므로 <code>occurred_datetime</code> 값을 확인하여 최신 이벤트인지 여부를 판단합니다.</p>\n</li>\n<li><p>이미 동일한 <code>event_id</code>에 대해 처리가 완료된 상태라면, 비즈니스 로직을 다시 실행하지 않고 무시해야 합니다.</p>\n</li>\n</ul>\n<h4 id=\"권장-방식\">권장 방식</h4>\n<ul>\n<li><p><code>event_id</code>를 기준으로 데이터베이스, Redis, 또는 기타 스토리지에 “처리 완료” 상태를 기록합니다.</p>\n</li>\n<li><p>재수신된 이벤트가 존재할 경우 즉시 무시하거나 로깅만 수행하도록 합니다.</p>\n</li>\n</ul>\n","_postman_id":"ecb99617-101f-48bd-8d86-5956a78ff4b1"}],"id":"51fa71ba-a7de-4b60-84f1-8d76cc9aff52","_postman_id":"51fa71ba-a7de-4b60-84f1-8d76cc9aff52","description":""},{"name":"선박 트래킹 API","item":[{"name":"1. 선박 검색","id":"9690ae0b-e182-4c6d-95f3-146faef524b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/search?keyword=[Keyword]","description":"<ul>\n<li>IMO 번호, MMSI, Call Sign 또는 선박명을 이용하여 선박을 조회합니다.</li>\n</ul>\n<h5 id=\"선박-검색-응답--response-body\"><strong>선박 검색 응답 – Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>기타</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>SearchVesselInfo</code></td>\n<td>선박 정보</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>string</code></td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답 제공 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>number</code></td>\n<td>content 크기</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"searchvesselinfo--선박-정보\"><strong>SearchVesselInfo – 선박 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vessel_id</td>\n<td><code>number</code></td>\n<td>Tradlinx 내부 선박 식별자</td>\n</tr>\n<tr>\n<td>imo_no</td>\n<td><code>string</code></td>\n<td>IMO 번호</td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td><code>string</code></td>\n<td>MMSI</td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td><code>string</code></td>\n<td>선박명</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","vessel-tracks","search"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>IMO No, MMSI, Call Sign, 선박명</p>\n","type":"text/plain"},"key":"keyword","value":"[Keyword]"}],"variable":[]}},"response":[{"id":"44309121-71a5-4032-a829-78a2a010c599","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/search?keyword=[Keyword]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","vessel-tracks","search"],"query":[{"key":"keyword","value":"[Keyword]","description":"IMO No, MMSI, Call Sign, 선박명"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"call_sign\": \"SAMPLE_CALL_SIGN\",\n      \"imo_no\": \"SAMPLE_IMO_NO\",\n      \"mmsi\": \"SAMPLE_MMSI\",\n      \"vessel_id\": 1,\n      \"vessel_name\": \"SAMPLE_VESSEL_NAME\"\n    }\n  ],\n  \"size\": 1,\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-08-21T06:15:46.608323\"\n}"}],"_postman_id":"9690ae0b-e182-4c6d-95f3-146faef524b6"},{"name":"2. 선박 트래킹 요청","id":"7bea3b16-f763-49eb-951f-20c7b83a38bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n      \"auto_renewal\": true,\n      \"remark\": \"SAMPLE_REMARK\",\n      \"track_group\": \"SAMPLE_TRACK_GROUP\",\n      \"vessel_id\": 1\n    }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/enroll","description":"<ul>\n<li><p>선박을 트래킹 대상으로 등록합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 선박만 등록할 수 있습니다.</p>\n</li>\n<li><p>활성 상태의 트래킹 정보가 존재하는 선박은 중복 등록할 수 없습니다.</p>\n</li>\n<li><p>트래킹이 만료된 선박은 새로운 트래킹 요청을 통해 다시 등록할 수 있습니다.</p>\n</li>\n<li><p>트래킹 기간은 등록일로부터 1개월입니다.</p>\n</li>\n<li><p><code>auto_renewal</code>을 활성화하면 만료 전에 Tracking 기간이 자동으로 1개월 연장되며, 이에 해당하는 Credit이 자동으로 차감됩니다.</p>\n</li>\n</ul>\n<h5 id=\"추적-요청-데이터\"><strong>추적 요청 데이터</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*vessel_id</td>\n<td><code>number</code></td>\n<td></td>\n<td>Tradlinx 내부 선박 식별자</td>\n<td></td>\n</tr>\n<tr>\n<td>remark</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>비고</td>\n<td>최대 400자</td>\n</tr>\n<tr>\n<td>track_group</td>\n<td><code>string</code></td>\n<td>200</td>\n<td>추적 그룹</td>\n<td>최대 200자</td>\n</tr>\n<tr>\n<td>auto_renewal</td>\n<td><code>boolean</code></td>\n<td></td>\n<td>자동 갱신 여부</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"추적-요청-응답--response-body\"><strong>추적 요청 응답 – Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>기타</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>SuccessFail</code></td>\n<td>성공/실패 구분</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>string</code></td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답 제공 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"successfail--성공실패-구분\"><strong>SuccessFail – 성공/실패 구분</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>success</td>\n<td><code>Success[]</code></td>\n<td>등록 성공 데이터 요약</td>\n</tr>\n<tr>\n<td>success_count</td>\n<td><code>number</code></td>\n<td>등록에 성공한 데이터 개수</td>\n</tr>\n<tr>\n<td>fail</td>\n<td><code>Fail[]</code></td>\n<td>등록 실패 데이터 요약</td>\n</tr>\n<tr>\n<td>fail_count</td>\n<td><code>number</code></td>\n<td>등록에 실패한 데이터 개수</td>\n</tr>\n<tr>\n<td>total_count</td>\n<td><code>number</code></td>\n<td>요청 총 개수</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"success\"><strong>Success</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vessel_track_id</td>\n<td><code>number</code></td>\n<td>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</td>\n</tr>\n<tr>\n<td>vessel_id</td>\n<td><code>number</code></td>\n<td>Tradlinx 내부 선박 식별자</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"fail\"><strong>Fail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>data</td>\n<td><code>FailData</code></td>\n<td>실패한 데이터 요약</td>\n</tr>\n<tr>\n<td>reason</td>\n<td><code>string</code></td>\n<td>실패 사유</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"faildata\"><strong>FailData</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vessel_id</td>\n<td><code>number</code></td>\n<td>Tradlinx 내부 선박 식별자</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","vessel-tracks","enroll"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"79e604c0-6eab-4c2e-b31f-1cc7839b09ec","name":"200 정상응답","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n      \"auto_renewal\": true,\n      \"remark\": \"SAMPLE_REMARK\",\n      \"track_group\": \"SAMPLE_TRACK_GROUP\",\n      \"vessel_id\": 1\n    }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/enroll"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": {\n    \"fail\": [\n      {\n        \"data\": {\n          \"vessel_id\": 2\n        },\n        \"reason\": \"SAMPLE_REASON\"\n      }\n    ],\n    \"fail_count\": 1,\n    \"success\": [\n      {\n        \"vessel_id\": 1,\n        \"vessel_track_id\": 1\n      }\n    ],\n    \"success_count\": 1,\n    \"total_count\": 2\n  },\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-08-21T06:29:01.608323\"\n}"}],"_postman_id":"7bea3b16-f763-49eb-951f-20c7b83a38bd"},{"name":"3. 선박 트래킹 목록 조회","id":"97c97729-bf90-4c05-a688-15147d6b45ed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/vessel-tracks?status=[Status]&register_from=[Register From]&register_to=[Register To]&keyword=[Keyword]&vessel_track_ids=[Vessel Track ID],[Vessel Track ID]&page=[Page]&size=[Size]","description":"<ul>\n<li>등록된 선박 트래킹 목록을 조회합니다.</li>\n</ul>\n<h5 id=\"response-body\"><strong>Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>기타</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>VesselTrackSummary</code></td>\n<td>선박 추적 요약 정보</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>string</code></td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답 제공 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>number</code></td>\n<td>content 크기</td>\n<td></td>\n</tr>\n<tr>\n<td>pagination</td>\n<td><code>Pagination</code></td>\n<td>페이지 정보</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"페이지-정보---pagination\"><strong>페이지 정보 - Pagination</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total_size</td>\n<td><code>number</code></td>\n<td>전체 데이터 크기</td>\n</tr>\n<tr>\n<td>total_page</td>\n<td><code>number</code></td>\n<td>최대 페이지 번호</td>\n</tr>\n<tr>\n<td>current_page</td>\n<td><code>number</code></td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>has_next</td>\n<td><code>boolean</code></td>\n<td>다음 페이지 존재 여부</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"vesseltracksummary--선박-추적-요약-정보\"><strong>VesselTrackSummary – 선박 추적 요약 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vessel_track_id</td>\n<td><code>number</code></td>\n<td>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</td>\n</tr>\n<tr>\n<td>vessel_id</td>\n<td><code>number</code></td>\n<td>Tradlinx 내부 선박 식별자</td>\n</tr>\n<tr>\n<td>remark</td>\n<td><code>string</code></td>\n<td>비고</td>\n</tr>\n<tr>\n<td>track_group</td>\n<td><code>string</code></td>\n<td>추적 그룹</td>\n</tr>\n<tr>\n<td>auto_renewal</td>\n<td><code>boolean</code></td>\n<td>자동 갱신 여부</td>\n</tr>\n<tr>\n<td>vessel</td>\n<td><code>VesselInfo</code></td>\n<td>선박 정보</td>\n</tr>\n<tr>\n<td>registered_datetime</td>\n<td><code>string</code></td>\n<td>등록 일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>expired_datetime</td>\n<td><code>string</code></td>\n<td>만료 일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>updated_datetime</td>\n<td><code>string</code></td>\n<td>업데이트 일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"vesselinfo--선박-정보\"><strong>VesselInfo – 선박 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vessel_id</td>\n<td><code>number</code></td>\n<td>Tradlinx 내부 선박 식별자</td>\n</tr>\n<tr>\n<td>imo_no</td>\n<td><code>string</code></td>\n<td>IMO 번호</td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td><code>string</code></td>\n<td>MMSI</td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td><code>string</code></td>\n<td>선박명</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","vessel-tracks"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>TRACKING, DELETED, EXPIRED, PENDING</p>\n","type":"text/plain"},"key":"status","value":"[Status]"},{"description":{"content":"<p>등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_from","value":"[Register From]"},{"description":{"content":"<p>등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"register_to","value":"[Register To]"},{"description":{"content":"<p>IMO No, MMSI, Call Sign, 선박명</p>\n","type":"text/plain"},"key":"keyword","value":"[Keyword]"},{"description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디 목록</p>\n","type":"text/plain"},"key":"vessel_track_ids","value":"[Vessel Track ID],[Vessel Track ID]"},{"description":{"content":"<p>(required) 페이지 번호 (최소: 1)</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>(required) 페이지 크기 (범위: 1~50)</p>\n","type":"text/plain"},"key":"size","value":"[Size]"}],"variable":[]}},"response":[{"id":"b31f2a26-93cd-479c-8880-134b0133c703","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/vessel-tracks?status=[Status]&register_from=[Register From]&register_to=[Register To]&keyword=[Keyword]&vessel_track_ids=[Vessel Track ID],[Vessel Track ID]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","vessel-tracks"],"query":[{"key":"status","value":"[Status]","description":"TRACKING, DELETED, EXPIRED, PENDING"},{"key":"register_from","value":"[Register From]","description":"등록일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"register_to","value":"[Register To]","description":"등록일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"keyword","value":"[Keyword]","description":"IMO No, MMSI, Call Sign, 선박명"},{"key":"vessel_track_ids","value":"[Vessel Track ID],[Vessel Track ID]","description":"선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디 목록"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"expired_datetime\": \"2025-08-21T07:45:24Z\",\n      \"registered_datetime\": \"2025-08-21T07:45:24Z\",\n      \"remark\": \"SAMPLE_REMARK\",\n      \"status\": \"TRACKING\",\n      \"track_group\": \"SAMPLE_TRACK_GROUP\",\n      \"updated_datetime\": \"2025-08-21T07:45:24Z\",\n      \"vessel\": {\n        \"call_sign\": \"SAMPLE_CALL_SIGN\",\n        \"imo_no\": \"SAMPLE_IMO_NO\",\n        \"mmsi\": \"SAMPLE_MMSI\",\n        \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n        \"vessel_id\": 1\n      },\n      \"vessel_track_id\": 1\n    }\n  ],\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"pagination\": {\n    \"current_page\": 1,\n    \"has_next\": false,\n    \"total_page\": 1,\n    \"total_size\": 1\n  },\n  \"size\": 1,\n  \"transaction_time\": \"2025-08-21T07:45:24.608323\"\n}"}],"_postman_id":"97c97729-bf90-4c05-a688-15147d6b45ed"},{"name":"4. 선박 트래킹 상세 조회","id":"dfb9874f-2228-4d40-98b3-de24c525d683","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/:vessel_track_id","description":"<ul>\n<li><p>선박의 상세 운항 정보 및 이동 정보를 조회합니다.</p>\n</li>\n<li><p><code>status</code>가 <code>TRACKING</code>인 경우에만 상세 조회가 가능합니다.</p>\n</li>\n</ul>\n<h5 id=\"response-body\"><strong>Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>기타</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>VesselTrackDetail</code></td>\n<td>선박 추적 상세 정보</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>string</code></td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답 제공 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"vesseltrackdetail--선박-추적-상세-정보\"><strong>VesselTrackDetail – 선박 추적 상세 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vessel_track_id</td>\n<td><code>number</code></td>\n<td>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</td>\n</tr>\n<tr>\n<td>vessel_id</td>\n<td><code>number</code></td>\n<td>Tradlinx 내부 선박 식별자</td>\n</tr>\n<tr>\n<td>remark</td>\n<td><code>string</code></td>\n<td>비고</td>\n</tr>\n<tr>\n<td>track_group</td>\n<td><code>string</code></td>\n<td>추적 그룹</td>\n</tr>\n<tr>\n<td>auto_renewal</td>\n<td><code>boolean</code></td>\n<td>자동 갱신 여부</td>\n</tr>\n<tr>\n<td>vessel</td>\n<td><code>VesselInfo</code></td>\n<td>선박 정보</td>\n</tr>\n<tr>\n<td>port_in_out_schedules</td>\n<td><code>PortInOutSchedule</code></td>\n<td>스케줄 정보 목록</td>\n</tr>\n<tr>\n<td>registered_datetime</td>\n<td><code>string</code></td>\n<td>등록 일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>expired_datetime</td>\n<td><code>string</code></td>\n<td>만료 일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n<tr>\n<td>updated_datetime</td>\n<td><code>string</code></td>\n<td>업데이트 일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"vesselinfo--선박-정보\"><strong>VesselInfo – 선박 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vessel_id</td>\n<td><code>number</code></td>\n<td>선박 아이디</td>\n</tr>\n<tr>\n<td>imo_no</td>\n<td><code>string</code></td>\n<td>IMO 번호</td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td><code>string</code></td>\n<td>MMSI</td>\n</tr>\n<tr>\n<td>vessel_name</td>\n<td><code>string</code></td>\n<td>선박명</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"portinoutschedule--스케줄-정보\"><strong>PortInOutSchedule – 스케줄 정보</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>departure_datetime</td>\n<td><code>string</code></td>\n<td>출항 일시 (ISO 8601 날짜 형식: <code>yyyy-MM-dd'T'HH:mm:ssXXX</code>)</td>\n</tr>\n<tr>\n<td>arrival_datetime</td>\n<td><code>string</code></td>\n<td>입항 일시 (ISO 8601 날짜 형식: <code>yyyy-MM-dd'T'HH:mm:ssXXX</code>)</td>\n</tr>\n<tr>\n<td>is_actual</td>\n<td><code>boolean</code></td>\n<td>실제 발생 여부</td>\n</tr>\n<tr>\n<td>port_name</td>\n<td><code>string</code></td>\n<td>항구명</td>\n</tr>\n<tr>\n<td>data_source</td>\n<td><code>string</code></td>\n<td>데이터 원천 (<code>PORT_CALL</code> 또는 선사 코드)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","vessel-tracks",":vessel_track_id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"c39c21da-e39e-47d2-a417-f80405bd18a6","description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"vessel_track_id"}]}},"response":[{"id":"63770204-e411-4d61-8abd-4d635eaf1ff5","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/:vessel_track_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","vessel-tracks",":vessel_track_id"],"variable":[{"key":"vessel_track_id","value":"","description":"선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"expired_datetime\": \"2025-08-21T07:45:24Z\",\n      \"registered_datetime\": \"2025-08-21T07:45:24Z\",\n      \"remark\": \"SAMPLE_REMARK\",\n      \"status\": \"TRACKING\",\n      \"track_group\": \"SAMPLE_TRACK_GROUP\",\n      \"updated_datetime\": \"2025-08-21T07:45:24Z\",\n      \"vessel\": {\n        \"call_sign\": \"SAMPLE_CALL_SIGN\",\n        \"imo_no\": \"SAMPLE_IMO_NO\",\n        \"mmsi\": \"SAMPLE_MMSI\",\n        \"vessel_name\": \"SAMPLE_VESSEL_NAME\",\n        \"vessel_id\": 1\n      },\n      \"port_in_out_schedules\": [\n        {\n          \"arrival_datetime\": \"2025-01-01T00:00:00+09:00\",\n          \"data_source\": \"PORT_CALL\",\n          \"departure_datetime\": \"2025-01-01T00:00:00+09:00\",\n          \"is_actual\": true,\n          \"port_name\": \"SAMPLE_PORT_NAME\"\n        }\n      ],\n      \"vessel_track_id\": 1\n    }\n  ],\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-08-21T07:45:24.608323\"\n}"}],"_postman_id":"dfb9874f-2228-4d40-98b3-de24c525d683"},{"name":"5. 선박 트래킹 수정 요청","id":"4a4b1d18-a697-464d-9ac2-7d9563f4b99f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"remark\": \"SAMPLE_REMARK\",\n    \"track_group\": \"SAMPLE_TRACK_GROUP\"\n  }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/:vessel_track_id","description":"<ul>\n<li><p>기존 선박 트래킹 정보를 수정합니다.</p>\n</li>\n<li><p>수정 가능한 항목은 <code>remark</code>와 <code>track_group</code>입니다.</p>\n</li>\n</ul>\n<h5 id=\"requestbody\"><strong>RequestBody</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Size</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>remark</td>\n<td><code>string</code></td>\n<td>400</td>\n<td>비고</td>\n<td>최대 400자</td>\n</tr>\n<tr>\n<td>track_group</td>\n<td><code>string</code></td>\n<td>200</td>\n<td>추적 그룹</td>\n<td>최대 200자</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"선박-트래킹-수정-요청-응답--response-body\">선박 트래킹 <strong>수정 요청 응답 – Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>기타</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>VesselTrackIdentifier</code></td>\n<td>선박 추적 식별자</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>string</code></td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답 제공 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"vesseltrackidentifier--선박-추적-식별자\"><strong>VesselTrackIdentifier – 선박 추적 식별자</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vessel_track_id</td>\n<td><code>number</code></td>\n<td>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</td>\n</tr>\n<tr>\n<td>vessel_id</td>\n<td><code>number</code></td>\n<td>Tradlinx 내부 선박 식별자</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","vessel-tracks",":vessel_track_id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"81a15c1c-b30b-444f-925c-f00091954156","description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"vessel_track_id"}]}},"response":[{"id":"cf5030a4-1eac-4d29-86bc-c392d930c8cb","name":"200 정상응답","originalRequest":{"method":"PATCH","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"remark\": \"SAMPLE_REMARK\",\n    \"track_group\": \"SAMPLE_TRACK_GROUP\"\n  }","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/:vessel_track_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","vessel-tracks",":vessel_track_id"],"variable":[{"key":"vessel_track_id","value":"","description":"선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": {\n    \"vessel_id\": 1,\n    \"vessel_track_id\": 1\n  },\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-08-21T06:37:36.608323\"\n}"}],"_postman_id":"4a4b1d18-a697-464d-9ac2-7d9563f4b99f"},{"name":"6. 선박 트래킹 자동 갱신 수정 요청","id":"d3557ef3-6e78-48f1-83ca-d1c7d492f0e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"auto_renewal\": true\n  }","options":{"raw":{"language":"json"}}},"url":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/:vessel_track_id/auto-renewal","description":"<ul>\n<li><p>선박 트래킹의 자동 연장(Auto Renewal) 설정을 변경합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 선박 트래킹만 변경할 수 있습니다.</p>\n</li>\n<li><p><code>auto_renewal</code>은 활성 상태(<code>TRACKING</code>)의 Tracking에 대해서만 변경할 수 있습니다.</p>\n</li>\n</ul>\n<p><strong>선박트래킹 자동 갱신 수정 요청 데이터</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Constraint</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*auto_renewal</td>\n<td><code>boolean</code></td>\n<td>자동 갱신 여부</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","vessel-tracks",":vessel_track_id","auto-renewal"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"e0f16e56-358d-4d0a-9f39-4c193347d2b4","description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"vessel_track_id"}]}},"response":[{"id":"8b0109db-c3db-4662-bd60-9c2303cc63ef","name":"200 정상응답","originalRequest":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"auto_renewal\": true\n  }","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/:vessel_track_id/auto-renewal","host":["https://api.tradlinx.com"],"path":["partners","track","v3","vessel-tracks",":vessel_track_id","auto-renewal"],"variable":[{"key":"vessel_track_id","value":"","description":"선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"d3557ef3-6e78-48f1-83ca-d1c7d492f0e4"},{"name":"7. 선박 트래킹 취소 요청","id":"d529a3c6-761d-4f7e-a366-0903d746085b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/:vessel_track_id","description":"<ul>\n<li><p>선박 트래킹을 취소합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 선박 트래킹만 취소할 수 있습니다.</p>\n</li>\n<li><p><code>status</code>가 <code>TRACKING</code> 또는 <code>EXPIRED</code>인 Tracking은 취소하더라도 Credit이 환불되지 않습니다.</p>\n</li>\n</ul>\n","urlObject":{"path":["partners","track","v3","vessel-tracks",":vessel_track_id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"49b41bda-c91d-4781-b4f9-ec9f97f89fd4","description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"vessel_track_id"}]}},"response":[{"id":"c98f1ce0-85d0-4f21-806f-0a9b8d32618c","name":"200 정상응답","originalRequest":{"method":"DELETE","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/vessel-tracks/:vessel_track_id","host":["https://api.tradlinx.com"],"path":["partners","track","v3","vessel-tracks",":vessel_track_id"],"variable":[{"key":"vessel_track_id","value":"","description":"선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"d529a3c6-761d-4f7e-a366-0903d746085b"}],"id":"04565a9a-9d64-4061-be74-e9baa23abb64","description":"<h3 id=\"✅-선박-트래킹-api--개요\">✅ 선박 트래킹 API — 개요</h3>\n<p>Tradlinx는 B/L, Container, Vessel 단위의 트래킹을 지원하며, 이 페이지에서는 선박 트래킹 API를 설명합니다.</p>\n<p>선박 트래킹은 선박의 실시간 위치, 입출항 정보 및 운항 정보를 제공합니다.</p>\n<p>선박명(Vessel Name), IMO, MMSI 또는 Call Sign을 이용하여 선박 Tracking 정보를 조회할 수 있습니다.</p>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>선박 트래킹 API는 Ocean Visibility Enterprise Plan 고객에게만 제공됩니다.</p>\n<p>API를 사용하려면 Enterprise Plan 구독이 필요합니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n","_postman_id":"04565a9a-9d64-4061-be74-e9baa23abb64"},{"name":"Embedded MapView","item":[{"name":"B/L 트래킹","item":[{"name":"1. JSON Web Token 발행","id":"04a3331b-9497-4b6a-a42c-a85fdc02731e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""}],"url":"https://api.tradlinx.com/partners/auth/authenticate","description":"<p>Embedded MapView 요청에 사용되는 JSON Web Token(JWT)을 발급합니다.</p>\n<p>⚠️ <strong>주의</strong></p>\n<p>Client ID와 API Key는 중요한 인증 정보이므로 서버에서 안전하게 관리해야 합니다.</p>\n<p>브라우저 또는 외부에 공개되는 클라이언트에 절대 노출해서는 안 됩니다.</p>\n","urlObject":{"path":["partners","auth","authenticate"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"04a3331b-9497-4b6a-a42c-a85fdc02731e"},{"name":"2. Embedded MapView 호출 (Form POST)","id":"5898570a-424d-4300-ba76-6f5cd80b226a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"authorization","value":"","description":"<p>(required) Authorization key (JWT issued via /partners/auth/authenticate)</p>\n"},{"key":"searchType","value":"blNo","description":"<p>\"blNo\" | \"po\" | \"trackMstId\" | \"customerCompany\" — Type of search query (default \"blNo\")</p>\n"},{"key":"searchValue","value":"SAMPLE_BL_NO","description":"<p>Value to search for</p>\n"},{"key":"lang","value":"en","description":"<p>\"ko\" | \"en\" — Language selection (default \"ko\")</p>\n"},{"key":"detail","value":"SHOW_ALL","description":"<p>(required) \"SHOW_ALL\" | \"HIDE_TABS\" | \"HIDE_ALL\" — Method of displaying shipment details</p>\n"},{"key":"companyFilter","value":"true","description":"<p>Whether to apply the customer filter (default true)</p>\n"},{"key":"startMode","value":"LIST","description":"<p>\"LIST\" | \"HIDE_LIST\" | \"DETAIL\" — Initial state of the map view</p>\n"}]},"url":"https://app.tradlinx.com/partner-mapview/api/shipment","description":"<ul>\n<li><p>B/L 트래킹 Embedded MapView 페이지를 요청합니다.</p>\n</li>\n<li><p>요청은 <code>application/x-www-form-urlencoded</code> 형식의 Form Data로 전송해야 합니다.</p>\n</li>\n<li><p>응답은 <code>iframe</code>에 직접 표시할 수 있는 MapView 페이지로 제공됩니다.</p>\n</li>\n<li><p>화물이 Bulk Carrier로 운송되는 경우, MapView에서 해당 선박은 <code>\"Bulk\"</code> 아이콘으로 표시됩니다.</p>\n</li>\n</ul>\n<h5 id=\"bl-트래킹-embedded-mapview-server\"><strong>B/L</strong> 트래킹 <strong>Embedded MapView Server</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Default</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*authorization</td>\n<td>string</td>\n<td>인증 키</td>\n<td>-</td>\n</tr>\n<tr>\n<td>searchType</td>\n<td>\"blNo\", \"po\", \"trackMstId\", \"customerCompany\"</td>\n<td>검색 타입</td>\n<td>\"blNo\"</td>\n</tr>\n<tr>\n<td>searchValue</td>\n<td>string</td>\n<td>검색 값</td>\n<td>-</td>\n</tr>\n<tr>\n<td>lang</td>\n<td>\"ko\", \"en\"</td>\n<td>언어 선택</td>\n<td>\"ko\"</td>\n</tr>\n<tr>\n<td>*detail</td>\n<td>\"SHOW_ALL\", \"HIDE_TABS\", \"HIDE_ALL\"</td>\n<td>선적 상세를 표시하는 방법</td>\n<td>\"SHOW_ALL\"</td>\n</tr>\n<tr>\n<td>companyFilter</td>\n<td>boolean</td>\n<td>고객사 필터를 사용 여부에 대한 선택</td>\n<td>true</td>\n</tr>\n<tr>\n<td>startMode</td>\n<td>\"LIST\", \"HIDE_LIST\", \"DETAIL\"</td>\n<td>맵 활성화 시 초기 상태</td>\n<td>\"LIST\"</td>\n</tr>\n<tr>\n<td>controllers</td>\n<td>string[]</td>\n<td>요청할 경우, 선택한 컨트롤러만 활성화</td>\n<td>[\"FULL_SCREEN\", \"DIMENSION\", \"LANG_SET\"]</td>\n</tr>\n<tr>\n<td>detailTabs</td>\n<td>string[]</td>\n<td>요청할 경우, 선택 한 탭만 활성화</td>\n<td>[\"SHIPMENT_ROUTE\", \"PORT_CALLS\", \"SAIL_LOG\"]</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"searchtype\"><strong>searchType</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>blNo</td>\n<td>B/L 번호</td>\n</tr>\n<tr>\n<td>po</td>\n<td>관리번호</td>\n</tr>\n<tr>\n<td>trackMstId</td>\n<td>선적추적 등록 시 부여하는 식별값</td>\n</tr>\n<tr>\n<td>customerCompany</td>\n<td>고객사</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"searchvalue\"><strong>searchValue</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>blNo</td>\n<td>쉼표(,)로 구분하여 최대 50개까지 입력가능</td>\n</tr>\n<tr>\n<td>po</td>\n<td>쉼표(,)로 구분하여 최대 50개까지 입력가능</td>\n</tr>\n<tr>\n<td>trackMstId</td>\n<td>쉼표(,)로 구분하여 최대 50개까지 입력가능</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"detail\"><strong>detail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SHOW_ALL</td>\n<td>선적 상세의 모든 항목을 표시</td>\n</tr>\n<tr>\n<td>HIDE_TABS</td>\n<td>선적 상세 내의 탭을 표시하지 않음</td>\n</tr>\n<tr>\n<td>HIDE_ALL</td>\n<td>선적 상세를 전부 표시하지 않음</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"startmode\"><strong>startMode</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>LIST</td>\n<td>지도 활성화 시, 검색한 선적 목록을 표시</td>\n</tr>\n<tr>\n<td>HIDE_LIST</td>\n<td>지도 활성화 시, 검색한 선적 목록을 숨기고 지도부터 표시</td>\n</tr>\n<tr>\n<td>DETAIL</td>\n<td>지도 활성화 시, 검색한 선적 목록에서 첫 번째 요소의 상세 보기를 표시</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"controllers\"><strong>controllers</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>FULL_SCREEN</td>\n<td>풀 스크린 컨트롤러를 의미</td>\n</tr>\n<tr>\n<td>DIMENSION</td>\n<td>차원 전환(2D ↔︎ 3D) 컨트롤러를 의미</td>\n</tr>\n<tr>\n<td>LANG_SET</td>\n<td>언어 전환 컨트롤러를 의미</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"detailtabs\"><strong>detailTabs</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SHIPMENT_ROUTE</td>\n<td>선적카드_펼쳐보기 내부 탭 중, \"선적상세\" 탭을 의미</td>\n</tr>\n<tr>\n<td>PORT_CALLS</td>\n<td>선적카드_펼쳐보기 내부 탭 중, \"항로\" 탭을 의미</td>\n</tr>\n<tr>\n<td>SAIL_LOG</td>\n<td>선적카드_펼쳐보기 내부 탭 중, \"항로로그\" 탭을 의미</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partner-mapview","api","shipment"],"host":["https://app.tradlinx.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5898570a-424d-4300-ba76-6f5cd80b226a"}],"id":"ce5c1406-d482-4685-ab11-43836e62c211","description":"<h3 id=\"✅-bl-트래킹-embedded-mapview--개요\">✅ B/L 트래킹 Embedded MapView — 개요</h3>\n<p>B/L 트래킹 Embedded MapView는 Tradlinx Ocean Visibility의 지도 화면을 고객사의 서비스에 직접 임베드할 수 있는 기능입니다.</p>\n<p>트래킹 데이터를 기반으로 컨테이너 이동 경로, 선박 위치, 운항 경로 및 화물 상태를 별도의 지도 화면을 직접 개발하지 않고도 시각화할 수 있습니다.</p>\n<p>B/L 트래킹 Embedded MapView는 웹 콘텐츠 및 <code>iframe</code>을 지원하는 모든 환경에서 사용할 수 있습니다.</p>\n<h5 id=\"권장-화면-크기\">권장 화면 크기</h5>\n<ul>\n<li><p>전체 화면 (지도 + Shipment 목록): 1440 × 900</p>\n</li>\n<li><p>지도만 표시: 800 × 600</p>\n</li>\n</ul>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>B/L 트래킹 Embedded MapView API는 Ocean Visibility Enterprise Plan 고객에게만 제공됩니다.</p>\n<p>API를 사용하려면 Enterprise Plan 구독이 필요합니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n<h3 id=\"✅-mapview-예시\">✅ MapView 예시</h3>\n<img src=\"https://content.pstmn.io/befadcd4-27d9-4552-87ac-eb637f97faa1/aW1hZ2UucG5n\" />\n\n<h3 id=\"✅-요청-흐름\">✅ 요청 흐름</h3>\n<p>인증은 API 사용자가 구현한 Backend Middleware를 통해 처리해야 합니다.</p>\n<p>Client ID와 API Key는 브라우저에 직접 노출되어서는 안 됩니다.</p>\n<img src=\"https://content.pstmn.io/f4a58b4b-a703-4bce-8e40-16142789d4ae/aW1hZ2UucG5n\" width=\"832\" height=\"391\" />\n\n<ol>\n<li><p>Browser가 Middleware에 JWT Token을 요청합니다.</p>\n</li>\n<li><p>Middleware가 Ocean Visibility API에 JWT Token을 요청합니다.</p>\n</li>\n<li><p>Ocean Visibility API가 Middleware에 JWT Token을 반환합니다.</p>\n</li>\n<li><p>Middleware가 Browser에 JWT Token을 반환합니다.</p>\n</li>\n<li><p>Browser가 JWT Token을 포함하여 Embedded MapView를 요청합니다.</p>\n</li>\n<li><p>Ocean Visibility MapView Server가 MapView를 반환합니다.</p>\n</li>\n</ol>\n<h3 id=\"✅-코드-예제\">✅ 코드 예제</h3>\n<ul>\n<li><p>빠른 테스트를 위해 샘플 코드를 제공합니다.</p>\n</li>\n<li><p>구현 방식은 자유롭게 변경할 수 있으며, 필수 요청 규격만 준수하면 됩니다.</p>\n</li>\n<li><p>아래 코드는 참고용 예제입니다.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-preserveHtml\">&lt;html&gt; \n &lt;head&gt; \n &lt;title&gt;Tradlinx Ocean Visibility B/L Embedded MapView TEST&lt;/title&gt; \n &lt;/head&gt; \n &lt;body&gt; \n &lt;form action=\"https://app.tradlinx.com/partner-mapview/api/shipment\" name=\"viewer_form\" id=\"viewer_form\" target=\"viewer\" method=\"post\"&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; id=\"oceanVisibilityMap\"&gt; \n &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 입력 영역 시작        --&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;선적 상세정보&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"radio\" name=\"fold\" value=\"false\" id=\"foldFalse\" checked /&gt; \n &lt;label for=\"foldFalse\"&gt;자세히 보기&lt;/label&gt; \n &lt;input type=\"radio\" name=\"fold\" value=\"true\" id=\"foldTrue\" /&gt; \n &lt;label for=\"foldTrue\"&gt;개요 보기&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;언어&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"radio\" name=\"lang\" value=\"ko\" id=\"langKo\" checked /&gt; \n &lt;label for=\"langKo\"&gt;한국어&lt;/label&gt; \n &lt;input type=\"radio\" name=\"lang\" value=\"en\" id=\"langEn\" /&gt; \n &lt;label for=\"langEn\"&gt;영어&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;고객사 필터&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"radio\" name=\"companyFilter\" value=\"true\" id=\"companyFilterOn\" checked /&gt; \n &lt;label for=\"companyFilterOn\"&gt;필터 보기&lt;/label&gt; \n &lt;input type=\"radio\" name=\"companyFilter\" value=\"false\" id=\"companyFilterOff\" /&gt; \n &lt;label for=\"companyFilterOff\"&gt;필터 숨기기&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;최초 상태&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"radio\" name=\"startMode\" value=\"LIST\" id=\"startModeList\" checked /&gt; \n &lt;label for=\"startModeList\"&gt;목록 보기&lt;/label&gt; \n &lt;input type=\"radio\" name=\"startMode\" value=\"HIDE_LIST\" id=\"startModeHideList\" /&gt; \n &lt;label for=\"startModeHideList\"&gt;목록 숨기기&lt;/label&gt; \n &lt;input type=\"radio\" name=\"startMode\" value=\"DETAIL\" id=\"startModeDetail\" /&gt; \n &lt;label for=\"startModeDetail\"&gt;첫번째 선적 상세 보기&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;컨트롤러 기능 표기&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"checkbox\" name=\"controllers\" value=\"FULL_SCREEN\" id=\"controllersFullScreen\" checked /&gt; \n &lt;label for=\"controllersFullScreen\"&gt;전체 화면&lt;/label&gt; \n &lt;input type=\"checkbox\" name=\"controllers\" value=\"DIMENSION\" id=\"controllersDimension\" /&gt; \n &lt;label for=\"controllersDimension\"&gt;차원 전환&lt;/label&gt; \n &lt;input type=\"checkbox\" name=\"controllers\" value=\"LANG_SET\" id=\"controllersLangSet\" /&gt; \n &lt;label for=\"controllersLangSet\"&gt;언어 전환&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;선적 상세 내 탭 노출&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"checkbox\" name=\"detailTabs\" value=\"SHIPMENT_ROUTE\" id=\"detailTabsShipmentRoute\" checked /&gt; \n &lt;label for=\"detailTabsShipmentRoute\"&gt;상세정보 탭&lt;/label&gt; \n &lt;input type=\"checkbox\" name=\"detailTabs\" value=\"PORT_CALLS\" id=\"detailTabsPortCalls\" /&gt; \n &lt;label for=\"detailTabsPortCalls\"&gt;항로 탭&lt;/label&gt; \n &lt;input type=\"checkbox\" name=\"detailTabs\" value=\"SAIL_LOG\" id=\"detailTabsSailLog\" /&gt; \n &lt;label for=\"detailTabsSailLog\"&gt;항로로그 탭&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;검색&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;select name=\"searchType\" id=\"selectType\"&gt; \n &lt;option value=\"blNo\"&gt;B/L&lt;/option&gt; \n &lt;option value=\"po\"&gt;PO&lt;/option&gt; \n &lt;option value=\"trackMstId\"&gt;ID&lt;/option&gt; \n &lt;option value=\"customerCompany\"&gt;고객사&lt;/option&gt; \n &lt;/select&gt; \n &lt;input type=\"text\" name=\"searchValue\" id=\"keyword\" /&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;button type=\"submit\" id=\"button_map\"&gt;조회&lt;/button&gt; \n &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 입력 영역 끝        --&gt; \n &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 지도 조회 영역 시작        --&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; id=\"frame\"&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; style=\"border: 1px solid black; height: 700px; width: 100%\" &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; allowfullscreen &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; name=\"viewer\" &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;/iframe&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;/div&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;comment class=&amp;amp;#x27;preserveHtml&amp;amp;#x27; class=&amp;amp;#x27;preserveHtml&amp;amp;#x27; class=&amp;amp;#x27;preserveHtml&amp;amp;#x27;&amp;gt; 지도 조회 영역 끝 &amp;lt;/comment&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;/div&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;/div&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;/div&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;/form&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;/body&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;script&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; window.addEventListener(\"DOMContentLoaded\", () =&gt; { &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; // 미들웨어에서 받은 토큰으로 &amp;lt;input type=&amp;quot;hidden&amp;quot; /&amp;gt; 생성 &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; fetch(\"{ 인증토큰 발행 EndPoint }\") &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; .then((item) =&gt; item.text()) &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; .then((authToken) =&gt; { &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; const input = document.createElement(\"input\"); &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; input.setAttribute(\"type\", \"hidden\"); &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; input.setAttribute(\"name\", \"authorization\"); &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; input.setAttribute(\"value\", authToken); &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; const form = document.getElementById(\"viewer_form\"); &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; form.appendChild(input); &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; }); &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; }); &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; &amp;lt;/script&amp;gt; &amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;&amp;lt;/html&amp;gt; &amp;#013;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;&lt;strong class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;MapView Example&lt;/b&gt; &amp;#013;&lt;/p&gt;&lt;img class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; src=https://static-cdn.tradlinx.com/images/ov/mapview_example_250724.png alt=\"mapview_sample\" /&gt;&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;&lt;/p&gt;&lt;/x-turndown&gt;&lt;/code&gt;&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;&lt;/p&gt;&lt;/x-turndown&gt;\n\n</code></pre>\n","_postman_id":"ce5c1406-d482-4685-ab11-43836e62c211"},{"name":"컨테이너 트래킹","item":[{"name":"1. JSON Web Token 발행","id":"ad199328-236b-488f-9841-3bd0dead60e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""}],"url":"https://api.tradlinx.com/partners/auth/authenticate","description":"<p>Embedded MapView 요청에 사용되는 JSON Web Token(JWT)을 발급합니다.</p>\n<p>⚠️ <strong>주의</strong></p>\n<p>Client ID와 API Key는 중요한 인증 정보이므로 서버에서 안전하게 관리해야 합니다.</p>\n<p>브라우저 또는 외부에 공개되는 클라이언트에 절대 노출해서는 안 됩니다.</p>\n","urlObject":{"path":["partners","auth","authenticate"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ad199328-236b-488f-9841-3bd0dead60e1"},{"name":"2. Embedded MapView 호출 (Form POST)","id":"8d1676ed-6b31-44cc-8ff0-712cd79eca9c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"authorization","value":"","description":"<p>(required) Authorization key (JWT issued via /partners/auth/authenticate)</p>\n"},{"key":"searchType","value":"containerNo","description":"<p>\"containerNo\" | \"po\" | \"trackMstId\" | \"customerCompany\" — Type of search query (default \"containerNo\")</p>\n"},{"key":"searchValue","value":"SAMPLE_CNTR_NO","description":"<p>Value to search for</p>\n"},{"key":"lang","value":"en","description":"<p>\"ko\" | \"en\" — Language selection (default \"ko\")</p>\n"},{"key":"detail","value":"SHOW_ALL","description":"<p>(required) \"SHOW_ALL\" | \"HIDE_TABS\" | \"HIDE_ALL\" — Method of displaying shipment details</p>\n"},{"key":"companyFilter","value":"true","description":"<p>Whether to apply the customer filter (default true)</p>\n"},{"key":"startMode","value":"LIST","description":"<p>\"LIST\" | \"HIDE_LIST\" | \"DETAIL\" — Initial state of the map view</p>\n"}]},"url":"https://app.tradlinx.com/partner-mapview/api/container","description":"<ul>\n<li><p>컨테이너 트래킹 Embedded MapView 페이지를 요청합니다.</p>\n</li>\n<li><p>요청은 <code>application/x-www-form-urlencoded</code> 형식의 Form Data로 전송해야 합니다.</p>\n</li>\n<li><p>응답은 <code>iframe</code>에 직접 표시할 수 있는 MapView 페이지로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"container-tracking-embedded-mapview-server\"><strong>Container Tracking Embedded MapView Server</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Default</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*authorization</td>\n<td>string</td>\n<td>인증 키</td>\n<td>-</td>\n</tr>\n<tr>\n<td>searchType</td>\n<td>\"containerNo\", \"po\", \"trackMstId\", \"customerCompany\"</td>\n<td>검색 타입</td>\n<td>\"containerNo\"</td>\n</tr>\n<tr>\n<td>searchValue</td>\n<td>string</td>\n<td>검색 값</td>\n<td>-</td>\n</tr>\n<tr>\n<td>lang</td>\n<td>\"ko\", \"en\"</td>\n<td>언어 선택</td>\n<td>\"ko\"</td>\n</tr>\n<tr>\n<td>*detail</td>\n<td>\"SHOW_ALL\", \"HIDE_TABS\", \"HIDE_ALL\"</td>\n<td>선적 상세를 표시하는 방법</td>\n<td>\"SHOW_ALL\"</td>\n</tr>\n<tr>\n<td>companyFilter</td>\n<td>boolean</td>\n<td>고객사 필터를 사용 여부에 대한 선택</td>\n<td>true</td>\n</tr>\n<tr>\n<td>startMode</td>\n<td>\"LIST\", \"HIDE_LIST\", \"DETAIL\"</td>\n<td>맵 활성화 시 초기 상태</td>\n<td>\"LIST\"</td>\n</tr>\n<tr>\n<td>controllers</td>\n<td>string[]</td>\n<td>요청할 경우, 선택한 컨트롤러만 활성화</td>\n<td>[\"FULL_SCREEN\", \"DIMENSION\", \"LANG_SET\"]</td>\n</tr>\n<tr>\n<td>detailTabs</td>\n<td>string[]</td>\n<td>요청할 경우, 선택 한 탭만 활성화</td>\n<td>[\"SHIPMENT_ROUTE\", \"PORT_CALLS\", \"SAIL_LOG\"]</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"searchtype\"><strong>searchType</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>containerNo</td>\n<td>Container 번호</td>\n</tr>\n<tr>\n<td>po</td>\n<td>관리번호</td>\n</tr>\n<tr>\n<td>trackMstId</td>\n<td>선적추적 등록 시 부여하는 식별값</td>\n</tr>\n<tr>\n<td>customerCompany</td>\n<td>고객사</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"searchvalue\"><strong>searchValue</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>containerNo</td>\n<td>쉼표(,)로 구분하여 최대 50개까지 입력가능</td>\n</tr>\n<tr>\n<td>po</td>\n<td>쉼표(,)로 구분하여 최대 50개까지 입력가능</td>\n</tr>\n<tr>\n<td>trackMstId</td>\n<td>쉼표(,)로 구분하여 최대 50개까지 입력가능</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"detail\"><strong>detail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SHOW_ALL</td>\n<td>선적 상세의 모든 항목을 표시</td>\n</tr>\n<tr>\n<td>HIDE_TABS</td>\n<td>선적 상세 내의 탭을 표시하지 않음</td>\n</tr>\n<tr>\n<td>HIDE_ALL</td>\n<td>선적 상세를 전부 표시하지 않음</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"startmode\"><strong>startMode</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>LIST</td>\n<td>지도 활성화 시, 검색한 선적 목록을 표시</td>\n</tr>\n<tr>\n<td>HIDE_LIST</td>\n<td>지도 활성화 시, 검색한 선적 목록을 숨기고 지도부터 표시</td>\n</tr>\n<tr>\n<td>DETAIL</td>\n<td>지도 활성화 시, 검색한 선적 목록에서 첫 번째 요소의 상세 보기를 표시</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"controllers\"><strong>controllers</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>FULL_SCREEN</td>\n<td>풀 스크린 컨트롤러를 의미</td>\n</tr>\n<tr>\n<td>DIMENSION</td>\n<td>차원 전환(2D ↔︎ 3D) 컨트롤러를 의미</td>\n</tr>\n<tr>\n<td>LANG_SET</td>\n<td>언어 전환 컨트롤러를 의미</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"detailtabs\"><strong>detailTabs</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SHIPMENT_ROUTE</td>\n<td>선적카드_펼쳐보기 내부 탭 중, \"선적상세\" 탭을 의미</td>\n</tr>\n<tr>\n<td>PORT_CALLS</td>\n<td>선적카드_펼쳐보기 내부 탭 중, \"항로\" 탭을 의미</td>\n</tr>\n<tr>\n<td>SAIL_LOG</td>\n<td>선적카드_펼쳐보기 내부 탭 중, \"항로로그\" 탭을 의미</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partner-mapview","api","container"],"host":["https://app.tradlinx.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"8d1676ed-6b31-44cc-8ff0-712cd79eca9c"}],"id":"21e5fd49-94fc-4faf-9bde-ef84f9e5a2ff","description":"<h3 id=\"✅-컨테이너-트래킹-embedded-mapview--개요\">✅ 컨테이너 트래킹 Embedded MapView — 개요</h3>\n<p>컨테이너 트래킹 Embedded MapView는 Tradlinx Ocean Visibility의 지도 화면을 고객사의 서비스에 직접 임베드할 수 있는 기능입니다.</p>\n<p>컨테이너 트래킹 데이터를 기반으로 컨테이너 이동 경로, 선박 위치, 운항 경로 및 화물 상태를 별도의 지도 화면을 직접 개발하지 않고도 시각화할 수 있습니다.</p>\n<p>컨테이너 트래킹 Embedded MapView는 웹 콘텐츠 및 <code>iframe</code>을 지원하는 모든 환경에서 사용할 수 있습니다.</p>\n<h5 id=\"권장-화면-크기\">권장 화면 크기</h5>\n<ul>\n<li><p><strong>전체 화면 (지도 + Shipment 목록):</strong> 1440 × 900</p>\n</li>\n<li><p><strong>지도만 표시:</strong> 800 × 600</p>\n</li>\n</ul>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>컨테이너 트래킹 Embedded MapView API는 Ocean Visibility Enterprise Plan(월 100건 이상) 고객에게만 제공됩니다.</p>\n<p>API를 사용하려면 Enterprise Plan 구독이 필요합니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n<h3 id=\"✅-mapview-예시\">✅ MapView 예시</h3>\n<img src=\"https://content.pstmn.io/ec94ea6f-0fe6-42ba-ad4c-5922e1c423fc/aW1hZ2UucG5n\" />\n\n<h3 id=\"✅-요청-흐름\">✅ 요청 흐름</h3>\n<p>인증은 API 사용자가 구현한 Backend Middleware를 통해 처리해야 합니다.</p>\n<p>Client ID와 API Key는 브라우저에 직접 노출되어서는 안 됩니다.</p>\n<img src=\"https://static-cdn.tradlinx.com/images/ov/mapview_250602.png\" alt=\"mapview_flow\" />\n\n<ol>\n<li><p>Browser가 Middleware에 JWT Token을 요청합니다.</p>\n</li>\n<li><p>Middleware가 Ocean Visibility API에 JWT Token을 요청합니다.</p>\n</li>\n<li><p>Ocean Visibility API가 Middleware에 JWT Token을 반환합니다.</p>\n</li>\n<li><p>Middleware가 Browser에 JWT Token을 반환합니다.</p>\n</li>\n<li><p>Browser가 JWT Token을 포함하여 Embedded MapView를 요청합니다.</p>\n</li>\n<li><p>Ocean Visibility MapView Server가 MapView를 반환합니다.</p>\n</li>\n</ol>\n<h3 id=\"✅-코드-예제\">✅ 코드 예제</h3>\n<p>빠른 테스트를 위해 샘플 코드를 제공합니다.</p>\n<p>구현 방식은 자유롭게 변경할 수 있으며, 필수 요청 규격만 준수하면 됩니다.</p>\n<p>아래 코드는 참고용 예제입니다.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-preserveHtml\">%3C!DOCTYPE%20html%3E%20\n&lt;html&gt; \n &lt;head&gt; \n &lt;title&gt;Tradlinx Ocean Visibility Container Embedded MapView TEST&lt;/title&gt; \n &lt;/head&gt; \n &lt;body&gt; \n &lt;form action=\"https://app.tradlinx.com/partner-mapview/api/container\" name=\"viewer_form\" id=\"viewer_form\" target=\"viewer\" method=\"post\"&gt; \n &lt;input type=\"hidden\" name=\"authorization\" value=\"{{ 여기에 인증 토큰을 입력하세요 }}\" /&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; id=\"oceanVisibilityMap\"&gt; \n &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 입력 영역 시작         --&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;선적 상세정보&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"radio\" name=\"fold\" value=\"false\" id=\"foldFalse\" checked /&gt; \n &lt;label for=\"foldFalse\"&gt;자세히 보기&lt;/label&gt; \n &lt;input type=\"radio\" name=\"fold\" value=\"true\" id=\"foldTrue\" /&gt; \n &lt;label for=\"foldTrue\"&gt;개요 보기&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;언어&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"radio\" name=\"lang\" value=\"ko\" id=\"langKo\" checked /&gt; \n &lt;label for=\"langKo\"&gt;한국어&lt;/label&gt; \n &lt;input type=\"radio\" name=\"lang\" value=\"en\" id=\"langEn\" /&gt; \n &lt;label for=\"langEn\"&gt;영어&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;고객사 필터&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"radio\" name=\"companyFilter\" value=\"true\" id=\"companyFilterOn\" checked /&gt; \n &lt;label for=\"companyFilterOn\"&gt;필터 보기&lt;/label&gt; \n &lt;input type=\"radio\" name=\"companyFilter\" value=\"false\" id=\"companyFilterOff\" /&gt; \n &lt;label for=\"companyFilterOff\"&gt;필터 숨기기&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;최초 상태&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"radio\" name=\"startMode\" value=\"LIST\" id=\"startModeList\" checked /&gt; \n &lt;label for=\"startModeList\"&gt;목록 보기&lt;/label&gt; \n &lt;input type=\"radio\" name=\"startMode\" value=\"HIDE_LIST\" id=\"startModeHideList\" /&gt; \n &lt;label for=\"startModeHideList\"&gt;목록 숨기기&lt;/label&gt; \n &lt;input type=\"radio\" name=\"startMode\" value=\"DETAIL\" id=\"startModeDetail\" /&gt; \n &lt;label for=\"startModeDetail\"&gt;첫번째 선적 상세 보기&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;컨트롤러 기능 표기&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"checkbox\" name=\"controllers\" value=\"FULL_SCREEN\" id=\"controllersFullScreen\" checked /&gt; \n &lt;label for=\"controllersFullScreen\"&gt;전체 화면&lt;/label&gt; \n &lt;input type=\"checkbox\" name=\"controllers\" value=\"DIMENSION\" id=\"controllersDimension\" /&gt; \n &lt;label for=\"controllersDimension\"&gt;차원 전환&lt;/label&gt; \n &lt;input type=\"checkbox\" name=\"controllers\" value=\"LANG_SET\" id=\"controllersLangSet\" /&gt; \n &lt;label for=\"controllersLangSet\"&gt;언어 전환&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;선적 상세 내 탭 노출&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;input type=\"checkbox\" name=\"detailTabs\" value=\"SHIPMENT_ROUTE\" id=\"detailTabsShipmentRoute\" checked /&gt; \n &lt;label for=\"detailTabsShipmentRoute\"&gt;상세정보 탭&lt;/label&gt; \n &lt;input type=\"checkbox\" name=\"detailTabs\" value=\"PORT_CALLS\" id=\"detailTabsPortCalls\" /&gt; \n &lt;label for=\"detailTabsPortCalls\"&gt;항로 탭&lt;/label&gt; \n &lt;input type=\"checkbox\" name=\"detailTabs\" value=\"SAIL_LOG\" id=\"detailTabsSailLog\" /&gt; \n &lt;label for=\"detailTabsSailLog\"&gt;항로로그 탭&lt;/label&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;검색&lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;select name=\"searchType\" id=\"selectType\"&gt; \n &lt;option value=\"containerNo\"&gt;Container&lt;/option&gt; \n &lt;option value=\"po\"&gt;PO&lt;/option&gt; \n &lt;option value=\"trackMstId\"&gt;ID&lt;/option&gt; \n &lt;option value=\"customerCompany\"&gt;고객사&lt;/option&gt; \n &lt;/select&gt; \n &lt;input type=\"text\" name=\"searchValue\" id=\"keyword\" /&gt; \n &lt;/div&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; \n &lt;button type=\"submit\" id=\"button_map\"&gt;조회&lt;/button&gt; \n &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 입력 영역 끝         --&gt; \n &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 지도 조회 영역 시작         --&gt; \n &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; id=\"frame\"&gt; \n &lt;iframe style=\"border: 1px solid black; height: 700px; width: 100%\" allowfullscreen name=\"viewer\"&gt; &lt;/iframe&gt; \n &lt;/div&gt; \n &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 지도 조회 영역 끝         --&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;/div&gt; \n &lt;/form&gt; \n &lt;/body&gt; \n&lt;/html&gt; \n\n</code></pre>\n","_postman_id":"21e5fd49-94fc-4faf-9bde-ef84f9e5a2ff"},{"name":"선박 트래킹","item":[{"name":"1. JSON Web Token 발행","id":"84d052b9-f5a0-4e82-9ed5-515c162c05c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""}],"url":"https://api.tradlinx.com/partners/auth/authenticate","description":"<p>Embedded MapView 요청에 사용되는 JSON Web Token(JWT)을 발급합니다.</p>\n<p>⚠️ <strong>주의</strong></p>\n<p>Client ID와 API Key는 중요한 인증 정보이므로 서버에서 안전하게 관리해야 합니다.</p>\n<p>브라우저 또는 외부에 공개되는 클라이언트에 절대 노출해서는 안 됩니다.</p>\n","urlObject":{"path":["partners","auth","authenticate"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"84d052b9-f5a0-4e82-9ed5-515c162c05c0"},{"name":"2. Embedded MapView 호출 (Form POST)","id":"797a2e4b-2184-4062-b9e2-da94ac89d2e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"authorization","value":"","description":"<p>(required) Authorization key (JWT issued via /partners/auth/authenticate)</p>\n"},{"key":"searchType","value":"keyword","description":"<p>\"keyword\" | \"trackGroup\" — Type of search query (default \"keyword\")</p>\n"},{"key":"searchValue","value":"SAMPLE_VESSEL_NAME","description":"<p>Value to search for</p>\n"},{"key":"lang","value":"en","description":"<p>\"ko\" | \"en\" — Language selection (default \"ko\")</p>\n"},{"key":"detail","value":"SHOW_ALL","description":"<p>(required) \"SHOW_ALL\" | \"HIDE_TABS\" | \"HIDE_ALL\" — Method of displaying vessel details</p>\n"},{"key":"trackGroupFilter","value":"true","description":"<p>Whether to apply the vessel group filter (default true)</p>\n"},{"key":"startMode","value":"LIST","description":"<p>\"LIST\" | \"HIDE_LIST\" | \"DETAIL\" — Initial state of the map view</p>\n"}]},"url":"https://app.tradlinx.com/partner-mapview/api/vessel","description":"<ul>\n<li><p>선박 트래킹 Embedded MapView 페이지를 요청합니다.</p>\n</li>\n<li><p>요청은 <code>application/x-www-form-urlencoded</code> 형식의 Form Data로 전송해야 합니다.</p>\n</li>\n<li><p>응답은 <code>iframe</code>에 직접 표시할 수 있는 MapView 페이지로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"vessel-tracking-embedded-mapview-server\"><strong>Vessel Tracking Embedded MapView Server</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Default</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*authorization</td>\n<td>string</td>\n<td>인증 키</td>\n<td>-</td>\n</tr>\n<tr>\n<td>searchType</td>\n<td>\"keyword\", \"trackGroup\"</td>\n<td>Type of search query</td>\n<td>\"keyword\"</td>\n</tr>\n<tr>\n<td>searchValue</td>\n<td>string</td>\n<td>검색 값</td>\n<td>-</td>\n</tr>\n<tr>\n<td>lang</td>\n<td>\"ko\", \"en\"</td>\n<td>언어 선택</td>\n<td>\"ko\"</td>\n</tr>\n<tr>\n<td>*detail</td>\n<td>\"SHOW_ALL\", \"HIDE_TABS\", \"HIDE_ALL\"</td>\n<td>선박 상세를 표시하는 방법</td>\n<td>\"SHOW_ALL\"</td>\n</tr>\n<tr>\n<td>trackGroupFilter</td>\n<td>boolean</td>\n<td>선박 그룹 필터를 사용 여부에 대한 선택</td>\n<td>true</td>\n</tr>\n<tr>\n<td>startMode</td>\n<td>\"LIST\", \"HIDE_LIST\", \"DETAIL\"</td>\n<td>맵 활성화 시 초기 상태</td>\n<td>\"LIST\"</td>\n</tr>\n<tr>\n<td>controllers</td>\n<td>string[]</td>\n<td>요청할 경우, 선택한 컨트롤러만 활성화</td>\n<td>[\"FULL_SCREEN\", \"DIMENSION\", \"LANG_SET\"]</td>\n</tr>\n<tr>\n<td>detailTabs</td>\n<td>string[]</td>\n<td>요청할 경우, 선택한 탭만 활성화</td>\n<td>[\"PORT_CALLS\", \"SAIL_LOG\"]</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"searchtype\"><strong>searchType</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>keyword</td>\n<td>선박명, imo, mmsi, callSign 대상으로 검색</td>\n</tr>\n<tr>\n<td>trackGroup</td>\n<td>선박 그룹명</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"searchvalue\"><strong>searchValue</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>keyword</td>\n<td>단일 검색 가능</td>\n</tr>\n<tr>\n<td>trackGroup</td>\n<td>단일 검색으로 200자까지 입력가능</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"detail\"><strong>detail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SHOW_ALL</td>\n<td>선박 상세의 모든 항목을 표시</td>\n</tr>\n<tr>\n<td>HIDE_TABS</td>\n<td>선박 상세 내의 탭을 표시하지 않음</td>\n</tr>\n<tr>\n<td>HIDE_ALL</td>\n<td>선박 상세를 전부 표시하지 않음</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"startmode\"><strong>startMode</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>LIST</td>\n<td>지도 활성화 시, 검색한 선박 목록을 표시</td>\n</tr>\n<tr>\n<td>HIDE_LIST</td>\n<td>지도 활성화 시, 검색한 선박 목록을 숨기고 지도부터 표시</td>\n</tr>\n<tr>\n<td>DETAIL</td>\n<td>지도 활성화 시, 검색한 선박 목록에서 첫 번째 요소의 상세 보기를 표시</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"controllers\"><strong>controllers</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>FULL_SCREEN</td>\n<td>풀 스크린 컨트롤러를 의미</td>\n</tr>\n<tr>\n<td>DIMENSION</td>\n<td>차원 전환(2D ↔︎ 3D) 컨트롤러를 의미</td>\n</tr>\n<tr>\n<td>LANG_SET</td>\n<td>언어 전환 컨트롤러를 의미</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"detailtabs\"><strong>detailTabs</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PORT_CALLS</td>\n<td>선박카드_펼쳐보기 내부 탭 중, \"항로\" 탭을 의미</td>\n</tr>\n<tr>\n<td>SAIL_LOG</td>\n<td>선박카드_펼쳐보기 내부 탭 중, \"항로로그\" 탭을 의미</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partner-mapview","api","vessel"],"host":["https://app.tradlinx.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"797a2e4b-2184-4062-b9e2-da94ac89d2e7"}],"id":"d2fde630-e838-4014-9d39-778b77f58e73","description":"<h3 id=\"✅-선박-트래킹-embedded-mapview--개요\">✅ 선박 트래킹 Embedded MapView — 개요</h3>\n<p>선박 트래킹 Embedded MapView는 Tradlinx Ocean Visibility의 지도 화면을 고객사의 서비스에 직접 임베드할 수 있는 기능입니다.</p>\n<p>선박 트래킹 데이터를 기반으로 선박 위치, 운항 경로 및 입출항 정보를 별도의 지도 화면을 직접 개발하지 않고도 시각화할 수 있습니다.</p>\n<p>선박 트래킹 Embedded MapView는 웹 콘텐츠 및 <code>iframe</code>을 지원하는 모든 환경에서 사용할 수 있습니다.</p>\n<h5 id=\"권장-화면-크기\">권장 화면 크기</h5>\n<ul>\n<li><p><strong>전체 화면 (지도 + Vessel 목록):</strong> 1440 × 900</p>\n</li>\n<li><p><strong>지도만 표시:</strong> 800 × 600</p>\n</li>\n</ul>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>선박 트래킹 Embedded MapView API는 Ocean Visibility Enterprise Plan(월 100건 이상) 고객에게만 제공됩니다.</p>\n<p>API를 사용하려면 Enterprise Plan 구독이 필요합니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n<h3 id=\"✅-mapview-예시\">✅ MapView 예시</h3>\n<img src=\"https://content.pstmn.io/53023680-6859-4262-81c8-ee4fe41ac1f1/aW1hZ2UucG5n\" />\n\n<h3 id=\"✅-요청-흐름\">✅ 요청 흐름</h3>\n<p>인증은 API 사용자가 구현한 Backend Middleware를 통해 처리해야 합니다.</p>\n<p>Client ID와 API Key는 브라우저에 직접 노출되어서는 안 됩니다.</p>\n<img src=\"https://static-cdn.tradlinx.com/images/ov/mapview_250602.png\" alt=\"mapview_flow\" />\n\n<ol>\n<li><p>Browser가 Middleware에 JWT Token을 요청합니다.</p>\n</li>\n<li><p>Middleware가 Ocean Visibility API에 JWT Token을 요청합니다.</p>\n</li>\n<li><p>Ocean Visibility API가 Middleware에 JWT Token을 반환합니다.</p>\n</li>\n<li><p>Middleware가 Browser에 JWT Token을 반환합니다.</p>\n</li>\n<li><p>Browser가 JWT Token을 포함하여 Embedded MapView를 요청합니다.</p>\n</li>\n<li><p>Ocean Visibility MapView Server가 MapView를 반환합니다.</p>\n</li>\n</ol>\n<h3 id=\"✅-코드-예제\">✅ 코드 예제</h3>\n<p>빠른 테스트를 위해 샘플 코드를 제공합니다.</p>\n<p>구현 방식은 자유롭게 변경할 수 있으며, 필수 요청 규격만 준수하면 됩니다.</p>\n<p>아래 코드는 참고용 예제입니다.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-html\">&lt;html&gt;\n  &lt;head&gt;\n    &lt;title&gt;Tradlinx Ocean Visibility Vessel Embedded MapView TEST&lt;/title&gt;\n  &lt;/head&gt;\n  &lt;body&gt;\n    &lt;form action=\"https://app.tradlinx.com/partner-mapview/api/vessel\" name=\"viewer_form\" id=\"viewer_form\" target=\"viewer\" method=\"post\"&gt;\n      &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; id=\"oceanVisibilityMap\"&gt;\n        &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 입력 영역 시작       --&gt;\n        &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;선박 상세정보&lt;/div&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n            &lt;input type=\"radio\" name=\"detail\" value=\"SHOW_ALL\" id=\"detailShowAll\" checked /&gt;\n            &lt;label for=\"detailShowAll\"&gt;전체 보기&lt;/label&gt;\n            &lt;input type=\"radio\" name=\"detail\" value=\"HIDE_TABS\" id=\"detailHideTabs\" /&gt;\n            &lt;label for=\"detailHideTabs\"&gt;개요 보기&lt;/label&gt;\n            &lt;input type=\"radio\" name=\"detail\" value=\"HIDE_ALL\" id=\"detailHideAll\" /&gt;\n            &lt;label for=\"detailHideAll\"&gt;숨기기&lt;/label&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;언어&lt;/div&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n            &lt;input type=\"radio\" name=\"lang\" value=\"ko\" id=\"langKo\" checked /&gt;\n            &lt;label for=\"langKo\"&gt;한국어&lt;/label&gt;\n            &lt;input type=\"radio\" name=\"lang\" value=\"en\" id=\"langEn\" /&gt;\n            &lt;label for=\"langEn\"&gt;영어&lt;/label&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;선박 그룹 필터&lt;/div&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n            &lt;input type=\"radio\" name=\"trackGroupFilter\" value=\"true\" id=\"trackGroupFilterOn\" checked /&gt;\n            &lt;label for=\"trackGroupFilterOn\"&gt;필터 보기&lt;/label&gt;\n            &lt;input type=\"radio\" name=\"trackGroupFilter\" value=\"false\" id=\"trackGroupFilterOff\" /&gt;\n            &lt;label for=\"trackGroupFilterOff\"&gt;필터 숨기기&lt;/label&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;최초 상태&lt;/div&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n            &lt;input type=\"radio\" name=\"startMode\" value=\"LIST\" id=\"startModeList\" checked /&gt;\n            &lt;label for=\"startModeList\"&gt;목록 보기&lt;/label&gt;\n            &lt;input type=\"radio\" name=\"startMode\" value=\"HIDE_LIST\" id=\"startModeHideList\" /&gt;\n            &lt;label for=\"startModeHideList\"&gt;목록 숨기기&lt;/label&gt;\n            &lt;input type=\"radio\" name=\"startMode\" value=\"DETAIL\" id=\"startModeDetail\" /&gt;\n            &lt;label for=\"startModeDetail\"&gt;첫번째 선박 상세 보기&lt;/label&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;컨트롤러 기능 표기&lt;/div&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n            &lt;input type=\"checkbox\" name=\"controllers\" value=\"FULL_SCREEN\" id=\"controllersFullScreen\" checked /&gt;\n            &lt;label for=\"controllersFullScreen\"&gt;전체 화면&lt;/label&gt;\n            &lt;input type=\"checkbox\" name=\"controllers\" value=\"DIMENSION\" id=\"controllersDimension\" /&gt;\n            &lt;label for=\"controllersDimension\"&gt;차원 전환&lt;/label&gt;\n            &lt;input type=\"checkbox\" name=\"controllers\" value=\"LANG_SET\" id=\"controllersLangSet\" /&gt;\n            &lt;label for=\"controllersLangSet\"&gt;언어 전환&lt;/label&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;선박 상세 내 탭 노출&lt;/div&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n            &lt;input type=\"checkbox\" name=\"detailTabs\" value=\"PORT_CALLS\" id=\"detailTabsPortCalls\" /&gt;\n            &lt;label for=\"detailTabsPortCalls\"&gt;항로 탭&lt;/label&gt;\n            &lt;input type=\"checkbox\" name=\"detailTabs\" value=\"SAIL_LOG\" id=\"detailTabsSailLog\" /&gt;\n            &lt;label for=\"detailTabsSailLog\"&gt;항로 로그 탭&lt;/label&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;검색&lt;/div&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n            &lt;select name=\"searchType\" id=\"selectType\"&gt;\n              &lt;option value=\"keyword\"&gt;키워드&lt;/option&gt;\n              &lt;option value=\"trackGroup\"&gt;선박 그룹&lt;/option&gt;\n            &lt;/select&gt;\n            &lt;input type=\"text\" name=\"searchValue\" id=\"searchValue\" /&gt;\n          &lt;/div&gt;\n          &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;\n            &lt;button type=\"submit\" id=\"button_map\"&gt;조회&lt;/button&gt;\n            &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 입력 영역 끝      --&gt;\n            &lt;comment class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt; 지도 조회 영역 시작       --&gt;\n            &lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; id=\"frame\"&gt;\n              &lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;                style=\"border: 1px solid black; height: 700px; width: 100%\"\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;                allowfullscreen\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;                name=\"viewer\"\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;              &gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;              &amp;lt;/iframe&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;            &amp;lt;/div&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;            &amp;lt;comment class=&amp;amp;#x27;preserveHtml&amp;amp;#x27; class=&amp;amp;#x27;preserveHtml&amp;amp;#x27; class=&amp;amp;#x27;preserveHtml&amp;amp;#x27;&amp;gt; 지도 조회 영역 끝 &amp;lt;/comment&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;          &amp;lt;/div&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;        &amp;lt;/div&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;      &amp;lt;/div&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;    &amp;lt;/form&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;  &amp;lt;/body&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;  &amp;lt;script&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;      window.addEventListener(\"DOMContentLoaded\", () =&gt; {\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;        // 미들웨어에서 받은 토큰으로 &amp;lt;input type=&amp;quot;hidden&amp;quot; /&amp;gt; 생성\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;        fetch(\"{ 인증토큰 발행 EndPoint }\")\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;          .then((item) =&gt; item.text())\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;          .then((authToken) =&gt; {\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;            const input = document.createElement(\"input\");\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;            input.setAttribute(\"type\", \"hidden\");\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;            input.setAttribute(\"name\", \"authorization\");\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;            input.setAttribute(\"value\", authToken);\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;            const form = document.getElementById(\"viewer_form\");\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;            form.appendChild(input);\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;          });\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;      });\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;  &amp;lt;/script&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;div class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;&amp;lt;/html&amp;gt;\n&amp;#013;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;&lt;strong class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;&lt;/p&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; &gt;&lt;/p&gt;&lt;/x-turndown&gt;\n\n</code></pre>\n","_postman_id":"d2fde630-e838-4014-9d39-778b77f58e73"}],"id":"af8122eb-4e7f-48ff-976a-d3898991b9ee","_postman_id":"af8122eb-4e7f-48ff-976a-d3898991b9ee","description":""},{"name":"항만혼잡도 API","item":[{"name":"1. 항만혼잡도 조회","id":"c1956a1f-24ce-4c2c-a9a3-24680b59985e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/port-congestion?port_code_list=[Port Code],[Port Code]&average_period_type_list=[Average Period Type],[Average Period Type]","description":"<ul>\n<li><p>항만 코드(Port Code)를 입력하여 항만혼잡도 데이터를 조회합니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 30개의 Port Code를 조회할 수 있습니다.</p>\n</li>\n<li><p><code>content</code> 내 날짜 및 시간 필드는 ISO 8601 형식(<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)으로 제공됩니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td><code>string</code></td>\n<td>api 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>PortCongestion[]</code></td>\n<td>항구 혼잡도 데이터</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td><code>string</code></td>\n<td>응답이 제공된 시간</td>\n<td><code>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"항구-혼잡도-데이터---portcongestion\"><strong>항구 혼잡도 데이터 - PortCongestion</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>port_code</td>\n<td><code>string</code></td>\n<td>항만 코드</td>\n</tr>\n<tr>\n<td>port_name</td>\n<td><code>string</code></td>\n<td>항구 이름</td>\n</tr>\n<tr>\n<td>average_berth_delay_hours</td>\n<td><code>PeriodAverageValue[]</code></td>\n<td>평균 접안 지연 시간</td>\n</tr>\n<tr>\n<td>berth_pending_vessel_count</td>\n<td><code>number</code></td>\n<td>현재 접안 대기 선박 수</td>\n</tr>\n<tr>\n<td>average_berth_duration_hours</td>\n<td><code>PeriodAverageValue[]</code></td>\n<td>평균 접안 시간</td>\n</tr>\n<tr>\n<td>port_congestion_index_levels</td>\n<td><code>PCILevelValue[]</code></td>\n<td>포트 혼잡도 Index Level</td>\n</tr>\n<tr>\n<td>berthing_vessel_count</td>\n<td><code>number</code></td>\n<td>현재 접안 중인 선박 수</td>\n</tr>\n<tr>\n<td>latitude</td>\n<td><code>number</code></td>\n<td>항구 위도 좌표</td>\n</tr>\n<tr>\n<td>longitude</td>\n<td><code>number</code></td>\n<td>항구 경 좌표</td>\n</tr>\n<tr>\n<td>updated_datetime</td>\n<td><code>string</code></td>\n<td>업데이트 일시 (<code>yyyy-MM-dd'T'HH:mm:ssZ</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"평균-시간-데이터---periodaveragevalue\"><strong>평균 시간 데이터 - PeriodAverageValue</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>period_type</td>\n<td><code>string</code></td>\n<td>입력된 집계 기간</td>\n</tr>\n<tr>\n<td>value</td>\n<td><code>number</code></td>\n<td>평균 시간</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pci-level-data---pcilevelvalue\"><strong>PCI Level Data - PCILevelValue</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>period_type</td>\n<td><code>string</code></td>\n<td>입력된 집계 기간</td>\n</tr>\n<tr>\n<td>level</td>\n<td><code>string</code></td>\n<td>PCI Level 유형 (하단 리스트 참고)</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"pci-level-유형\"><strong>PCI Level 유형</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>LOW</td>\n<td>원활 (<code>0% &lt;= PCI Level &lt; 25%</code>)</td>\n</tr>\n<tr>\n<td>STABLE</td>\n<td>정상 (<code>25% &lt;= PCI Level &lt; 75%</code>)</td>\n</tr>\n<tr>\n<td>BUSY</td>\n<td>혼잡 (<code>75% &lt;= PCI Level &lt; 100%</code>)</td>\n</tr>\n<tr>\n<td>CONGESTED</td>\n<td>매우 혼잡 (<code>100% &lt;= PCI Level</code>)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","port-congestion"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>(required) 항만 코드 목록</p>\n","type":"text/plain"},"key":"port_code_list","value":"[Port Code],[Port Code]"},{"description":{"content":"<p>(required) 평균 집계 기간</p>\n","type":"text/plain"},"key":"average_period_type_list","value":"[Average Period Type],[Average Period Type]"}],"variable":[]}},"response":[{"id":"87f9b0fa-ad83-4c89-9cfa-13935ce07215","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/port-congestion?port_code_list=[Port Code],[Port Code]&average_period_type_list=[Average Period Type],[Average Period Type]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","port-congestion"],"query":[{"key":"port_code_list","value":"[Port Code],[Port Code]","description":"(required) 항만 코드 목록"},{"key":"average_period_type_list","value":"[Average Period Type],[Average Period Type]","description":"(required) 평균 집계 기간"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"transaction_time\": \"2026-01-12T01:22:55.347646\",\n  \"content\": [\n    {\n      \"port_code\": \"KRINC\",\n      \"port_name\": \"Incheon\",\n      \"average_berth_delay_hours\": [\n        {\n          \"period_type\": \"THREE_DAYS\",\n          \"value\": 13.1\n        },\n        {\n          \"period_type\": \"ONE_WEEK\",\n          \"value\": 9.23\n        },\n        {\n          \"period_type\": \"TWO_WEEKS\",\n          \"value\": 10.98\n        },\n        {\n          \"period_type\": \"ONE_MONTH\",\n          \"value\": 12.38\n        }\n      ],\n      \"berth_pending_vessel_count\": 20,\n      \"average_berth_duration_hours\": [\n        {\n          \"period_type\": \"THREE_DAYS\",\n          \"value\": 20.87\n        },\n        {\n          \"period_type\": \"ONE_WEEK\",\n          \"value\": 20.33\n        },\n        {\n          \"period_type\": \"TWO_WEEKS\",\n          \"value\": 22.08\n        },\n        {\n          \"period_type\": \"ONE_MONTH\",\n          \"value\": 24.77\n        }\n      ],\n      \"port_congestion_index_levels\": [\n        {\n          \"period_type\": \"THREE_DAYS\",\n          \"level\": \"STABLE\"\n        },\n        {\n          \"period_type\": \"ONE_WEEK\",\n          \"level\": \"STABLE\"\n        },\n        {\n          \"period_type\": \"TWO_WEEKS\",\n          \"level\": \"STABLE\"\n        },\n        {\n          \"period_type\": \"ONE_MONTH\",\n          \"level\": \"STABLE\"\n        }\n      ],\n      \"berthing_vessel_count\": 6,\n      \"latitude\": 37.343784,\n      \"longitude\": 126.631836,\n      \"updated_datetime\": \"2026-01-12T01:04:02Z\"\n    },\n    {\n      \"port_code\": \"KRPUS\",\n      \"port_name\": \"Busan\",\n      \"average_berth_delay_hours\": [\n        {\n          \"period_type\": \"THREE_DAYS\",\n          \"value\": 6.98\n        },\n        {\n          \"period_type\": \"ONE_WEEK\",\n          \"value\": 7.35\n        },\n        {\n          \"period_type\": \"TWO_WEEKS\",\n          \"value\": 8.0\n        },\n        {\n          \"period_type\": \"ONE_MONTH\",\n          \"value\": 9.13\n        }\n      ],\n      \"berth_pending_vessel_count\": 109,\n      \"average_berth_duration_hours\": [\n        {\n          \"period_type\": \"THREE_DAYS\",\n          \"value\": 14.95\n        },\n        {\n          \"period_type\": \"ONE_WEEK\",\n          \"value\": 16.08\n        },\n        {\n          \"period_type\": \"TWO_WEEKS\",\n          \"value\": 17.25\n        },\n        {\n          \"period_type\": \"ONE_MONTH\",\n          \"value\": 18.7\n        }\n      ],\n      \"port_congestion_index_levels\": [\n        {\n          \"period_type\": \"THREE_DAYS\",\n          \"level\": \"STABLE\"\n        },\n        {\n          \"period_type\": \"ONE_WEEK\",\n          \"level\": \"STABLE\"\n        },\n        {\n          \"period_type\": \"TWO_WEEKS\",\n          \"level\": \"STABLE\"\n        },\n        {\n          \"period_type\": \"ONE_MONTH\",\n          \"level\": \"STABLE\"\n        }\n      ],\n      \"berthing_vessel_count\": 30,\n      \"latitude\": 35.10612,\n      \"longitude\": 129.08546,\n      \"updated_datetime\": \"2026-01-12T01:04:02Z\"\n    }\n  ]\n}"},{"id":"cd205f35-00dc-4fe7-972d-38b30f1c52cf","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/port-congestion?port_code_list=[Port Code],[Port Code]&average_period_type_list=[Average Period Type],[Average Period Type]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","port-congestion"],"query":[{"key":"port_code_list","value":"[Port Code],[Port Code]","description":"(required) 항만 코드 목록"},{"key":"average_period_type_list","value":"[Average Period Type],[Average Period Type]","description":"(required) 평균 집계 기간"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_detail\": \"[average_period_type_list]: Required field is not provided.\",\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"transaction_time\": \"2025-08-28T07:21:13.367404\"\n}"},{"id":"3f0facc9-40c2-4954-a6ac-5e01bd9cdba7","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/port-congestion?port_code_list=[Port Code],[Port Code]&average_period_type_list=[Average Period Type],[Average Period Type]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","port-congestion"],"query":[{"key":"port_code_list","value":"[Port Code],[Port Code]","description":"(required) 항만 코드 목록"},{"key":"average_period_type_list","value":"[Average Period Type],[Average Period Type]","description":"(required) 평균 집계 기간"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"status\": 500,\n\t\"type\": \"Internal Server Error\",\n\t\"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"c1956a1f-24ce-4c2c-a9a3-24680b59985e"}],"id":"5c631236-a880-4cd6-81c8-413e8e342544","description":"<h3 id=\"✅-항만혼잡도-api--개요\">✅ 항만혼잡도 API — 개요</h3>\n<p>항만혼잡도 API는 AIS 선박 위치 데이터를 기반으로 항만의 혼잡도 정보를 제공합니다.</p>\n<p>접안 구역(Berth Area)과 묘박 구역(Anchorage Area)의 선박 운항 현황을 바탕으로 항만 혼잡도를 확인하고, 선박 운항 및 화물 운영에 미칠 수 있는 영향을 파악할 수 있습니다.</p>\n<p>지원하는 항만에 대해 표준화된 항만 혼잡도 데이터를 제공하여, 일관된 방식으로 항만 현황을 조회할 수 있습니다.</p>\n<h3 id=\"✅-별도-구독-필요\">✅ 별도 구독 필요</h3>\n<p>항만혼잡도 API는 별도 구독이 필요한 서비스이며, Ocean Visibility Enterprise Plan에는 포함되어 있지 않습니다.</p>\n<p>요금 및 이용 가능 여부는 담당 영업사원 또는 <a href=\"mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 문의해 주세요.</p>\n","_postman_id":"5c631236-a880-4cd6-81c8-413e8e342544"},{"name":"공급망 이슈 모니터링 API","item":[{"name":"1. 공급망 이슈 카테고리 조회","id":"40acb324-1274-4774-b26d-45f05f167299","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/supply-chain/categories","description":"<ul>\n<li>사용 가능한 공급망 이슈 카테고리 목록을 조회합니다.</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>API 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>SupplyChainCategoryV3Response[]</td>\n<td>공급망 이슈 카테고리 정보</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"공급망-이슈-카테고리-정보---supplychaincategoryv3response\"><strong>공급망 이슈 카테고리 정보 - SupplyChainCategoryV3Response</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>category_id</td>\n<td>number</td>\n<td>카테고리 아이디</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>카테고리 명</td>\n</tr>\n<tr>\n<td>display_name</td>\n<td>string</td>\n<td>카테고리의 전체 경로명</td>\n</tr>\n<tr>\n<td>level</td>\n<td>number</td>\n<td>카테고리 레벨</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","supply-chain","categories"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"317d7cec-18c6-47b9-a123-58de6a57d28f","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/supply-chain/categories"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"apiVersion\": \"v3\",\n  \"result\": [\n    {\n      \"category_id\": 1,\n      \"name\": \"SAMPLE_CATEGORY_NAME\",\n      \"display_name\": \"SAMPLE_CATEGORY_NAME\",\n      \"level\": 1,\n      \"parent_id\": null\n    },\n    {\n      \"category_id\": 2,\n      \"name\": \"SAMPLE_CATEGORY_NAME\",\n      \"display_name\": \"SAMPLE_UPPER_CATEGORY_NAME > SAMPLE_CATEGORY_NAME\",\n      \"level\": 2,\n      \"parent_id\": 1\n    }\n  ]\n}"},{"id":"faf3ad94-af12-4427-bbf6-e6ef687feeed","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/supply-chain/categories"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_detail\": \"This feature is not supported on your current plan.\",\n  \"transaction_time\": \"2025-09-08 01:54:43\",\n  \"message\": \"UNSUPPORTED_FEATURE\"\n}"},{"id":"ad4d7758-a8df-4e2c-befb-fc9d84ee3e45","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/supply-chain/categories"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": 500,\n  \"type\": \"Internal Server Error\",\n  \"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"40acb324-1274-4774-b26d-45f05f167299"},{"name":"2. 공급망 이슈 기사 조회","id":"e9656bd6-30cb-4d71-9c38-9d61f2652640","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/supply-chain/articles?category_ids=[Category ID],[Category ID],[Category ID]&published_from=[Published From]&published_to=[Published To]&page=[Page]&size=[Size]","description":"<ul>\n<li><p>공급망 이슈 기사 목록을 조회합니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 50개의 기사를 조회할 수 있습니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>API 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>SupplyChainArticlesV3Response[]</td>\n<td>공급망 이슈 기사</td>\n<td></td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>서버 메시지</td>\n<td>필요한 경우 제공</td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"공급망-이슈-기사---supplychainarticlesv3response\"><strong>공급망 이슈 기사 - SupplyChainArticlesV3Response</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>기사 제목</td>\n</tr>\n<tr>\n<td>categories</td>\n<td>string[]</td>\n<td>카테고리 명</td>\n</tr>\n<tr>\n<td>link</td>\n<td>string</td>\n<td>기사링크</td>\n</tr>\n<tr>\n<td>published_at</td>\n<td>string</td>\n<td>게시일 (yyyy-MM-dd'T'HH:mm:ssZ)</td>\n</tr>\n<tr>\n<td>source</td>\n<td>number</td>\n<td>기사 출처명</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","supply-chain","articles"],"host":["https://api.tradlinx.com"],"query":[{"description":{"content":"<p>진행 상태</p>\n","type":"text/plain"},"key":"category_ids","value":"[Category ID],[Category ID],[Category ID]"},{"description":{"content":"<p>게시일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"published_from","value":"[Published From]"},{"description":{"content":"<p>게시일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)</p>\n","type":"text/plain"},"key":"published_to","value":"[Published To]"},{"description":{"content":"<p>(required) 페이지 번호 (최소: 1)</p>\n","type":"text/plain"},"key":"page","value":"[Page]"},{"description":{"content":"<p>(required) 페이지 크기 (범위: 1~50)</p>\n","type":"text/plain"},"key":"size","value":"[Size]"}],"variable":[]}},"response":[{"id":"f7acfaf1-bd02-4dcd-bb73-5f5d5b319683","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/supply-chain/articles?category_ids=[Category ID],[Category ID],[Category ID]&published_from=[Published From]&published_to=[Published To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","supply-chain","articles"],"query":[{"key":"category_ids","value":"[Category ID],[Category ID],[Category ID]","description":"진행 상태"},{"key":"published_from","value":"[Published From]","description":"게시일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"published_to","value":"[Published To]","description":"게시일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"api_version\": \"v3\",\n  \"content\": [\n    {\n      \"title\": \"SAMPLE_TITLE_NAME\",\n      \"categories\": [\n        \"SAMPLE_CATEGORY_NAME\"\n      ],\n      \"link\": \"SAMPLE_LINK\",\n      \"published_at\": \"2025-09-08T00:00:00Z\",\n      \"source\": \"SAMPLE_SOURCE_NAME\"\n    },\n    {\n      \"title\": \"SAMPLE_TITLE_NAME\",\n      \"categories\": [\n        \"SAMPLE_CATEGORY_NAME_1\",\n        \"SAMPLE_CATEGORY_NAME_2\"\n      ],\n      \"link\": \"SAMPLE_LINK\",\n      \"published_at\": \"2025-09-08T00:00:00Z\",\n      \"source\": \"SAMPLE_SOURCE_NAME\"\n    }\n  ],\n  \"message\": \"SAMPLE_ERROR_CODE\",\n  \"pagination\": {\n    \"current_page\": 0,\n    \"has_next\": false,\n    \"total_page\": 0,\n    \"total_size\": 0\n  },\n  \"size\": 1,\n  \"transaction_time\": \"2025-09-08T02:08:01.397Z\"\n}"},{"id":"44335eb6-b5b2-4dae-bc48-34b73d5711ea","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/supply-chain/articles?category_ids=[Category ID],[Category ID],[Category ID]&published_from=[Published From]&published_to=[Published To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","supply-chain","articles"],"query":[{"key":"category_ids","value":"[Category ID],[Category ID],[Category ID]","description":"진행 상태"},{"key":"published_from","value":"[Published From]","description":"게시일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"published_to","value":"[Published To]","description":"게시일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_detail\": \"This feature is not supported on your current plan.\",\n  \"transaction_time\": \"2025-09-08 01:54:43\",\n  \"message\": \"UNSUPPORTED_FEATURE\"\n}"},{"id":"66603f03-cbaa-4b4e-8d73-5685015c3e28","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"https://api.tradlinx.com/partners/track/v3/supply-chain/articles?category_ids=[Category ID],[Category ID],[Category ID]&published_from=[Published From]&published_to=[Published To]&page=[Page]&size=[Size]","host":["https://api.tradlinx.com"],"path":["partners","track","v3","supply-chain","articles"],"query":[{"key":"category_ids","value":"[Category ID],[Category ID],[Category ID]","description":"진행 상태"},{"key":"published_from","value":"[Published From]","description":"게시일 범위 (시작일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"published_to","value":"[Published To]","description":"게시일 범위 (종료일)(ISO 8601 날짜 형식: yyyy-MM-dd'T'HH:mm:ssXXX)"},{"key":"page","value":"[Page]","description":"(required) 페이지 번호 (최소: 1)"},{"key":"size","value":"[Size]","description":"(required) 페이지 크기 (범위: 1~50)"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": 500,\n  \"type\": \"Internal Server Error\",\n  \"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"e9656bd6-30cb-4d71-9c38-9d61f2652640"}],"id":"f4c2cb68-1994-4305-8d05-d12553e54bb2","description":"<h3 id=\"✅-공급망-이슈-모니터링--개요\">✅ 공급망 이슈 모니터링 — 개요</h3>\n<p>공급망 이슈 모니터링 API는 해상 물류와 관련된 Supply Chain 뉴스를 제공합니다.</p>\n<p>API를 통해 물류 운영에 영향을 줄 수 있는 뉴스 및 이벤트를 조회할 수 있습니다.</p>\n<h3 id=\"✅-별도-구독-필요\">✅ 별도 구독 필요</h3>\n<p>공급망 이슈 모니터링 API는 별도 구독이 필요한 서비스이며, 다른 API 구독에 포함되지 않습니다.</p>\n<p>요금 및 이용 가능 여부는 담당 영업사원 또는 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 문의해 주세요.</p>\n","_postman_id":"f4c2cb68-1994-4305-8d05-d12553e54bb2"},{"name":"FCL 스케줄 API","item":[{"name":"Port 목록 조회 API","id":"a57c977d-35a0-4a83-94ca-a24ac9deb354","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/fcl/port","description":"<ul>\n<li>전체 Port 목록을 조회합니다.</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<ul>\n<li>응답은 <code>Port</code> 객체의 배열(<code>Port[]</code>)로 제공됩니다.</li>\n</ul>\n<h5 id=\"포트---port\"><strong>포트 - Port</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>locationId</td>\n<td><code>number</code></td>\n<td>위치 ID</td>\n</tr>\n<tr>\n<td>countryCode</td>\n<td><code>string</code></td>\n<td>국가 코드</td>\n</tr>\n<tr>\n<td>countryName</td>\n<td><code>string</code></td>\n<td>국가 이름 (영문)</td>\n</tr>\n<tr>\n<td>countryNameKorean</td>\n<td><code>string</code></td>\n<td>국가 이름 (한글)</td>\n</tr>\n<tr>\n<td>portCode</td>\n<td><code>string</code></td>\n<td>항구 코드</td>\n</tr>\n<tr>\n<td>portName</td>\n<td><code>string</code></td>\n<td>항구 이름 (영문)</td>\n</tr>\n<tr>\n<td>portNameKorean</td>\n<td><code>string</code></td>\n<td>항구 이름 (한글)</td>\n</tr>\n<tr>\n<td>label</td>\n<td><code>string</code></td>\n<td>항구 레이블 (이름과 코드, 국가 정보 포함)</td>\n</tr>\n<tr>\n<td>latitude</td>\n<td><code>number</code></td>\n<td>위도</td>\n</tr>\n<tr>\n<td>longitude</td>\n<td><code>number</code></td>\n<td>경도</td>\n</tr>\n<tr>\n<td>timeZone</td>\n<td><code>number</code></td>\n<td>시간대</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["fcl","port"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"a5715897-58c7-4efd-b0ec-18dcaf822e4b","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/fcl/port"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:43:47 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"locationId\": 114517,\n        \"countryCode\": \"DK\",\n        \"countryName\": \"Denmark\",\n        \"countryNameKorean\": \"덴마크\",\n        \"portCode\": \"DKAAL\",\n        \"portName\": \"Aalborg\",\n        \"portNameKorean\": null,\n        \"label\": \"Aalborg(DKAAL) / Denmark\",\n        \"latitude\": 57.04882,\n        \"longitude\": 9.921747,\n        \"timeZone\": 2\n    },\n    {\n        \"locationId\": 104982,\n        \"countryCode\": \"DK\",\n        \"countryName\": \"Denmark\",\n        \"countryNameKorean\": \"덴마크\",\n        \"portCode\": \"DKAAR\",\n        \"portName\": \"Aarhus\",\n        \"portNameKorean\": \"오르후스\",\n        \"label\": \"Aarhus(DKAAR) / Denmark\",\n        \"latitude\": 56.15177,\n        \"longitude\": 10.225353,\n        \"timeZone\": 2\n    },\n    {\n        \"locationId\": 104909,\n        \"countryCode\": \"CI\",\n        \"countryName\": \"Cote d'Ivoire\",\n        \"countryNameKorean\": \"코트디부아르\",\n        \"portCode\": \"CIABJ\",\n        \"portName\": \"Abidjan\",\n        \"portNameKorean\": \"아비장\",\n        \"label\": \"Abidjan(CIABJ) / Cote d'Ivoire\",\n        \"latitude\": 5.2817135,\n        \"longitude\": -4.011777,\n        \"timeZone\": 0\n    },\n    {\n        \"locationId\": 104840,\n        \"countryCode\": \"AE\",\n        \"countryName\": \"United Arab Emirates\",\n        \"countryNameKorean\": \"아랍에미리트 연합\",\n        \"portCode\": \"AEAUH\",\n        \"portName\": \"Abu Dhabi\",\n        \"portNameKorean\": \"아부다비\",\n        \"label\": \"Abu Dhabi(AEAUH) / United Arab Emirates\",\n        \"latitude\": 24.516317,\n        \"longitude\": 54.36686,\n        \"timeZone\": 4\n    },\n    {\n        \"locationId\": 140144,\n        \"countryCode\": \"EG\",\n        \"countryName\": \"Egypt\",\n        \"countryNameKorean\": \"이집트\",\n        \"portCode\": \"EGAKI\",\n        \"portName\": \"Abu Kir\",\n        \"portNameKorean\": \"아부 퀴르\",\n        \"label\": \"Abu Kir(EGAKI) / Egypt\",\n        \"latitude\": 31.312838,\n        \"longitude\": 30.067425,\n        \"timeZone\": 2\n    }\n]"},{"id":"2d2eaa3c-43a7-412a-a2b4-464bde3399c7","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/fcl/port"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:43:47 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"VALIDATION_ERROR\",\n  \"message\": \"VALIDATION ERRORS\",\n  \"error\": [\n    {\n      \"field\": \"email\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"Email\",\n      \"defaultMessage\": \"must be a well-formed email address\",\n      \"rejectedValue\": \"zobbb.com\"\n    },\n    {\n      \"field\": \"name\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"NotEmpty\",\n      \"defaultMessage\": \"must not be empty\",\n      \"rejectedValue\": \"\"\n    }\n  ]\n}"},{"id":"0cf62a72-b674-4570-aaf8-75afc1918362","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/fcl/port"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:43:47 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"},{"id":"ed7d66c9-a15c-4c97-9930-a91813e164f0","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/fcl/port"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"}],"_postman_id":"a57c977d-35a0-4a83-94ca-a24ac9deb354"},{"name":"FCL 스케줄 목록 조회 API","id":"3c89205c-0e00-4f5f-aed0-51eb562cd3a9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/fcl/client/schedule/:departurePort/:arrivalPort","description":"<ul>\n<li><p>FCL 스케줄 목록을 조회합니다.</p>\n</li>\n<li><p>페이징 정보가 없거나 유효하지 않을 경우 전체 데이터를 반환합니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td><code>FclSchedule[]</code></td>\n<td>FCL 스케줄 목록</td>\n</tr>\n<tr>\n<td>pageable</td>\n<td><code>Pageable</code></td>\n<td>페이지 정보</td>\n</tr>\n<tr>\n<td>last</td>\n<td><code>boolean</code></td>\n<td>마지막 페이지 여부</td>\n</tr>\n<tr>\n<td>totalPages</td>\n<td><code>number</code></td>\n<td>총 페이지 수</td>\n</tr>\n<tr>\n<td>totalElements</td>\n<td><code>number</code></td>\n<td>총 데이터 수</td>\n</tr>\n<tr>\n<td>first</td>\n<td><code>boolean</code></td>\n<td>첫 페이지 여부</td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>number</code></td>\n<td>페이지당 데이터 개수</td>\n</tr>\n<tr>\n<td>number</td>\n<td><code>number</code></td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>sort</td>\n<td><code>Sort</code></td>\n<td>정렬 정보</td>\n</tr>\n<tr>\n<td>numberOfElements</td>\n<td><code>number</code></td>\n<td>현재 페이지의 데이터 개수</td>\n</tr>\n<tr>\n<td>empty</td>\n<td><code>boolean</code></td>\n<td>현재 페이지가 비어 있는지 여부</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"fcl-스케줄---fclschedule\"><strong>FCL 스케줄 - FclSchedule</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>scheduleId</td>\n<td><code>string</code></td>\n<td>스케줄 ID</td>\n</tr>\n<tr>\n<td>shipperCode</td>\n<td><code>string</code></td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>shipperName</td>\n<td><code>string</code></td>\n<td>선사 명</td>\n</tr>\n<tr>\n<td>departurePortCode</td>\n<td><code>string</code></td>\n<td>출발항 코드</td>\n</tr>\n<tr>\n<td>departurePortName</td>\n<td><code>string</code></td>\n<td>출발항 이름</td>\n</tr>\n<tr>\n<td>departureEta</td>\n<td><code>string</code></td>\n<td>출발 예정 도착 시간 (ETA)</td>\n</tr>\n<tr>\n<td>departureEtd</td>\n<td><code>string</code></td>\n<td>출발 예정 출발 시간 (ETD)</td>\n</tr>\n<tr>\n<td>arrivalPortCode</td>\n<td><code>string</code></td>\n<td>도착항 코드</td>\n</tr>\n<tr>\n<td>arrivalPortName</td>\n<td><code>string</code></td>\n<td>도착항 이름</td>\n</tr>\n<tr>\n<td>arrivalEta</td>\n<td><code>string</code></td>\n<td>도착 예정 도착 시간 (ETA)</td>\n</tr>\n<tr>\n<td>arrivalEtd</td>\n<td><code>string</code></td>\n<td>도착 예정 출발 시간 (ETD)</td>\n</tr>\n<tr>\n<td>vesselName</td>\n<td><code>string</code></td>\n<td>선박 이름</td>\n</tr>\n<tr>\n<td>vesselVoyage</td>\n<td><code>string</code></td>\n<td>선박 항차</td>\n</tr>\n<tr>\n<td>serviceCode</td>\n<td><code>string</code></td>\n<td>서비스 코드</td>\n</tr>\n<tr>\n<td>tt</td>\n<td><code>number</code></td>\n<td>운송 소요일</td>\n</tr>\n<tr>\n<td>transportationType</td>\n<td><code>string</code></td>\n<td>운송 종류 (1: Direct, 2: T/S)</td>\n</tr>\n<tr>\n<td>cargoClosingDateTime</td>\n<td><code>string</code></td>\n<td>화물 마감 일시</td>\n</tr>\n<tr>\n<td>documentClosingDateTime</td>\n<td><code>string</code></td>\n<td>서류 마감 일시</td>\n</tr>\n<tr>\n<td>linePlanUrl</td>\n<td><code>string</code></td>\n<td>선사의 스케줄 조회 페이지 URL</td>\n</tr>\n<tr>\n<td>twentyFootContainerFare</td>\n<td><code>number</code></td>\n<td>공표 운임 - 20FT 컨테이너 요금</td>\n</tr>\n<tr>\n<td>fortyFootContainerFare</td>\n<td><code>number</code></td>\n<td>공표 운임 - 40FT 컨테이너 요금</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"페이지-정보---pageable\"><strong>페이지 정보 - Pageable</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pageNumber</td>\n<td><code>number</code></td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>pageSize</td>\n<td><code>number</code></td>\n<td>페이지당 데이터 개수</td>\n</tr>\n<tr>\n<td>offset</td>\n<td><code>number</code></td>\n<td>페이지 시작 위치</td>\n</tr>\n<tr>\n<td>paged</td>\n<td><code>boolean</code></td>\n<td>페이징 여부</td>\n</tr>\n<tr>\n<td>unpaged</td>\n<td><code>boolean</code></td>\n<td>페이징되지 않은 여부</td>\n</tr>\n<tr>\n<td>sort</td>\n<td><code>Sort</code></td>\n<td>정렬 정보</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"정렬-정보---sort\"><strong>정렬 정보 - Sort</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>empty</td>\n<td><code>boolean</code></td>\n<td>정렬 조건이 비어 있는지 여부</td>\n</tr>\n<tr>\n<td>unsorted</td>\n<td><code>boolean</code></td>\n<td>정렬되지 않았는지 여부</td>\n</tr>\n<tr>\n<td>sorted</td>\n<td><code>boolean</code></td>\n<td>정렬되었는지 여부</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["fcl","client","schedule",":departurePort",":arrivalPort"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"64039a89-1a5c-43f0-bc6e-9bdf173ca752","type":"any","value":"KRPUS","key":"departurePort"},{"id":"cdec764d-7b2c-4edc-a0c2-26645e050b41","type":"any","value":"USLAX","key":"arrivalPort"}]}},"response":[{"id":"88a07ae1-bd09-401d-9715-5ee155834db3","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/fcl/client/schedule/:departurePort/:arrivalPort","host":["https://api.tradlinx.com"],"path":["fcl","client","schedule",":departurePort",":arrivalPort"],"variable":[{"key":"departurePort","value":"KRPUS"},{"key":"arrivalPort","value":"USLAX"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:45:24 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n    \"content\": [\n        {\n            \"scheduleId\": \"MAE_105169_105373_d940f49186dde90440a7da\",\n            \"shipperCode\": \"MAE\",\n            \"shipperName\": \"MAERSK\",\n            \"departurePortCode\": \"KRPUS\",\n            \"departurePortName\": \"Busan\",\n            \"departureEta\": null,\n            \"departureEtd\": \"202606300700\",\n            \"arrivalPortCode\": \"USLAX\",\n            \"arrivalPortName\": \"Los Angeles, CA\",\n            \"arrivalEta\": \"202607190600\",\n            \"arrivalEtd\": null,\n            \"vesselName\": \"POTOMAC EXPRESS\",\n            \"vesselVoyage\": \"626E\",\n            \"serviceCode\": \"707\",\n            \"tt\": 19,\n            \"transportationType\": \"1\",\n            \"cargoClosingDateTime\": \"202606271800\",\n            \"documentClosingDateTime\": \"202606250900\",\n            \"linePlanUrl\": \"https://my.maerskline.com/schedules\",\n            \"twentyFootContainerFare\": null,\n            \"fortyFootContainerFare\": null\n        },\n        {\n            \"scheduleId\": \"SML_105169_105373_6446c58be948f40fd9c5ba\",\n            \"shipperCode\": \"SML\",\n            \"shipperName\": \"SM Line\",\n            \"departurePortCode\": \"KRPUS\",\n            \"departurePortName\": \"Busan\",\n            \"departureEta\": null,\n            \"departureEtd\": \"202607010800\",\n            \"arrivalPortCode\": \"USLAX\",\n            \"arrivalPortName\": \"Los Angeles, CA\",\n            \"arrivalEta\": \"20260712\",\n            \"arrivalEtd\": null,\n            \"vesselName\": \"SM NINGBO\",\n            \"vesselVoyage\": \"2605E\",\n            \"serviceCode\": \"CPX\",\n            \"tt\": 11,\n            \"transportationType\": \"2\",\n            \"cargoClosingDateTime\": \"202606300700\",\n            \"documentClosingDateTime\": \"202606261500\",\n            \"linePlanUrl\": \"https://esvc.smlines.com/smline/CUP_HOM_3001.do?sessLocale=ko\",\n            \"twentyFootContainerFare\": null,\n            \"fortyFootContainerFare\": null\n        },\n        {\n            \"scheduleId\": \"SML_105169_105373_8d414ab584ad82b4ac9149\",\n            \"shipperCode\": \"SML\",\n            \"shipperName\": \"SM Line\",\n            \"departurePortCode\": \"KRPUS\",\n            \"departurePortName\": \"Busan\",\n            \"departureEta\": null,\n            \"departureEtd\": \"202607012100\",\n            \"arrivalPortCode\": \"USLAX\",\n            \"arrivalPortName\": \"Los Angeles, CA\",\n            \"arrivalEta\": \"202607131300\",\n            \"arrivalEtd\": null,\n            \"vesselName\": \"HMM HANUL\",\n            \"vesselVoyage\": \"0026E\",\n            \"serviceCode\": \"PS6\",\n            \"tt\": 12,\n            \"transportationType\": \"1\",\n            \"cargoClosingDateTime\": \"202606291300\",\n            \"documentClosingDateTime\": \"202606261100\",\n            \"linePlanUrl\": \"https://esvc.smlines.com/smline/CUP_HOM_3001.do?sessLocale=ko\",\n            \"twentyFootContainerFare\": 4920,\n            \"fortyFootContainerFare\": 6150\n        },\n        {\n            \"scheduleId\": \"HMM_105169_105373_0d4e789997f79129f2cf2e\",\n            \"shipperCode\": \"HMM\",\n            \"shipperName\": \"HMM\",\n            \"departurePortCode\": \"KRPUS\",\n            \"departurePortName\": \"Busan\",\n            \"departureEta\": null,\n            \"departureEtd\": \"202607012100\",\n            \"arrivalPortCode\": \"USLAX\",\n            \"arrivalPortName\": \"Los Angeles, CA\",\n            \"arrivalEta\": \"202607131700\",\n            \"arrivalEtd\": null,\n            \"vesselName\": \"HMM HANUL\",\n            \"vesselVoyage\": \"0026E\",\n            \"serviceCode\": \"PS6\",\n            \"tt\": 12,\n            \"transportationType\": \"1\",\n            \"cargoClosingDateTime\": \"202606291300\",\n            \"documentClosingDateTime\": \"202606251700\",\n            \"linePlanUrl\": \"https://www.hmm21.com/cms/business/ebiz/schedule/trade/index.jsp\",\n            \"twentyFootContainerFare\": 4200,\n            \"fortyFootContainerFare\": 5400\n        },\n        {\n            \"scheduleId\": \"ZIM_105169_105373_d14d24b43cd194c58b4d57\",\n            \"shipperCode\": \"ZIM\",\n            \"shipperName\": \"Zim\",\n            \"departurePortCode\": \"KRPUS\",\n            \"departurePortName\": \"Busan\",\n            \"departureEta\": null,\n            \"departureEtd\": \"202607021200\",\n            \"arrivalPortCode\": \"USLAX\",\n            \"arrivalPortName\": \"Los Angeles, CA\",\n            \"arrivalEta\": \"202607282300\",\n            \"arrivalEtd\": null,\n            \"vesselName\": \"MAERSK NARVIK\",\n            \"vesselVoyage\": \"21\",\n            \"serviceCode\": \"QNG\",\n            \"tt\": 26,\n            \"transportationType\": \"2\",\n            \"cargoClosingDateTime\": \"202607020400\",\n            \"documentClosingDateTime\": \"202606301500\",\n            \"linePlanUrl\": \"http://www.zim.com/pages/findyourroute.aspx\",\n            \"twentyFootContainerFare\": 1100,\n            \"fortyFootContainerFare\": 1350\n        }\n    ],\n    \"pageable\": \"INSTANCE\",\n    \"last\": true,\n    \"totalElements\": 113,\n    \"totalPages\": 1,\n    \"first\": true,\n    \"size\": 113,\n    \"number\": 0,\n    \"sort\": [],\n    \"numberOfElements\": 113,\n    \"empty\": false\n}"},{"id":"76e1db3c-97a1-4da7-9f58-99ab7ecfa1b6","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/fcl/client/schedule/:departurePort/:arrivalPort","host":["https://api.tradlinx.com"],"path":["fcl","client","schedule",":departurePort",":arrivalPort"],"variable":[{"key":"departurePort","value":"KRPUS"},{"key":"arrivalPort","value":"USLAX"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:45:24 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"VALIDATION_ERROR\",\n  \"message\": \"VALIDATION ERRORS\",\n  \"error\": [\n    {\n      \"field\": \"email\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"Email\",\n      \"defaultMessage\": \"must be a well-formed email address\",\n      \"rejectedValue\": \"zobbb.com\"\n    },\n    {\n      \"field\": \"name\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"NotEmpty\",\n      \"defaultMessage\": \"must not be empty\",\n      \"rejectedValue\": \"\"\n    }\n  ]\n}"},{"id":"3661a428-0b19-487e-99ab-056c454b9bf2","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/fcl/client/schedule/:departurePort/:arrivalPort","host":["https://api.tradlinx.com"],"path":["fcl","client","schedule",":departurePort",":arrivalPort"],"variable":[{"key":"departurePort","value":"KRPUS"},{"key":"arrivalPort","value":"USLAX"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:45:24 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"},{"id":"186c564f-6d9b-4aa7-9323-f8b42e8642c5","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/fcl/client/schedule/:departurePort/:arrivalPort","host":["https://api.tradlinx.com"],"path":["fcl","client","schedule",":departurePort",":arrivalPort"],"variable":[{"key":"departurePort","value":"KRPUS"},{"key":"arrivalPort","value":"USLAX"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"value":"application/json","key":"Content-Type"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"}],"_postman_id":"3c89205c-0e00-4f5f-aed0-51eb562cd3a9"},{"name":"FCL 스케줄 상세 조회 API","id":"271b06c9-86bc-4dbb-8902-67ae18a95f6d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/fcl/client/schedule/:id","description":"<ul>\n<li>FCL 스케줄의 세부 정보를 조회합니다.</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<ul>\n<li>응답은 <code>FclScheduleDetail</code> 객체의 배열(<code>FclScheduleDetail[]</code>)로 제공됩니다.</li>\n</ul>\n<h5 id=\"fcl-스케줄-상세---fclscheduledetail\"><strong>FCL 스케줄 상세 - FclScheduleDetail</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>scheduleSubId</td>\n<td><code>string</code></td>\n<td>서브 스케줄 ID</td>\n</tr>\n<tr>\n<td>scheduleId</td>\n<td><code>string</code></td>\n<td>스케줄 ID</td>\n</tr>\n<tr>\n<td>seq</td>\n<td><code>number</code></td>\n<td>서브 스케줄의 Sequence</td>\n</tr>\n<tr>\n<td>shipperCode</td>\n<td><code>string</code></td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>shipperName</td>\n<td><code>string</code></td>\n<td>선사 이름</td>\n</tr>\n<tr>\n<td>serviceCode</td>\n<td><code>string</code></td>\n<td>서비스 코드(또는 명)</td>\n</tr>\n<tr>\n<td>arrivalEta</td>\n<td><code>string</code></td>\n<td>도착 예정 시간 (ETA)</td>\n</tr>\n<tr>\n<td>arrivalEtd</td>\n<td><code>string</code></td>\n<td>도착 출발 시간 (ETD)</td>\n</tr>\n<tr>\n<td>arrivalLocationId</td>\n<td><code>number</code></td>\n<td>도착 위치 ID</td>\n</tr>\n<tr>\n<td>arrivalPortName</td>\n<td><code>string</code></td>\n<td>도착 항구 이름</td>\n</tr>\n<tr>\n<td>arrivalTerminalName</td>\n<td><code>string</code></td>\n<td>도착 터미널 이름</td>\n</tr>\n<tr>\n<td>departureEta</td>\n<td><code>string</code></td>\n<td>출발 예정 시간 (ETA)</td>\n</tr>\n<tr>\n<td>departureEtd</td>\n<td><code>string</code></td>\n<td>출발 출발 시간 (ETD)</td>\n</tr>\n<tr>\n<td>departureLocationId</td>\n<td><code>number</code></td>\n<td>출발 위치 ID</td>\n</tr>\n<tr>\n<td>departurePortName</td>\n<td><code>string</code></td>\n<td>출발 항구 이름</td>\n</tr>\n<tr>\n<td>departureTerminalName</td>\n<td><code>string</code></td>\n<td>출발 터미널 이름</td>\n</tr>\n<tr>\n<td>vesselName</td>\n<td><code>string</code></td>\n<td>선박 이름</td>\n</tr>\n<tr>\n<td>voyage</td>\n<td><code>string</code></td>\n<td>항차</td>\n</tr>\n<tr>\n<td>vesselDetails</td>\n<td><code>VesselDetails</code></td>\n<td>선박 세부 정보</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"선박-세부-정보---vesseldetails\"><strong>선박 세부 정보 - VesselDetails</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>vesselId</td>\n<td><code>number</code></td>\n<td>선박 ID</td>\n</tr>\n<tr>\n<td>vesselName</td>\n<td><code>string</code></td>\n<td>선박 이름</td>\n</tr>\n<tr>\n<td>builtYear</td>\n<td><code>string</code></td>\n<td>건조 연도</td>\n</tr>\n<tr>\n<td>countryCode</td>\n<td><code>string</code></td>\n<td>국가 코드</td>\n</tr>\n<tr>\n<td>countryName</td>\n<td><code>string</code></td>\n<td>국가 이름</td>\n</tr>\n<tr>\n<td>depth</td>\n<td><code>number</code></td>\n<td>선박 깊이</td>\n</tr>\n<tr>\n<td>length</td>\n<td><code>number</code></td>\n<td>선박 길이</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>number</code></td>\n<td>선박 너비</td>\n</tr>\n<tr>\n<td>deadweightTonnage</td>\n<td><code>number</code></td>\n<td>총 톤수</td>\n</tr>\n<tr>\n<td>imoNumber</td>\n<td><code>string</code></td>\n<td>IMO 번호</td>\n</tr>\n<tr>\n<td>mmsi</td>\n<td><code>string</code></td>\n<td>MMSI</td>\n</tr>\n<tr>\n<td>callSign</td>\n<td><code>string</code></td>\n<td>Call Sign</td>\n</tr>\n<tr>\n<td>operatorCode</td>\n<td><code>string</code></td>\n<td>운항 선사 Code</td>\n</tr>\n<tr>\n<td>operatorName</td>\n<td><code>string</code></td>\n<td>운항 선사 명</td>\n</tr>\n<tr>\n<td>plug</td>\n<td><code>number</code></td>\n<td>plug</td>\n</tr>\n<tr>\n<td>speed</td>\n<td><code>number</code></td>\n<td>속도</td>\n</tr>\n<tr>\n<td>teu</td>\n<td><code>number</code></td>\n<td>TEU</td>\n</tr>\n<tr>\n<td>waterLine</td>\n<td><code>number</code></td>\n<td>흘수</td>\n</tr>\n<tr>\n<td>grossRegisteredTonnage</td>\n<td><code>number</code></td>\n<td>총 등록 톤수</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["fcl","client","schedule",":id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"id":"68097bf9-f6e1-4f37-b639-90fb7ca4b74c","type":"any","value":"SCHEDULE_ID","key":"id"}]}},"response":[{"id":"d3129ab3-f320-4bb9-898c-b895d9300669","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/fcl/client/schedule/:id","host":["https://api.tradlinx.com"],"path":["fcl","client","schedule",":id"],"variable":[{"key":"id","value":"MAE_105169_105373_d940f49186dde90440a7da"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:46:22 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"scheduleSubId\": \"MAE_105169_105373_d940f49186dde90440a7da-0\",\n        \"scheduleId\": \"MAE_105169_105373_d940f49186dde90440a7da\",\n        \"seq\": 0,\n        \"shipperCode\": \"MAE\",\n        \"shipperName\": \"MAERSK\",\n        \"serviceCode\": \"707\",\n        \"arrivalEta\": \"202607190600\",\n        \"arrivalEtd\": null,\n        \"arrivalLocationId\": 105373,\n        \"arrivalPortName\": \"Los Angeles, CA\",\n        \"arrivalTerminalName\": \"LSA APM Terminal Pier 400( W185 )\",\n        \"departureEta\": null,\n        \"departureEtd\": \"202606300700\",\n        \"departureLocationId\": 105169,\n        \"departurePortName\": \"Busan\",\n        \"departureTerminalName\": \"Busan new port terminal Co.ltd\",\n        \"vesselDetails\": {\n            \"vesselId\": 3513,\n            \"vesselName\": \"POTOMAC EXPRESS\",\n            \"builtYear\": \"2008\",\n            \"countryCode\": null,\n            \"countryName\": null,\n            \"depth\": null,\n            \"length\": null,\n            \"width\": null,\n            \"deadweightTonnage\": 85517,\n            \"imoNumber\": \"9349526\",\n            \"mmsi\": \"366418000\",\n            \"callSign\": \"WDM2204\",\n            \"operatorCode\": \"UAC\",\n            \"operatorName\": \"UASC\",\n            \"plug\": 486,\n            \"speed\": 25,\n            \"teu\": 6435,\n            \"waterLine\": null,\n            \"grossRegisteredTonnage\": 75579\n        },\n        \"vesselName\": \"POTOMAC EXPRESS\",\n        \"voyage\": \"626E\"\n    }\n]"},{"id":"0c938f8c-088b-473a-8008-b7d41c255773","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/fcl/client/schedule/:id","host":["https://api.tradlinx.com"],"path":["fcl","client","schedule",":id"],"variable":[{"key":"id","value":"MAE_105169_105373_d940f49186dde90440a7da"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:46:22 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"VALIDATION_ERROR\",\n  \"message\": \"VALIDATION ERRORS\",\n  \"error\": [\n    {\n      \"field\": \"email\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"Email\",\n      \"defaultMessage\": \"must be a well-formed email address\",\n      \"rejectedValue\": \"zobbb.com\"\n    },\n    {\n      \"field\": \"name\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"NotEmpty\",\n      \"defaultMessage\": \"must not be empty\",\n      \"rejectedValue\": \"\"\n    }\n  ]\n}"},{"id":"acb8cf37-23ae-41a3-a9e3-c38e2084f391","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/fcl/client/schedule/:id","host":["https://api.tradlinx.com"],"path":["fcl","client","schedule",":id"],"variable":[{"key":"id","value":"MAE_105169_105373_d940f49186dde90440a7da"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:46:22 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"},{"id":"16440160-75aa-42fd-b510-32b4be44f1be","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/fcl/client/schedule/:id","host":["https://api.tradlinx.com"],"path":["fcl","client","schedule",":id"],"variable":[{"key":"id","value":"MAE_105169_105373_d940f49186dde90440a7da"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"value":"application/json","key":"Content-Type"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"}],"_postman_id":"271b06c9-86bc-4dbb-8902-67ae18a95f6d"}],"id":"33651e5a-7a15-4678-8b77-b70b758c11d9","description":"<h3 id=\"✅-fcl-스케줄-api--개요\">✅ FCL 스케줄 API — 개요</h3>\n<p>FCL 스케줄 API는 Full Container Load(FCL) 해상 운송 스케줄 정보를 조회할 수 있는 API입니다.</p>\n<p>출발지와 목적지 정보를 기준으로 선박 스케줄을 조회할 수 있으며, ETD(출발 예정일), ETA(도착 예정일), 운항 선사, 선박 정보 등 FCL 운송 계획에 필요한 다양한 스케줄 데이터를 제공합니다.</p>\n<p>이를 통해 고객은 자사 시스템에 해상 운송 스케줄을 연동하여 선적 계획을 수립하고, 운송 일정 관리 및 물류 운영을 보다 효율적으로 수행할 수 있습니다.</p>\n<h3 id=\"✅-별도-구독-필요\">✅ 별도 구독 필요</h3>\n<p>FCL 스케줄 API는 별도 구독이 필요한 서비스이며, 다른 API 구독에 포함되지 않습니다.</p>\n<p>요금 및 이용 가능 여부는 담당 영업사원 또는 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 문의해 주세요.</p>\n","_postman_id":"33651e5a-7a15-4678-8b77-b70b758c11d9"},{"name":"컨테이너 터미널 스케줄 API","item":[{"name":"터미널 목록 조회 API","id":"5360236c-1361-43c2-8c69-33cb91493957","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/terminals/client","description":"<ul>\n<li>전체 터미널 목록을 조회합니다.</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<ul>\n<li>응답은 <code>Terminal</code> 객체의 배열(<code>Terminal[]</code>)로 제공됩니다.</li>\n</ul>\n<h5 id=\"터미널---terminal\"><strong>터미널 - Terminal</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>terminalCode</td>\n<td><code>string</code></td>\n<td>터미널 코드</td>\n</tr>\n<tr>\n<td>terminalName</td>\n<td><code>string</code></td>\n<td>터미널 이름</td>\n</tr>\n<tr>\n<td>terminalNameShort</td>\n<td><code>string</code></td>\n<td>터미널 이름 (축약형)</td>\n</tr>\n<tr>\n<td>port</td>\n<td><code>Port</code></td>\n<td>항구 정보</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"항구---port\"><strong>항구 - Port</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>locationId</td>\n<td><code>number</code></td>\n<td>항구 위치 ID</td>\n</tr>\n<tr>\n<td>portCode</td>\n<td><code>string</code></td>\n<td>항구 코드</td>\n</tr>\n<tr>\n<td>portName</td>\n<td><code>string</code></td>\n<td>항구 이름</td>\n</tr>\n<tr>\n<td>countryCode</td>\n<td><code>string</code></td>\n<td>국가 코드</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["terminals","client"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"bab36e7e-a80b-4730-86d8-7c54801e2604","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/terminals/client"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:49:01 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"terminalCode\": \"BCT\",\n        \"terminalName\": \"부산컨테이너 터미널\",\n        \"terminalNameShort\": \"BCT\",\n        \"port\": {\n            \"locationId\": 105160,\n            \"portCode\": \"KRBNP\",\n            \"portName\": \"New Busan\",\n            \"countryCode\": \"KR\"\n        }\n    },\n    {\n        \"terminalCode\": \"BIT\",\n        \"terminalName\": \"BPT 감만\",\n        \"terminalNameShort\": \"BPT 감만\",\n        \"port\": {\n            \"locationId\": 105169,\n            \"portCode\": \"KRPUS\",\n            \"portName\": \"Busan\",\n            \"countryCode\": \"KR\"\n        }\n    },\n    {\n        \"terminalCode\": \"BNCT\",\n        \"terminalName\": \"BNCT\",\n        \"terminalNameShort\": \"BNCT\",\n        \"port\": {\n            \"locationId\": 105160,\n            \"portCode\": \"KRBNP\",\n            \"portName\": \"New Busan\",\n            \"countryCode\": \"KR\"\n        }\n    },\n    {\n        \"terminalCode\": \"BNMT\",\n        \"terminalName\": \"부산신항다목적터미널\",\n        \"terminalNameShort\": \"BNMT\",\n        \"port\": {\n            \"locationId\": 105160,\n            \"portCode\": \"KRBNP\",\n            \"portName\": \"New Busan\",\n            \"countryCode\": \"KR\"\n        }\n    },\n    {\n        \"terminalCode\": \"BPTC\",\n        \"terminalName\": \"BPT 신선대\",\n        \"terminalNameShort\": \"BPT 신선대\",\n        \"port\": {\n            \"locationId\": 105169,\n            \"portCode\": \"KRPUS\",\n            \"portName\": \"Busan\",\n            \"countryCode\": \"KR\"\n        }\n    }\n]"},{"id":"fe98e2ab-8336-48a7-abdb-1549309627f4","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/terminals/client"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:49:01 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"VALIDATION_ERROR\",\n  \"message\": \"VALIDATION ERRORS\",\n  \"error\": [\n    {\n      \"field\": \"name\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"NotEmpty\",\n      \"defaultMessage\": \"must not be empty\",\n      \"rejectedValue\": \"\"\n    }\n  ]\n}"},{"id":"e232a241-ac99-4ad6-a339-e5265c381861","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/terminals/client"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 02:49:01 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"},{"id":"453b34ee-86fe-47ee-9e60-8b8ee109426a","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/terminals/client"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"VALIDATION_ERROR\",\n  \"message\": \"VALIDATION ERRORS\",\n  \"error\": [\n    {\n      \"field\": \"email\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"Email\",\n      \"defaultMessage\": \"must be a well-formed email address\",\n      \"rejectedValue\": \"zobbb.com\"\n    },\n    {\n      \"field\": \"name\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"NotEmpty\",\n      \"defaultMessage\": \"must not be empty\",\n      \"rejectedValue\": \"\"\n    }\n  ]\n}"},{"id":"8b7cf055-ae3a-4f6b-b2d4-35a296950114","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/terminals/client"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"}],"_postman_id":"5360236c-1361-43c2-8c69-33cb91493957"},{"name":"터미널 스케줄 조회 API","id":"2c65e6af-45be-4062-96ea-3107162a7264","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.tradlinx.com/terminals/client/schedule?page=0&size=10","description":"<ul>\n<li><p>컨테이너 터미널 스케줄을 조회합니다.</p>\n</li>\n<li><p>페이징 정보가 없거나 유효하지 않을 경우 전체 데이터를 반환합니다.</p>\n</li>\n</ul>\n<h5 id=\"응답---response-body\"><strong>응답 - Response Body</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>content</td>\n<td><code>TerminalSchedule[]</code></td>\n<td>터미널 스케줄 목록</td>\n</tr>\n<tr>\n<td>pageable</td>\n<td><code>Pageable</code></td>\n<td>페이지 정보</td>\n</tr>\n<tr>\n<td>last</td>\n<td><code>boolean</code></td>\n<td>마지막 페이지 여부</td>\n</tr>\n<tr>\n<td>totalPages</td>\n<td><code>number</code></td>\n<td>총 페이지 수</td>\n</tr>\n<tr>\n<td>totalElements</td>\n<td><code>number</code></td>\n<td>총 데이터 수</td>\n</tr>\n<tr>\n<td>first</td>\n<td><code>boolean</code></td>\n<td>첫 페이지 여부</td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>number</code></td>\n<td>페이지당 데이터 개수</td>\n</tr>\n<tr>\n<td>number</td>\n<td><code>number</code></td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>sort</td>\n<td><code>Sort</code></td>\n<td>정렬 정보</td>\n</tr>\n<tr>\n<td>numberOfElements</td>\n<td><code>number</code></td>\n<td>현재 페이지의 데이터 개수</td>\n</tr>\n<tr>\n<td>empty</td>\n<td><code>boolean</code></td>\n<td>현재 페이지가 비어 있는지 여부</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"터미널-스케줄---terminalschedule\"><strong>터미널 스케줄 - TerminalSchedule</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>terminalCode</td>\n<td><code>string</code></td>\n<td>컨테이너 터미널 코드</td>\n</tr>\n<tr>\n<td>terminalName</td>\n<td><code>string</code></td>\n<td>터미널 이름</td>\n</tr>\n<tr>\n<td>terminalWebsiteUrl</td>\n<td><code>string</code></td>\n<td>터미널 웹사이트 URL</td>\n</tr>\n<tr>\n<td>terminalVesselPlanUrl</td>\n<td><code>string</code></td>\n<td>터미널 스케줄 페이지 URL</td>\n</tr>\n<tr>\n<td>terminalContainerPlanUrl</td>\n<td><code>string</code></td>\n<td>터미널 컨테이너 조회 URL</td>\n</tr>\n<tr>\n<td>portCode</td>\n<td><code>string</code></td>\n<td>항구 코드</td>\n</tr>\n<tr>\n<td>portName</td>\n<td><code>string</code></td>\n<td>항구 이름</td>\n</tr>\n<tr>\n<td>terminalVoyage</td>\n<td><code>string</code></td>\n<td>터미널 항차</td>\n</tr>\n<tr>\n<td>vesselName</td>\n<td><code>string</code></td>\n<td>선박 이름</td>\n</tr>\n<tr>\n<td>berthNumber</td>\n<td><code>string</code></td>\n<td>선석 번호</td>\n</tr>\n<tr>\n<td>berthStartDateTime</td>\n<td><code>string</code></td>\n<td>접안 시작 일시</td>\n</tr>\n<tr>\n<td>cargoClosingDateTime</td>\n<td><code>string</code></td>\n<td>반입 마감 일시</td>\n</tr>\n<tr>\n<td>departureDateTime</td>\n<td><code>string</code></td>\n<td>출항 일시</td>\n</tr>\n<tr>\n<td>vesselOperator</td>\n<td><code>string</code></td>\n<td>선사 코드</td>\n</tr>\n<tr>\n<td>loadingCount</td>\n<td><code>number</code></td>\n<td>적하 물량</td>\n</tr>\n<tr>\n<td>dischargingCount</td>\n<td><code>number</code></td>\n<td>양하 물량</td>\n</tr>\n<tr>\n<td>shiftingCount</td>\n<td><code>number</code></td>\n<td>선박 이동 물량</td>\n</tr>\n<tr>\n<td>berthSide</td>\n<td><code>string</code></td>\n<td>접안 방향</td>\n</tr>\n<tr>\n<td>transferTerminal</td>\n<td><code>string</code></td>\n<td>환적 터미널</td>\n</tr>\n<tr>\n<td>vesselId</td>\n<td><code>number</code></td>\n<td>Tradlinx에서 관리하는 선박 ID</td>\n</tr>\n<tr>\n<td>txVesselName</td>\n<td><code>string</code></td>\n<td>Tradlinx에서 관리하는 선박 이름</td>\n</tr>\n<tr>\n<td>imoNumber</td>\n<td><code>string</code></td>\n<td>선박 IMO 번호</td>\n</tr>\n<tr>\n<td>mmsiNumber</td>\n<td><code>string</code></td>\n<td>선박 MMSI</td>\n</tr>\n<tr>\n<td>callSign</td>\n<td><code>string</code></td>\n<td>선박 Call Sign</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"페이지-정보---pageable\"><strong>페이지 정보 - Pageable</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pageNumber</td>\n<td><code>number</code></td>\n<td>현재 페이지 번호</td>\n</tr>\n<tr>\n<td>pageSize</td>\n<td><code>number</code></td>\n<td>페이지당 데이터 개수</td>\n</tr>\n<tr>\n<td>offset</td>\n<td><code>number</code></td>\n<td>페이지 시작 위치</td>\n</tr>\n<tr>\n<td>paged</td>\n<td><code>boolean</code></td>\n<td>페이징 여부</td>\n</tr>\n<tr>\n<td>unpaged</td>\n<td><code>boolean</code></td>\n<td>페이징되지 않은 여부</td>\n</tr>\n<tr>\n<td>sort</td>\n<td><code>Sort</code></td>\n<td>정렬 정보</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"정렬-정보---sort\"><strong>정렬 정보 - Sort</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>empty</td>\n<td><code>boolean</code></td>\n<td>정렬 조건이 비어 있는지 여부</td>\n</tr>\n<tr>\n<td>unsorted</td>\n<td><code>boolean</code></td>\n<td>정렬되지 않았는지 여부</td>\n</tr>\n<tr>\n<td>sorted</td>\n<td><code>boolean</code></td>\n<td>정렬되었는지 여부</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["terminals","client","schedule"],"host":["https://api.tradlinx.com"],"query":[{"disabled":true,"key":"vesselId","value":""},{"key":"page","value":"0"},{"key":"size","value":"10"}],"variable":[]}},"response":[{"id":"555db0ec-7048-4250-be5e-3d46dabc3437","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/terminals/client/schedule?page=0&size=10","host":["https://api.tradlinx.com"],"path":["terminals","client","schedule"],"query":[{"key":"vesselId","value":"","type":"text","disabled":true},{"key":"page","value":"0"},{"key":"size","value":"10"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 05:02:10 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n    \"content\": [\n        {\n            \"terminalCode\": \"BNMT\",\n            \"terminalName\": \"BNMT\",\n            \"terminalWebsiteUrl\": \"http://www.bnmt.co.kr/\",\n            \"terminalVesselPlanUrl\": \"http://www.bnmt.co.kr/ebiz/?code=0101\",\n            \"terminalContainerPlanUrl\": \"http://www.bnmt.co.kr/ebiz/?code=0202\",\n            \"portCode\": \"KRBNP\",\n            \"portName\": \"New Busan\",\n            \"terminalVoyage\": \"JIBL-001\",\n            \"vesselName\": \"JIUYANG BLOSSOM\",\n            \"berthNumber\": null,\n            \"berthStartDateTime\": null,\n            \"cargoClosingDateTime\": null,\n            \"departureDateTime\": null,\n            \"vesselOperator\": \"GOB\",\n            \"loadingCount\": 0,\n            \"dischargingCount\": 0,\n            \"shiftingCount\": 0,\n            \"berthSide\": null,\n            \"transferTerminal\": null,\n            \"vesselId\": 22752,\n            \"txVesselName\": \"JIUYANG BLOSSOM\",\n            \"imoNumber\": \"9318474\",\n            \"mmsiNumber\": \"538010868\",\n            \"callSign\": \"V7A7537\"\n        },\n        {\n            \"terminalCode\": \"BNMT\",\n            \"terminalName\": \"BNMT\",\n            \"terminalWebsiteUrl\": \"http://www.bnmt.co.kr/\",\n            \"terminalVesselPlanUrl\": \"http://www.bnmt.co.kr/ebiz/?code=0101\",\n            \"terminalContainerPlanUrl\": \"http://www.bnmt.co.kr/ebiz/?code=0202\",\n            \"portCode\": \"KRBNP\",\n            \"portName\": \"New Busan\",\n            \"terminalVoyage\": \"PDJP-002\",\n            \"vesselName\": \"박대전 가상모선\",\n            \"berthNumber\": null,\n            \"berthStartDateTime\": null,\n            \"cargoClosingDateTime\": null,\n            \"departureDateTime\": \"20260630180000\",\n            \"vesselOperator\": \"PDJ\",\n            \"loadingCount\": 0,\n            \"dischargingCount\": 0,\n            \"shiftingCount\": 0,\n            \"berthSide\": null,\n            \"transferTerminal\": null,\n            \"vesselId\": null,\n            \"txVesselName\": null,\n            \"imoNumber\": null,\n            \"mmsiNumber\": null,\n            \"callSign\": null\n        },\n        {\n            \"terminalCode\": \"HPNT\",\n            \"terminalName\": \"현대부산신항\",\n            \"terminalWebsiteUrl\": \"http://www.hpnt.co.kr/\",\n            \"terminalVesselPlanUrl\": \"https://www.hpnt.co.kr/infoservice/vessel/vslScheduleList.jsp\",\n            \"terminalContainerPlanUrl\": \"https://www.hpnt.co.kr/infoservice/cntr/cntrSearchList.jsp\",\n            \"portCode\": \"KRBNP\",\n            \"portName\": \"New Busan\",\n            \"terminalVoyage\": \"OONG001\",\n            \"vesselName\": \"ONE GRUS\",\n            \"berthNumber\": \"T3\",\n            \"berthStartDateTime\": \"20260625063000\",\n            \"cargoClosingDateTime\": \"20260624183000\",\n            \"departureDateTime\": \"20260628030000\",\n            \"vesselOperator\": \"ONE\",\n            \"loadingCount\": 1551,\n            \"dischargingCount\": 4872,\n            \"shiftingCount\": 18,\n            \"berthSide\": \"S\",\n            \"transferTerminal\": null,\n            \"vesselId\": 9303,\n            \"txVesselName\": \"ONE GRUS\",\n            \"imoNumber\": \"9806067\",\n            \"mmsiNumber\": \"431654000\",\n            \"callSign\": \"7KDT\"\n        },\n        {\n            \"terminalCode\": \"PNC\",\n            \"terminalName\": \"부산신항만\",\n            \"terminalWebsiteUrl\": \"https://www.pncport.com/\",\n            \"terminalVesselPlanUrl\": \"https://svc.pncport.com/info/CMS/Ship/Info.pnc?mCode=MN014\",\n            \"terminalContainerPlanUrl\": \"https://svc.pncport.com/info/CMS/Container/Info.pnc?mCode=MN002\",\n            \"portCode\": \"KRBNP\",\n            \"portName\": \"New Busan\",\n            \"terminalVoyage\": \"MBRG-002/2026\",\n            \"vesselName\": \"MSC BERANGERE\",\n            \"berthNumber\": \"B8\",\n            \"berthStartDateTime\": \"20260625071000\",\n            \"cargoClosingDateTime\": \"20260624180000\",\n            \"departureDateTime\": \"20260628002500\",\n            \"vesselOperator\": \"MSC\",\n            \"loadingCount\": 2427,\n            \"dischargingCount\": 3466,\n            \"shiftingCount\": 58,\n            \"berthSide\": \"P\",\n            \"transferTerminal\": null,\n            \"vesselId\": 25282,\n            \"txVesselName\": \"MSC BERANGERE\",\n            \"imoNumber\": \"9930947\",\n            \"mmsiNumber\": \"636021665\",\n            \"callSign\": \"5LFC2\"\n        },\n        {\n            \"terminalCode\": \"PNC\",\n            \"terminalName\": \"부산신항만\",\n            \"terminalWebsiteUrl\": \"https://www.pncport.com/\",\n            \"terminalVesselPlanUrl\": \"https://svc.pncport.com/info/CMS/Ship/Info.pnc?mCode=MN014\",\n            \"terminalContainerPlanUrl\": \"https://svc.pncport.com/info/CMS/Container/Info.pnc?mCode=MN002\",\n            \"portCode\": \"KRBNP\",\n            \"portName\": \"New Busan\",\n            \"terminalVoyage\": \"MGUD-004/2026\",\n            \"vesselName\": \"GUNDE MAERSK\",\n            \"berthNumber\": \"B5\",\n            \"berthStartDateTime\": \"20260625120000\",\n            \"cargoClosingDateTime\": \"20260624220000\",\n            \"departureDateTime\": \"20260627024300\",\n            \"vesselOperator\": \"MAE\",\n            \"loadingCount\": 1217,\n            \"dischargingCount\": 2941,\n            \"shiftingCount\": 50,\n            \"berthSide\": \"P\",\n            \"transferTerminal\": null,\n            \"vesselId\": 1418,\n            \"txVesselName\": \"GUNDE MAERSK\",\n            \"imoNumber\": \"9359014\",\n            \"mmsiNumber\": \"477893700\",\n            \"callSign\": \"VRVO9\"\n        }\n    ],\n    \"pageable\": {\n        \"pageNumber\": 0,\n        \"pageSize\": 10,\n        \"sort\": [],\n        \"offset\": 0,\n        \"paged\": true,\n        \"unpaged\": false\n    },\n    \"last\": false,\n    \"totalElements\": 1868,\n    \"totalPages\": 187,\n    \"first\": true,\n    \"size\": 10,\n    \"number\": 0,\n    \"sort\": [],\n    \"numberOfElements\": 10,\n    \"empty\": false\n}"},{"id":"5ffaa7ec-70d8-4ee7-9bc9-50f9aa6c3a58","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/terminals/client/schedule?page=0&size=10","host":["https://api.tradlinx.com"],"path":["terminals","client","schedule"],"query":[{"key":"vesselId","value":"","type":"text","disabled":true},{"key":"page","value":"0"},{"key":"size","value":"10"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 05:02:10 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"VALIDATION_ERROR\",\n  \"message\": \"VALIDATION ERRORS\",\n  \"error\": [\n    {\n      \"field\": \"name\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"NotEmpty\",\n      \"defaultMessage\": \"must not be empty\",\n      \"rejectedValue\": \"\"\n    }\n  ]\n}"},{"id":"a80f5a96-7d01-4dd1-827d-4ae4b04be2ce","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/terminals/client/schedule?page=0&size=10","host":["https://api.tradlinx.com"],"path":["terminals","client","schedule"],"query":[{"key":"vesselId","value":"","type":"text","disabled":true},{"key":"page","value":"0"},{"key":"size","value":"10"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":":status","value":"200"},{"key":"date","value":"Tue, 30 Jun 2026 05:02:10 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"cache-control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"expires","value":"0"},{"key":"pragma","value":"no-cache"},{"key":"strict-transport-security","value":"max-age=15724800; includeSubDomains"},{"key":"vary","value":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-frame-options","value":"DENY"},{"key":"x-xss-protection","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"},{"id":"4588243f-d4ce-4dfb-abba-dd5c1c19287d","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/terminals/client/schedule?page=0&size=10","host":["https://api.tradlinx.com"],"path":["terminals","client","schedule"],"query":[{"key":"vesselId","value":"","type":"text","disabled":true},{"key":"page","value":"0"},{"key":"size","value":"10"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"VALIDATION_ERROR\",\n  \"message\": \"VALIDATION ERRORS\",\n  \"error\": [\n    {\n      \"field\": \"email\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"Email\",\n      \"defaultMessage\": \"must be a well-formed email address\",\n      \"rejectedValue\": \"zobbb.com\"\n    },\n    {\n      \"field\": \"name\",\n      \"objectName\": \"sampleRequest\",\n      \"code\": \"NotEmpty\",\n      \"defaultMessage\": \"must not be empty\",\n      \"rejectedValue\": \"\"\n    }\n  ]\n}"},{"id":"9f68c7f9-856d-4da4-bafc-ffd2fa53ffb9","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":"","type":"text"},{"key":"tx-apikey","value":"","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.tradlinx.com/terminals/client/schedule?page=0&size=10","host":["https://api.tradlinx.com"],"path":["terminals","client","schedule"],"query":[{"key":"vesselId","value":"","type":"text","disabled":true},{"key":"page","value":"0"},{"key":"size","value":"10"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errorCode\": \"INTERNAL_ERROR\",\n  \"message\": \"INTERNAL ERRORS\",\n  \"error\": null\n}"}],"_postman_id":"2c65e6af-45be-4062-96ea-3107162a7264"}],"id":"33d8e7cb-7c44-4ae0-93ae-2633ed52a4f0","description":"<h3 id=\"✅-컨테이너-터미널-스케줄-api--개요\">✅ 컨테이너 터미널 스케줄 API — 개요</h3>\n<p>컨테이너 터미널 스케줄 API는 국내 컨테이너 터미널의 스케줄정보를 조회할 수 있는 API입니다.</p>\n<p>터미널명, 터미널 코드, 웹사이트 URL과 함께 터미널의 선박별 입출항 스케줄을 조회할 수 있습니다. 이를 통해 물류 운영에 필요한 여러 터미널의 데이터를 일관된 형식으로 제공합니다.</p>\n<p>이를 통해 고객은 자사 시스템에 터미널 정보를 연동하여 선적 일정 관리, 터미널 조회 및 물류 운영 업무를 보다 효율적으로 수행할 수 있습니다.</p>\n<h3 id=\"✅-별도-구독-필요\">✅ 별도 구독 필요</h3>\n<p>컨테이너 터미널 스케줄 API는 별도 구독이 필요한 서비스이며, 다른 API 구독에 포함되지 않습니다.</p>\n<p>요금 및 이용 가능 여부는 담당 영업사원 또는 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 문의해 주세요.</p>\n","_postman_id":"33d8e7cb-7c44-4ae0-93ae-2633ed52a4f0"},{"name":"참고자료","item":[{"name":"오류 코드","item":[{"name":"트래킹 API 오류 코드","item":[],"id":"d13a6c9e-a2e3-483b-83a9-599a83410b7d","description":"<ul>\n<li><p>이 문서에서는 B/L, Container, Vessel 트래킹 API 중 v2와 v3 에서 사용하는 오류 코드와 그에 대한 사유를 안내합니다.</p>\n</li>\n<li><p>오류 정보는 버전별로 아래와 같이 제공됩니다.</p>\n<ul>\n<li><p><strong>v2 API:</strong> <code>reason</code> 필드에 오류를 나타내는 <strong>Error Code</strong>가 반환됩니다.</p>\n</li>\n<li><p><strong>v3 API:</strong> <code>reason</code> 필드에 숫자 코드 대신 오류 식별자(Description)가 반환됩니다.</p>\n</li>\n</ul>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Code</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Message</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>RESOURCE_DUPLICATED</td>\n<td>중복됨</td>\n</tr>\n<tr>\n<td>2</td>\n<td>SHIPMENT_INTERNAL</td>\n<td>Shipment Internal API에서 에러</td>\n</tr>\n<tr>\n<td>3</td>\n<td>RESOURCE_NOT_FOUND</td>\n<td>리소스가 존재하지 않음</td>\n</tr>\n<tr>\n<td>4</td>\n<td>CREDIT_NOT_ENOUGH</td>\n<td>크레딧이 부족</td>\n</tr>\n<tr>\n<td>5</td>\n<td>COLLECT_NOT_ACCEPT</td>\n<td>LineCd 또는 B/L이 이상하거나, 조회할 수 없음</td>\n</tr>\n<tr>\n<td>6</td>\n<td>VERIFY_FAIL</td>\n<td>유효성 검사 실패</td>\n</tr>\n<tr>\n<td>7</td>\n<td>CONTRACT_NOT_FOUND</td>\n<td>계약을 찾지 못함</td>\n</tr>\n<tr>\n<td>8</td>\n<td>UNAUTHORIZED</td>\n<td>인증 실패</td>\n</tr>\n<tr>\n<td>9</td>\n<td>RESOURCE_FULL</td>\n<td>리소스 최대 개수를 넘어 추가 불가능</td>\n</tr>\n<tr>\n<td>10</td>\n<td>TRADLINX_CREDIT_INTERNAL</td>\n<td>Tradlinx Credit 잔액 조회 오류</td>\n</tr>\n<tr>\n<td>11</td>\n<td>INVALID_REQUEST</td>\n<td>사용자의 잘못된 요청</td>\n</tr>\n<tr>\n<td>12</td>\n<td>CONTRACT_EXPIRED</td>\n<td>계약 기간 만료</td>\n</tr>\n<tr>\n<td>13</td>\n<td>DISAGREE_SHIPGO_USER_TERM</td>\n<td>이용 약관이 동의 되지 않음</td>\n</tr>\n<tr>\n<td>14</td>\n<td>UNSUPPORTED_FEATURE</td>\n<td>현재 플랜에서 지원하지 않는 기능</td>\n</tr>\n<tr>\n<td>1000</td>\n<td>UNKNOWN</td>\n<td>정의되지 않은 에러</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"예시-응답\"><strong>예시 응답</strong></h3>\n<ul>\n<li><p><strong>v2 API</strong>: reason에 <strong>Error Code</strong> 코드 사용 (예: \"5\").</p>\n</li>\n<li><p><strong>v3 API</strong>: reason에 <strong>Description</strong> 사용 (예: \"COLLECT_NOT_ACCEPT\").</p>\n</li>\n<li><p>두 API는 동일한 오류 정보를 다른 방식으로 제공.</p>\n</li>\n</ul>\n<h5 id=\"v2-api-예시\">V2 API 예시</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"api_version\": \"v2\",\n    \"transaction_time\": \"2024-11-14T04:40:30.790634\",\n    \"content\": {\n    \"success\": [],\n    \"fail\": [\n        {\n            \"data\": {\n                \"line_cd\": \"HMM\",\n                \"bl_no\": \"BL123456789\"\n            },\n            \"reason\": \"5\"\n        }\n    ],\n        \"total_count\": 1,\n        \"success_count\": 0,\n        \"fail_count\": 1\n    }\n}\n\n</code></pre>\n<h5 id=\"v3-api-예시\">V3 API 예시</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"api_version\": \"v3\",\n    \"transaction_time\": \"2024-11-14T04:40:30.790634\",\n    \"content\": {\n        \"success\": [],\n        \"fail\": [\n            {\n                \"data\": {\n                    \"line_cd\": \"HMM\",\n                    \"bl_no\": \"BL123456789\"\n                },\n                \"reason\": \"COLLECT_NOT_ACCEPT\"\n            }\n        ],\n        \"total_count\": 1,\n        \"success_count\": 0,\n        \"fail_count\": 1\n        }\n}\n\n</code></pre>\n","_postman_id":"d13a6c9e-a2e3-483b-83a9-599a83410b7d"},{"name":"스케줄 API 오류 코드","item":[],"id":"3e954647-fa29-4d97-9be4-ca5c493c3579","description":"<ul>\n<li>이 문서에서는 FCL Schedule과 Container Terminal Schedule API에서 사용하는 Error Code와 그에 대한 사유를 안내합니다.</li>\n</ul>\n<h5 id=\"common-error-codes\"><strong>Common Error Codes</strong></h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>HttpStatus</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>UNEXPECTED</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>UNEXPECTED ERROR OCCURS</td>\n</tr>\n<tr>\n<td>UNAUTHORIZED</td>\n<td>401 UNAUTHORIZED</td>\n<td>UNAUTHORIZED</td>\n</tr>\n<tr>\n<td>BAD_REQUEST</td>\n<td>400 BAD_REQUEST</td>\n<td>BAD REQUEST</td>\n</tr>\n<tr>\n<td>NOT_FOUND</td>\n<td>404 NOT_FOUND</td>\n<td>NOT FOUND</td>\n</tr>\n<tr>\n<td>INTERNAL_ERROR</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>INTERNAL ERRORS</td>\n</tr>\n<tr>\n<td>VALIDATION_ERROR</td>\n<td>400 BAD_REQUEST</td>\n<td>VALIDATION ERRORS</td>\n</tr>\n<tr>\n<td>UNKNOWN</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>UNKNOWN ERROR</td>\n</tr>\n<tr>\n<td>HTTP_MESSAGE_NOT_READABLE</td>\n<td>400 BAD_REQUEST</td>\n<td>HTTP MESSAGE NOT READABLE</td>\n</tr>\n<tr>\n<td>DATA_ACCESS_ERROR</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>DATA ACCESS ERRORS</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"api-call-occurrence-error-codes\">Api Call Occurrence Error Codes</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>HttpStatus</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>API_UNAUTHORIZED</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API UNAUTHORIZED</td>\n</tr>\n<tr>\n<td>API_BAD_REQUEST</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API BAD REQUEST</td>\n</tr>\n<tr>\n<td>API_FORBIDDEN</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API FORBIDDEN</td>\n</tr>\n<tr>\n<td>API_INTERNAL_ERROR</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API INTERNAL SERVER ERROR</td>\n</tr>\n<tr>\n<td>API_BAD_GATEWAY</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API BAD GATEWAY</td>\n</tr>\n<tr>\n<td>API_SERVER_ERROR</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API SERVER ERROR (5XX)</td>\n</tr>\n<tr>\n<td>API_SERVICE_UNAVAILABLE</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API SERVICE UNAVAILABLE</td>\n</tr>\n<tr>\n<td>API_UNKNOWN</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>UNKNOWN API ERROR</td>\n</tr>\n<tr>\n<td>API_CLIENT_ERROR</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API CLIENT ERROR (4XX)</td>\n</tr>\n<tr>\n<td>API_TIMEOUT</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API TIMEOUT</td>\n</tr>\n<tr>\n<td>API_NOT_FOUND</td>\n<td>500 INTERNAL_SERVER_ERROR</td>\n<td>API NOT FOUND</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"3e954647-fa29-4d97-9be4-ca5c493c3579"}],"id":"6b34eb1c-044c-4936-85ee-b0b5c57ac10a","_postman_id":"6b34eb1c-044c-4936-85ee-b0b5c57ac10a","description":""},{"name":"크레딧 사용량 조회","item":[{"name":"1. 크레딧 사용량 조회","id":"1406e70c-d89d-4992-a512-533fbe98165c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/credits/usage","description":"<ul>\n<li>현재 사용할 수 있는 크레딧의 사용량을 조회합니다.</li>\n</ul>\n<p><strong>응답 - Response Body</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Remark</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>api_version</td>\n<td>string</td>\n<td>API 버전</td>\n<td>v3</td>\n</tr>\n<tr>\n<td>content</td>\n<td>CreditResponse[]</td>\n<td>사용 가능한 크레딧의 정보</td>\n<td></td>\n</tr>\n<tr>\n<td>transaction_time</td>\n<td>string</td>\n<td>응답이 제공된 시간</td>\n<td>yyyy-MM-dd'T'HH:mm:ss.SSSSSS</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>사용 가능한 크레딧의 정보 - CreditResponse</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>creditType</td>\n<td>string</td>\n<td>크레딧 종류 (하단 리스트 참고)</td>\n</tr>\n<tr>\n<td>credit</td>\n<td>number</td>\n<td>사용 가능 크레딧의 할당량</td>\n</tr>\n<tr>\n<td>usedCredit</td>\n<td>number</td>\n<td>사용 가능 크레딧의 사용량</td>\n</tr>\n<tr>\n<td>remainCredit</td>\n<td>number</td>\n<td>사용 가능 크레딧의 잔여량</td>\n</tr>\n<tr>\n<td>startAt</td>\n<td>string</td>\n<td>크레딧 사용 가능 기간의 시작일 (yyyy-MM-dd'T'HH:mm:ss)</td>\n</tr>\n<tr>\n<td>expiredAt</td>\n<td>string</td>\n<td>크레딧 사용 가능 기간의 종료일 (yyyy-MM-dd'T'HH:mm:ss)</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>크레딧 종류</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PLAN_CREDIT</td>\n<td>플랜 기간 동안 부여된 크레딧</td>\n</tr>\n<tr>\n<td>T_CREDIT</td>\n<td>플랜 기간 외에도 사용할 수 있는 크레딧</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["partners","track","v3","credits","usage"],"host":["https://api.tradlinx.com"],"query":[],"variable":[]}},"response":[{"id":"574c83de-c21d-4c1e-b4d5-2d95a479dae0","name":"200 정상응답","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/credits/usage"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"api_version\": \"v3\",\n    \"transaction_time\": \"2025-07-08T08:01:16.533152\",\n    \"content\": [\n        {\n            \"creditType\": \"T_CREDIT\",\n            \"credit\": 100,\n            \"usedCredit\": 30,\n            \"remainCredit\": 70,\n            \"startAt\": \"2024-12-22T15:00:00\",\n            \"expiredAt\": \"2029-12-22T15:00:00\"\n        },\n        {\n            \"creditType\": \"PLAN_CREDIT\",\n            \"credit\": 500000,\n            \"usedCredit\": 5950,\n            \"remainCredit\": 494050,\n            \"startAt\": \"2025-06-30T15:00:00\",\n            \"expiredAt\": \"2025-07-31T15:00:00\"\n        }\n    ]\n}"},{"id":"8197fb64-efdb-46dd-9d7b-0bbe010a8089","name":"400 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/credits/usage"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"error_detail\": \"This feature is not supported in your plan.\",\n\t\"transaction_time\": \"2025-03-20T05:42:27.123243\"\n}"},{"id":"538a2ab9-9726-4b2c-9caa-4d6da946f81b","name":"500 에러","originalRequest":{"method":"GET","header":[{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"Content-Type","value":"application/json"}],"url":"https://api.tradlinx.com/partners/track/v3/credits/usage"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n\t\"status\": 500,\n\t\"type\": \"Internal Server Error\",\n\t\"message\": \"Internal server error. Please try again in a few minutes.\"\n}"}],"_postman_id":"1406e70c-d89d-4992-a512-533fbe98165c"}],"id":"82dc45a1-dc4b-431f-bd03-5fee0bd6b1b2","description":"<h3 id=\"✅-credit-usage-api--개요\">✅ Credit Usage API — 개요</h3>\n<p>Credit Usage API는 Tradlinx Ocean Visibility API에서 사용하는 Credit 정보를 제공합니다.</p>\n<p>API를 통해 Credit 유형별 할당량, 사용량, 잔여량 및 유효기간을 조회할 수 있습니다.</p>\n","_postman_id":"82dc45a1-dc4b-431f-bd03-5fee0bd6b1b2"},{"name":"추적 가능한 선사 목록","item":[],"id":"9f0f8ca1-d3b9-48af-b71b-0c5d5cc73512","description":"<ul>\n<li><p>Tradlinx Ocean Visibility는 전 세계 주요 선사의 Shipment Tracking을 지원합니다.</p>\n</li>\n<li><p>아래 표에서 선사별로 지원되는 Tracking 방식(B/L Tracking, Container No. Tracking)을 확인할 수 있습니다.</p>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Carrier Code</th>\n<th><strong>Carrier</strong></th>\n<th><strong>Carrier Full Name</strong></th>\n<th><strong>B/L Tracking Support</strong></th>\n<th><strong>Container Tracking Support</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MAE</td>\n<td>Maersk</td>\n<td>Maersk Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>ONE</td>\n<td>ONE</td>\n<td>Ocean Network Express</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>CMA</td>\n<td>CMA CGM</td>\n<td>CMA CGM</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>MSC</td>\n<td>MSC</td>\n<td>Mediterranean Shipping Company</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>HMM</td>\n<td>HMM</td>\n<td>HMM</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>COA</td>\n<td>COSCO</td>\n<td>COSCO Shipping Lines</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>CSC</td>\n<td>COSCO Specialized</td>\n<td>COSCO Specialized Carrier</td>\n<td>O</td>\n<td>X</td>\n</tr>\n<tr>\n<td>YML</td>\n<td>Yang Ming</td>\n<td>Yang Ming</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>HLC</td>\n<td>Hapag-Lloyd</td>\n<td>Hapag-Lloyd</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>EMC</td>\n<td>Evergreen</td>\n<td>Evergreen Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>ZIM</td>\n<td>ZIM</td>\n<td>ZIM Integrated Shipping Services</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>PCS</td>\n<td>DongYoung</td>\n<td>DongYoung Shipping</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>KMD</td>\n<td>KMTC</td>\n<td>Korea Marine Transport (KMTC)</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>SKR</td>\n<td>Sinokor</td>\n<td>Sinokor</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>NSS</td>\n<td>Namsung</td>\n<td>Namsung Shipping</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>HAS</td>\n<td>Heung A</td>\n<td>Heung A Shipping</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>CKL</td>\n<td>CK LINE</td>\n<td>CK LINE</td>\n<td>O</td>\n<td>X</td>\n</tr>\n<tr>\n<td>SIT</td>\n<td>SITC</td>\n<td>SITC International Holdings</td>\n<td>O</td>\n<td>X</td>\n</tr>\n<tr>\n<td>SML</td>\n<td>SM Line</td>\n<td>SM Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>TSL</td>\n<td>T.S. Lines</td>\n<td>T.S. Lines</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>PAN</td>\n<td>Pan Ocean</td>\n<td>Pan Ocean</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>PCL</td>\n<td>Pan Continental</td>\n<td>Pan Continental Shipping</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>OOL</td>\n<td>OOCL</td>\n<td>Orient Overseas Container Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>WHL</td>\n<td>Wan Hai</td>\n<td>Wan Hai Lines</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>DJS</td>\n<td>Dongjin</td>\n<td>Dongjin Shipping</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>IALS</td>\n<td>Interasia</td>\n<td>Interasia Lines</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>WSL</td>\n<td>Westwood</td>\n<td>Westwood Shipping Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>PIL</td>\n<td>PIL</td>\n<td>Pacific International Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>MCC</td>\n<td>Sealand</td>\n<td>Sealand - A Maersk Company</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>ESL</td>\n<td>Emirates</td>\n<td>Emirates Shipping Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>RCL</td>\n<td>RCL</td>\n<td>Regional Container Lines</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>SNT</td>\n<td>Sinotrans</td>\n<td>Sinotrans Limited</td>\n<td>O</td>\n<td>X</td>\n</tr>\n<tr>\n<td>HSL</td>\n<td>HS(Hansung)</td>\n<td>Hansung Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>GSL</td>\n<td>Gold Star</td>\n<td>Gold Star Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>CNC</td>\n<td>CNC</td>\n<td>Cheng Lie Navigation</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>TYS</td>\n<td>TaiYoung</td>\n<td>TaiYoung Shipping</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>APL</td>\n<td>APL</td>\n<td>American President Lines</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>SLS</td>\n<td>SeaLead</td>\n<td>SeaLead Shipping</td>\n<td>O</td>\n<td>X</td>\n</tr>\n<tr>\n<td>ANL</td>\n<td>ANL</td>\n<td>ANL Container Line Pty Limited</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>VSSA</td>\n<td>Volta</td>\n<td>Volta Shipping Services</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>SWL</td>\n<td>Swire</td>\n<td>Swire Shipping</td>\n<td>O</td>\n<td>X</td>\n</tr>\n<tr>\n<td>KKC</td>\n<td>Kambara kisen</td>\n<td>Kambara kisen</td>\n<td>O</td>\n<td>X</td>\n</tr>\n<tr>\n<td>SSL</td>\n<td>Samudera Shipping</td>\n<td>Samudera Shipping Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>TRKU</td>\n<td>Turkon Line</td>\n<td>Turkon Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>MAT</td>\n<td>Matson</td>\n<td>Matson</td>\n<td>O</td>\n<td>X</td>\n</tr>\n<tr>\n<td>ARK</td>\n<td>Arkas Line</td>\n<td>Arkas Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>ACL</td>\n<td>Atlantic Container Line</td>\n<td>Atlantic Container Line</td>\n<td>O</td>\n<td>O</td>\n</tr>\n<tr>\n<td>MFT</td>\n<td>Marfret</td>\n<td>Marfret</td>\n<td>X</td>\n<td>O</td>\n</tr>\n<tr>\n<td>MEL</td>\n<td>Mariana Express Lines</td>\n<td>Mariana Express Lines</td>\n<td>O</td>\n<td>O</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"9f0f8ca1-d3b9-48af-b71b-0c5d5cc73512"},{"name":"항만 코드","item":[],"id":"869873e3-8819-4eeb-aa66-7f4dc5d7dd63","description":"<ul>\n<li><p>이 페이지에서는 Tradlinx API에서 공통으로 사용하는 Port Code 목록을 제공합니다.</p>\n</li>\n<li><p><strong>Port Code는 POL, POD 등 Ocean Visibility에서 항만과 관련된 Request 및 Response 필드에서 공통적으로 사용됩니다.</strong></p>\n</li>\n<li><p><strong>본 문서에는 Ocean Visibility API에서 사용하는 Port Code만 포함되어 있으며, 모든 Location Code를 제공하지는 않습니다.</strong></p>\n</li>\n<li><p>입력값을 검증하거나 API 응답을 해석할 때 이 목록을 참고해 주세요.</p>\n</li>\n<li><p>Port Code는 Tradlinx에서 정의한 기준을 사용하며, 외부 시스템에서 사용하는 Port Code와 다를 수 있습니다.</p>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Port Code</th>\n<th>Port Name</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>AEAJM</td>\n<td>Ajman</td>\n</tr>\n<tr>\n<td>AEAUH</td>\n<td>Abu Dhabi</td>\n</tr>\n<tr>\n<td>AEDUY</td>\n<td>Ras Zubbaya (Ras Dubayyah)</td>\n</tr>\n<tr>\n<td>AEDXB</td>\n<td>Dubai</td>\n</tr>\n<tr>\n<td>AEFJR</td>\n<td>Al Fujayrah</td>\n</tr>\n<tr>\n<td>AEJEA</td>\n<td>Jebel Ali (Dubai)</td>\n</tr>\n<tr>\n<td>AEKHL</td>\n<td>Mina Khalifa</td>\n</tr>\n<tr>\n<td>AEKLF</td>\n<td>Khor Fakkan</td>\n</tr>\n<tr>\n<td>AEQIW</td>\n<td>Umm al Qaiwain</td>\n</tr>\n<tr>\n<td>AERKT</td>\n<td>Ras al Khaimah</td>\n</tr>\n<tr>\n<td>AESHJ</td>\n<td>Sharjah</td>\n</tr>\n<tr>\n<td>AFHEA</td>\n<td>Herat</td>\n</tr>\n<tr>\n<td>AFISL</td>\n<td>Islam Qala</td>\n</tr>\n<tr>\n<td>ALDRZ</td>\n<td>Durres</td>\n</tr>\n<tr>\n<td>AMEVN</td>\n<td>Yerevan</td>\n</tr>\n<tr>\n<td>AOCAB</td>\n<td>Cabinda</td>\n</tr>\n<tr>\n<td>AOLAD</td>\n<td>Luanda</td>\n</tr>\n<tr>\n<td>AOLOB</td>\n<td>Lobito</td>\n</tr>\n<tr>\n<td>AOMSZ</td>\n<td>Namibe</td>\n</tr>\n<tr>\n<td>ARBHI</td>\n<td>Bahia Blanca</td>\n</tr>\n<tr>\n<td>ARBUE</td>\n<td>Buenos Aires</td>\n</tr>\n<tr>\n<td>AREEA</td>\n<td>Ensenada, Argentina</td>\n</tr>\n<tr>\n<td>ARLPS</td>\n<td>Las Palmas</td>\n</tr>\n<tr>\n<td>ARMDQ</td>\n<td>Mar del Plata</td>\n</tr>\n<tr>\n<td>ARPMY</td>\n<td>Puerto Madryn</td>\n</tr>\n<tr>\n<td>ARPUD</td>\n<td>Puerto Deseado</td>\n</tr>\n<tr>\n<td>ARROS</td>\n<td>Rosario</td>\n</tr>\n<tr>\n<td>ARSFN</td>\n<td>Santa Fe</td>\n</tr>\n<tr>\n<td>ARSLO</td>\n<td>San Lorenzo</td>\n</tr>\n<tr>\n<td>ARUSH</td>\n<td>Ushuaia</td>\n</tr>\n<tr>\n<td>ARVCN</td>\n<td>Villa Constitucion</td>\n</tr>\n<tr>\n<td>ARZAE</td>\n<td>Zarate</td>\n</tr>\n<tr>\n<td>ASPPG</td>\n<td>Pago Pago</td>\n</tr>\n<tr>\n<td>ATVIE</td>\n<td>Vienna</td>\n</tr>\n<tr>\n<td>AUADL</td>\n<td>Adelaide</td>\n</tr>\n<tr>\n<td>AUBEL</td>\n<td>Bell Bay</td>\n</tr>\n<tr>\n<td>AUBNE</td>\n<td>Brisbane</td>\n</tr>\n<tr>\n<td>AUDRW</td>\n<td>Darwin</td>\n</tr>\n<tr>\n<td>AUFRE</td>\n<td>Fremantle</td>\n</tr>\n<tr>\n<td>AUMEL</td>\n<td>Melbourne</td>\n</tr>\n<tr>\n<td>AUPAE</td>\n<td>Port Adelaide</td>\n</tr>\n<tr>\n<td>AUPHE</td>\n<td>Port Hedland</td>\n</tr>\n<tr>\n<td>AUPKL</td>\n<td>Port Kembla</td>\n</tr>\n<tr>\n<td>AUSYD</td>\n<td>Sydney</td>\n</tr>\n<tr>\n<td>AUTSV</td>\n<td>Townsville</td>\n</tr>\n<tr>\n<td>AWAUA</td>\n<td>Aruba</td>\n</tr>\n<tr>\n<td>AWBAR</td>\n<td>Barcadera</td>\n</tr>\n<tr>\n<td>AWORJ</td>\n<td>Oranjestad</td>\n</tr>\n<tr>\n<td>AZBAK</td>\n<td>Baku</td>\n</tr>\n<tr>\n<td>AZNAJ</td>\n<td>Naxcivan</td>\n</tr>\n<tr>\n<td>BBBGI</td>\n<td>Bridgetown</td>\n</tr>\n<tr>\n<td>BDCGP</td>\n<td>Chattogram (ex Chittagong)</td>\n</tr>\n<tr>\n<td>BDKAM</td>\n<td>Dhaka</td>\n</tr>\n<tr>\n<td>BDMGL</td>\n<td>Mongla</td>\n</tr>\n<tr>\n<td>BDPGN</td>\n<td>Pangaon</td>\n</tr>\n<tr>\n<td>BEANR</td>\n<td>Antwerp</td>\n</tr>\n<tr>\n<td>BEZEE</td>\n<td>Zeebrugge</td>\n</tr>\n<tr>\n<td>BGBOJ</td>\n<td>Burgas</td>\n</tr>\n<tr>\n<td>BGVAR</td>\n<td>Varna</td>\n</tr>\n<tr>\n<td>BHAMH</td>\n<td>Al Manamah</td>\n</tr>\n<tr>\n<td>BHBAH</td>\n<td>Bahrain</td>\n</tr>\n<tr>\n<td>BHKBS</td>\n<td>Khalifa Bin Salman Port</td>\n</tr>\n<tr>\n<td>BJCOO</td>\n<td>Cotonou</td>\n</tr>\n<tr>\n<td>BLGUS</td>\n<td>Gustavia</td>\n</tr>\n<tr>\n<td>BMBDA</td>\n<td>Hamilton</td>\n</tr>\n<tr>\n<td>BMSGE</td>\n<td>St. George's</td>\n</tr>\n<tr>\n<td>BNMUA</td>\n<td>Muara</td>\n</tr>\n<tr>\n<td>BOCBB</td>\n<td>Cochabamba</td>\n</tr>\n<tr>\n<td>BOLPB</td>\n<td>La Paz</td>\n</tr>\n<tr>\n<td>BOSRZ</td>\n<td>Santa Cruz</td>\n</tr>\n<tr>\n<td>BRFOR</td>\n<td>Fortaleza</td>\n</tr>\n<tr>\n<td>BRIBB</td>\n<td>Imbituba</td>\n</tr>\n<tr>\n<td>BRIGI</td>\n<td>Itaguai</td>\n</tr>\n<tr>\n<td>BRIOA</td>\n<td>Itapoa</td>\n</tr>\n<tr>\n<td>BRITJ</td>\n<td>Itajai</td>\n</tr>\n<tr>\n<td>BRMAO</td>\n<td>Manaus, Brazil</td>\n</tr>\n<tr>\n<td>BRMCP</td>\n<td>Macapa</td>\n</tr>\n<tr>\n<td>BRNAT</td>\n<td>Natal</td>\n</tr>\n<tr>\n<td>BRNVT</td>\n<td>Navegantes</td>\n</tr>\n<tr>\n<td>BRPEC</td>\n<td>Pecem</td>\n</tr>\n<tr>\n<td>BRPNG</td>\n<td>Paranagua</td>\n</tr>\n<tr>\n<td>BRRIG</td>\n<td>Rio Grande</td>\n</tr>\n<tr>\n<td>BRRIO</td>\n<td>Rio de Janeiro</td>\n</tr>\n<tr>\n<td>BRSEP</td>\n<td>Sepetiba</td>\n</tr>\n<tr>\n<td>BRSFS</td>\n<td>Sao Francisco do Sul</td>\n</tr>\n<tr>\n<td>BRSSA</td>\n<td>Salvador</td>\n</tr>\n<tr>\n<td>BRSSZ</td>\n<td>Santos</td>\n</tr>\n<tr>\n<td>BRSUA</td>\n<td>Suape</td>\n</tr>\n<tr>\n<td>BRVIX</td>\n<td>Vitoria</td>\n</tr>\n<tr>\n<td>BRVLC</td>\n<td>Vila do Conde, Brazil</td>\n</tr>\n<tr>\n<td>BSFPO</td>\n<td>Freeport</td>\n</tr>\n<tr>\n<td>BSNAS</td>\n<td>Nassau</td>\n</tr>\n<tr>\n<td>BYMSQ</td>\n<td>Minsk</td>\n</tr>\n<tr>\n<td>BZBGK</td>\n<td>Big Creek</td>\n</tr>\n<tr>\n<td>BZBZE</td>\n<td>Belize City</td>\n</tr>\n<tr>\n<td>CACAL</td>\n<td>Calgary</td>\n</tr>\n<tr>\n<td>CACBK</td>\n<td>Corner Brook</td>\n</tr>\n<tr>\n<td>CAEDM</td>\n<td>Edmonton</td>\n</tr>\n<tr>\n<td>CAFSD</td>\n<td>Fraser-Surrey Docks</td>\n</tr>\n<tr>\n<td>CAHAL</td>\n<td>Halifax</td>\n</tr>\n<tr>\n<td>CAMTR</td>\n<td>Montreal</td>\n</tr>\n<tr>\n<td>CAPNO</td>\n<td>Pointe Noire</td>\n</tr>\n<tr>\n<td>CAPRR</td>\n<td>Prince Rupert</td>\n</tr>\n<tr>\n<td>CAREG</td>\n<td>Regina</td>\n</tr>\n<tr>\n<td>CAROB</td>\n<td>Vancouver, Roberts Bank</td>\n</tr>\n<tr>\n<td>CASAK</td>\n<td>Saskatoon</td>\n</tr>\n<tr>\n<td>CASJB</td>\n<td>Saint-John</td>\n</tr>\n<tr>\n<td>CATOR</td>\n<td>Toronto</td>\n</tr>\n<tr>\n<td>CAVAN</td>\n<td>Vancouver</td>\n</tr>\n<tr>\n<td>CAWNP</td>\n<td>Winnipeg</td>\n</tr>\n<tr>\n<td>CDBNW</td>\n<td>Banana</td>\n</tr>\n<tr>\n<td>CDBOA</td>\n<td>Boma</td>\n</tr>\n<tr>\n<td>CDFIH</td>\n<td>Kinshasa</td>\n</tr>\n<tr>\n<td>CDMAT</td>\n<td>Matadi</td>\n</tr>\n<tr>\n<td>CGPNR</td>\n<td>Pointe Noire</td>\n</tr>\n<tr>\n<td>CIABJ</td>\n<td>Abidjan</td>\n</tr>\n<tr>\n<td>CISPY</td>\n<td>San Pedro</td>\n</tr>\n<tr>\n<td>CLANF</td>\n<td>Antofagasta</td>\n</tr>\n<tr>\n<td>CLARI</td>\n<td>Arica</td>\n</tr>\n<tr>\n<td>CLCNL</td>\n<td>Coronel</td>\n</tr>\n<tr>\n<td>CLIQQ</td>\n<td>Iquique</td>\n</tr>\n<tr>\n<td>CLLQN</td>\n<td>Lirquen</td>\n</tr>\n<tr>\n<td>CLMJS</td>\n<td>Mejillones</td>\n</tr>\n<tr>\n<td>CLPAG</td>\n<td>Angamos</td>\n</tr>\n<tr>\n<td>CLPCH</td>\n<td>Puerto Chacabuco</td>\n</tr>\n<tr>\n<td>CLPMC</td>\n<td>Puerto Montt</td>\n</tr>\n<tr>\n<td>CLPUQ</td>\n<td>Punta Arenas</td>\n</tr>\n<tr>\n<td>CLSAI</td>\n<td>San Antonio</td>\n</tr>\n<tr>\n<td>CLSVE</td>\n<td>San Vicente</td>\n</tr>\n<tr>\n<td>CLTAL</td>\n<td>Talcahuano</td>\n</tr>\n<tr>\n<td>CLVAP</td>\n<td>Valparaiso</td>\n</tr>\n<tr>\n<td>CMDLA</td>\n<td>Douala</td>\n</tr>\n<tr>\n<td>CMKBI</td>\n<td>Kribi</td>\n</tr>\n<tr>\n<td>CNANQ</td>\n<td>Anqiu</td>\n</tr>\n<tr>\n<td>CNAQG</td>\n<td>Anqing Pt</td>\n</tr>\n<tr>\n<td>CNBAY</td>\n<td>Bayuquan</td>\n</tr>\n<tr>\n<td>CNBBU</td>\n<td>Bengbu</td>\n</tr>\n<tr>\n<td>CNBIC</td>\n<td>Beicun</td>\n</tr>\n<tr>\n<td>CNBIH</td>\n<td>Beihai</td>\n</tr>\n<tr>\n<td>CNBIN</td>\n<td>Binzhou</td>\n</tr>\n<tr>\n<td>CNBJO</td>\n<td>Beijiao</td>\n</tr>\n<tr>\n<td>CNBOO</td>\n<td>Boluo</td>\n</tr>\n<tr>\n<td>CNCDU</td>\n<td>Chengdu</td>\n</tr>\n<tr>\n<td>CNCFD</td>\n<td>Caofeidian Pt</td>\n</tr>\n<tr>\n<td>CNCGD</td>\n<td>Changde</td>\n</tr>\n<tr>\n<td>CNCGS</td>\n<td>Changshu Pt</td>\n</tr>\n<tr>\n<td>CNCHI</td>\n<td>Chizhou Pt</td>\n</tr>\n<tr>\n<td>CNCHQ</td>\n<td>Chongqing Pt</td>\n</tr>\n<tr>\n<td>CNCSX</td>\n<td>Changsha Huanghua</td>\n</tr>\n<tr>\n<td>CNCWN</td>\n<td>Chiwan</td>\n</tr>\n<tr>\n<td>CNCZX</td>\n<td>Changzhou Pt</td>\n</tr>\n<tr>\n<td>CNDAL</td>\n<td>Dalian</td>\n</tr>\n<tr>\n<td>CNDCB</td>\n<td>Da Chan Bay</td>\n</tr>\n<tr>\n<td>CNDDZ</td>\n<td>Dandong</td>\n</tr>\n<tr>\n<td>CNDEI</td>\n<td>Deqing</td>\n</tr>\n<tr>\n<td>CNDFA</td>\n<td>Dongfang</td>\n</tr>\n<tr>\n<td>CNDFG</td>\n<td>Dafeng</td>\n</tr>\n<tr>\n<td>CNDGG</td>\n<td>Dongguan Pt</td>\n</tr>\n<tr>\n<td>CNDJK</td>\n<td>Dongjiangkou</td>\n</tr>\n<tr>\n<td>CNDMY</td>\n<td>Damaiyu</td>\n</tr>\n<tr>\n<td>CNDOU</td>\n<td>Doumen Pt</td>\n</tr>\n<tr>\n<td>CNFAN</td>\n<td>Fangcheng</td>\n</tr>\n<tr>\n<td>CNFCN</td>\n<td>Fangcun</td>\n</tr>\n<tr>\n<td>CNFHC</td>\n<td>Haicang</td>\n</tr>\n<tr>\n<td>CNFLG</td>\n<td>Fuling</td>\n</tr>\n<tr>\n<td>CNFQG</td>\n<td>Fuqing</td>\n</tr>\n<tr>\n<td>CNFRT</td>\n<td>Foshan New Port</td>\n</tr>\n<tr>\n<td>CNFZH</td>\n<td>Fuzhou</td>\n</tr>\n<tr>\n<td>CNGAY</td>\n<td>Gaoyao</td>\n</tr>\n<tr>\n<td>CNGGZ</td>\n<td>Guangzhou</td>\n</tr>\n<tr>\n<td>CNGNA</td>\n<td>Guang'ao</td>\n</tr>\n<tr>\n<td>CNGOM</td>\n<td>Gaoming Pt</td>\n</tr>\n<tr>\n<td>CNGON</td>\n<td>Gaolan</td>\n</tr>\n<tr>\n<td>CNGSH</td>\n<td>Gaosha</td>\n</tr>\n<tr>\n<td>CNGUG</td>\n<td>Guigang</td>\n</tr>\n<tr>\n<td>CNHAB</td>\n<td>Haerbin</td>\n</tr>\n<tr>\n<td>CNHAZ</td>\n<td>Hangzhou</td>\n</tr>\n<tr>\n<td>CNHDU</td>\n<td>Huadu</td>\n</tr>\n<tr>\n<td>CNHFI</td>\n<td>Hefei</td>\n</tr>\n<tr>\n<td>CNHGW</td>\n<td>Hongwan</td>\n</tr>\n<tr>\n<td>CNHIA</td>\n<td>Huai'an</td>\n</tr>\n<tr>\n<td>CNHKO</td>\n<td>Haikou</td>\n</tr>\n<tr>\n<td>CNHME</td>\n<td>Haimen</td>\n</tr>\n<tr>\n<td>CNHMN</td>\n<td>Humen Pt</td>\n</tr>\n<tr>\n<td>CNHNH</td>\n<td>Huanghua</td>\n</tr>\n<tr>\n<td>CNHSI</td>\n<td>Huangshi Pt</td>\n</tr>\n<tr>\n<td>CNHSN</td>\n<td>Heshan Pt</td>\n</tr>\n<tr>\n<td>CNHUA</td>\n<td>Huangpu</td>\n</tr>\n<tr>\n<td>CNHUD</td>\n<td>Huludao Pt</td>\n</tr>\n<tr>\n<td>CNHUI</td>\n<td>Huizhou Pt</td>\n</tr>\n<tr>\n<td>CNJAX</td>\n<td>Jiaxing</td>\n</tr>\n<tr>\n<td>CNJGU</td>\n<td>Jingzhou</td>\n</tr>\n<tr>\n<td>CNJGY</td>\n<td>Jiang Yin</td>\n</tr>\n<tr>\n<td>CNJIA</td>\n<td>Jiangyin Pt</td>\n</tr>\n<tr>\n<td>CNJIU</td>\n<td>Jiujiang Pt (West)</td>\n</tr>\n<tr>\n<td>CNJIX</td>\n<td>Jixian</td>\n</tr>\n<tr>\n<td>CNJJN</td>\n<td>Jiujiang Pt</td>\n</tr>\n<tr>\n<td>CNJKU</td>\n<td>Jiangkou</td>\n</tr>\n<tr>\n<td>CNJMN</td>\n<td>Jiangmen Pt</td>\n</tr>\n<tr>\n<td>CNJNZ</td>\n<td>Jinzhou Pt</td>\n</tr>\n<tr>\n<td>CNJOK</td>\n<td>Jiaokou</td>\n</tr>\n<tr>\n<td>CNJOX</td>\n<td>Jiaoxin</td>\n</tr>\n<tr>\n<td>CNJUJ</td>\n<td>Jiujang</td>\n</tr>\n<tr>\n<td>CNJXN</td>\n<td>Jiao Xin</td>\n</tr>\n<tr>\n<td>CNJYG</td>\n<td>Jieyang</td>\n</tr>\n<tr>\n<td>CNJZU</td>\n<td>Jiuzhou Pt</td>\n</tr>\n<tr>\n<td>CNKAP</td>\n<td>Kaiping</td>\n</tr>\n<tr>\n<td>CNKNM</td>\n<td>Kunming</td>\n</tr>\n<tr>\n<td>CNKUS</td>\n<td>Kunshan</td>\n</tr>\n<tr>\n<td>CNLGY</td>\n<td>Longyan</td>\n</tr>\n<tr>\n<td>CNLIH</td>\n<td>Lianhuashan Pt</td>\n</tr>\n<tr>\n<td>CNLKU</td>\n<td>Longkou Pt</td>\n</tr>\n<tr>\n<td>CNLSI</td>\n<td>Lanshi</td>\n</tr>\n<tr>\n<td>CNLUU</td>\n<td>Leliu</td>\n</tr>\n<tr>\n<td>CNLUZ</td>\n<td>Luzhou</td>\n</tr>\n<tr>\n<td>CNLWN</td>\n<td>Luwan</td>\n</tr>\n<tr>\n<td>CNLYG</td>\n<td>Lianyungang</td>\n</tr>\n<tr>\n<td>CNMAA</td>\n<td>Maanshan</td>\n</tr>\n<tr>\n<td>CNMAW</td>\n<td>Mawei Pt</td>\n</tr>\n<tr>\n<td>CNMMI</td>\n<td>Maoming</td>\n</tr>\n<tr>\n<td>CNMWN</td>\n<td>Mawan Pt</td>\n</tr>\n<tr>\n<td>CNNAH</td>\n<td>Nanhai Pt</td>\n</tr>\n<tr>\n<td>CNNBO</td>\n<td>Ningbo</td>\n</tr>\n<tr>\n<td>CNNCH</td>\n<td>Nanchang</td>\n</tr>\n<tr>\n<td>CNNGG</td>\n<td>Nangang</td>\n</tr>\n<tr>\n<td>CNNHN</td>\n<td>Wuhan</td>\n</tr>\n<tr>\n<td>CNNHS</td>\n<td>Sanshan pt</td>\n</tr>\n<tr>\n<td>CNNJI</td>\n<td>Nanjing</td>\n</tr>\n<tr>\n<td>CNNNP</td>\n<td>Nansha New Port</td>\n</tr>\n<tr>\n<td>CNNSA</td>\n<td>Nansha</td>\n</tr>\n<tr>\n<td>CNNSH</td>\n<td>Nanshan</td>\n</tr>\n<tr>\n<td>CNNTG</td>\n<td>Nantong</td>\n</tr>\n<tr>\n<td>CNNWI</td>\n<td>Nanwei</td>\n</tr>\n<tr>\n<td>CNPUT</td>\n<td>Putian</td>\n</tr>\n<tr>\n<td>CNPYU</td>\n<td>Panyu</td>\n</tr>\n<tr>\n<td>CNQGY</td>\n<td>Qingyuan</td>\n</tr>\n<tr>\n<td>CNQIN</td>\n<td>Qingdao</td>\n</tr>\n<tr>\n<td>CNQZH</td>\n<td>Qinzhou Pt</td>\n</tr>\n<tr>\n<td>CNQZL</td>\n<td>Quanzhou</td>\n</tr>\n<tr>\n<td>CNROQ</td>\n<td>Rongqi Pt</td>\n</tr>\n<tr>\n<td>CNRUG</td>\n<td>Rugao Pt</td>\n</tr>\n<tr>\n<td>CNRZH</td>\n<td>Rizhao</td>\n</tr>\n<tr>\n<td>CNSBU</td>\n<td>Sanbu Pt</td>\n</tr>\n<tr>\n<td>CNSDG</td>\n<td>Shuidong Pt</td>\n</tr>\n<tr>\n<td>CNSGH</td>\n<td>Shanghai</td>\n</tr>\n<tr>\n<td>CNSHD</td>\n<td>Shidao Pt</td>\n</tr>\n<tr>\n<td>CNSHK</td>\n<td>Shekou</td>\n</tr>\n<tr>\n<td>CNSHM</td>\n<td>Mafang</td>\n</tr>\n<tr>\n<td>CNSHP</td>\n<td>Qinhuangdao Pt</td>\n</tr>\n<tr>\n<td>CNSIH</td>\n<td>Sihui</td>\n</tr>\n<tr>\n<td>CNSJQ</td>\n<td>Sanshui</td>\n</tr>\n<tr>\n<td>CNSNW</td>\n<td>Shenwan</td>\n</tr>\n<tr>\n<td>CNSNZ</td>\n<td>Shenzhen</td>\n</tr>\n<tr>\n<td>CNSRG</td>\n<td>Sanrong</td>\n</tr>\n<tr>\n<td>CNSTG</td>\n<td>Shantou</td>\n</tr>\n<tr>\n<td>CNSTI</td>\n<td>Shatian</td>\n</tr>\n<tr>\n<td>CNSUD</td>\n<td>Shunde Pt</td>\n</tr>\n<tr>\n<td>CNSUI</td>\n<td>Huangpu Suigang</td>\n</tr>\n<tr>\n<td>CNSUQ</td>\n<td>Suqian</td>\n</tr>\n<tr>\n<td>CNSUZ</td>\n<td>Suzhou</td>\n</tr>\n<tr>\n<td>CNTAC</td>\n<td>Taicang Pt</td>\n</tr>\n<tr>\n<td>CNTAP</td>\n<td>Taiping</td>\n</tr>\n<tr>\n<td>CNTGS</td>\n<td>Tangshan Pt</td>\n</tr>\n<tr>\n<td>CNTIS</td>\n<td>Taishan</td>\n</tr>\n<tr>\n<td>CNTNJ</td>\n<td>Tianjin</td>\n</tr>\n<tr>\n<td>CNTOL</td>\n<td>Tongling Pt</td>\n</tr>\n<tr>\n<td>CNTSG</td>\n<td>Gongyi</td>\n</tr>\n<tr>\n<td>CNTZO</td>\n<td>Taizhou</td>\n</tr>\n<tr>\n<td>CNWEF</td>\n<td>Weifang</td>\n</tr>\n<tr>\n<td>CNWEI</td>\n<td>Weihai</td>\n</tr>\n<tr>\n<td>CNWHI</td>\n<td>Wuhu</td>\n</tr>\n<tr>\n<td>CNWIH</td>\n<td>Waihai</td>\n</tr>\n<tr>\n<td>CNWUJ</td>\n<td>Wujiang</td>\n</tr>\n<tr>\n<td>CNWUZ</td>\n<td>Wuzhou Pt</td>\n</tr>\n<tr>\n<td>CNWXS</td>\n<td>Wuxi</td>\n</tr>\n<tr>\n<td>CNWZH</td>\n<td>Wanzhou</td>\n</tr>\n<tr>\n<td>CNWZO</td>\n<td>Wenzhou Pt</td>\n</tr>\n<tr>\n<td>CNXAB</td>\n<td>Xinfeng</td>\n</tr>\n<tr>\n<td>CNXAM</td>\n<td>Xiamen</td>\n</tr>\n<tr>\n<td>CNXAO</td>\n<td>Xiaolan</td>\n</tr>\n<tr>\n<td>CNXAS</td>\n<td>Xiaoshan</td>\n</tr>\n<tr>\n<td>CNXGA</td>\n<td>Xingang</td>\n</tr>\n<tr>\n<td>CNXIN</td>\n<td>Xinhui Pt</td>\n</tr>\n<tr>\n<td>CNXIT</td>\n<td>Xintang Pt</td>\n</tr>\n<tr>\n<td>CNXLA</td>\n<td>Xianlang</td>\n</tr>\n<tr>\n<td>CNXNA</td>\n<td>Xinsha</td>\n</tr>\n<tr>\n<td>CNXZH</td>\n<td>Xuzhou</td>\n</tr>\n<tr>\n<td>CNYAT</td>\n<td>Yantai</td>\n</tr>\n<tr>\n<td>CNYGP</td>\n<td>Yangpu</td>\n</tr>\n<tr>\n<td>CNYIB</td>\n<td>Yibin</td>\n</tr>\n<tr>\n<td>CNYIC</td>\n<td>Yichang</td>\n</tr>\n<tr>\n<td>CNYIK</td>\n<td>Yingkou</td>\n</tr>\n<tr>\n<td>CNYIU</td>\n<td>Yiwu</td>\n</tr>\n<tr>\n<td>CNYQS</td>\n<td>Beijiao</td>\n</tr>\n<tr>\n<td>CNYSN</td>\n<td>Yangshan</td>\n</tr>\n<tr>\n<td>CNYTN</td>\n<td>Yantian</td>\n</tr>\n<tr>\n<td>CNYUE</td>\n<td>Yueyang</td>\n</tr>\n<tr>\n<td>CNYUF</td>\n<td>Yunfu</td>\n</tr>\n<tr>\n<td>CNYXS</td>\n<td>Yixing</td>\n</tr>\n<tr>\n<td>CNYZH</td>\n<td>Yangzhou Pt</td>\n</tr>\n<tr>\n<td>CNZBO</td>\n<td>Zibo</td>\n</tr>\n<tr>\n<td>CNZGA</td>\n<td>Zhongshan</td>\n</tr>\n<tr>\n<td>CNZGZ</td>\n<td>Zhengzhou</td>\n</tr>\n<tr>\n<td>CNZHE</td>\n<td>Zhenjiang Pt</td>\n</tr>\n<tr>\n<td>CNZJG</td>\n<td>Zhangjiagang</td>\n</tr>\n<tr>\n<td>CNZNG</td>\n<td>Zhanjiang</td>\n</tr>\n<tr>\n<td>CNZOS</td>\n<td>Zhoushan</td>\n</tr>\n<tr>\n<td>CNZPU</td>\n<td>Zhapu Pt</td>\n</tr>\n<tr>\n<td>CNZQG</td>\n<td>Zhaoqing Pt</td>\n</tr>\n<tr>\n<td>CNZUH</td>\n<td>Zhuhai Pt</td>\n</tr>\n<tr>\n<td>CNZZU</td>\n<td>Zhangzhou</td>\n</tr>\n<tr>\n<td>COBAQ</td>\n<td>Barranquilla</td>\n</tr>\n<tr>\n<td>COBUN</td>\n<td>Buenaventura</td>\n</tr>\n<tr>\n<td>COCTG</td>\n<td>Cartagena</td>\n</tr>\n<tr>\n<td>COPBO</td>\n<td>Puerto Bolivar</td>\n</tr>\n<tr>\n<td>COSMR</td>\n<td>Santa Marta</td>\n</tr>\n<tr>\n<td>COTRB</td>\n<td>Turbo</td>\n</tr>\n<tr>\n<td>CRLIO</td>\n<td>Puerto Limon</td>\n</tr>\n<tr>\n<td>CRMOB</td>\n<td>Moin</td>\n</tr>\n<tr>\n<td>CRPTC</td>\n<td>Puerto Caldera</td>\n</tr>\n<tr>\n<td>CRSJO</td>\n<td>San Jose</td>\n</tr>\n<tr>\n<td>CUMAR</td>\n<td>Mariel</td>\n</tr>\n<tr>\n<td>CUSCU</td>\n<td>Santiago de Cuba</td>\n</tr>\n<tr>\n<td>CVMIN</td>\n<td>Mindelo</td>\n</tr>\n<tr>\n<td>CVRAI</td>\n<td>Praia</td>\n</tr>\n<tr>\n<td>CWWIL</td>\n<td>Willemstad-Curacao</td>\n</tr>\n<tr>\n<td>CYLMS</td>\n<td>Limassol</td>\n</tr>\n<tr>\n<td>CZPRG</td>\n<td>Prague</td>\n</tr>\n<tr>\n<td>DEBRB</td>\n<td>Brunsbuttel</td>\n</tr>\n<tr>\n<td>DEBRE</td>\n<td>Bremen</td>\n</tr>\n<tr>\n<td>DEBRV</td>\n<td>Bremerhaven</td>\n</tr>\n<tr>\n<td>DECKL</td>\n<td>Kiel Canal</td>\n</tr>\n<tr>\n<td>DECUX</td>\n<td>Cuxhaven</td>\n</tr>\n<tr>\n<td>DEEME</td>\n<td>Emden</td>\n</tr>\n<tr>\n<td>DEFRA</td>\n<td>Frankfurt am Main</td>\n</tr>\n<tr>\n<td>DEHAM</td>\n<td>Hamburg</td>\n</tr>\n<tr>\n<td>DEWVN</td>\n<td>Wilhelmshaven</td>\n</tr>\n<tr>\n<td>DJJIB</td>\n<td>Djibouti</td>\n</tr>\n<tr>\n<td>DKAAL</td>\n<td>Aalborg</td>\n</tr>\n<tr>\n<td>DKAAR</td>\n<td>Aarhus</td>\n</tr>\n<tr>\n<td>DKCPH</td>\n<td>Copenhagen</td>\n</tr>\n<tr>\n<td>DKFDH</td>\n<td>Frederikshavn</td>\n</tr>\n<tr>\n<td>DKFRC</td>\n<td>Fredericia</td>\n</tr>\n<tr>\n<td>DKKAL</td>\n<td>Kalundborg</td>\n</tr>\n<tr>\n<td>DMRSU</td>\n<td>Roseau</td>\n</tr>\n<tr>\n<td>DOCAU</td>\n<td>Caucedo</td>\n</tr>\n<tr>\n<td>DOHAI</td>\n<td>Rio Haina</td>\n</tr>\n<tr>\n<td>DOSDQ</td>\n<td>Santo Domingo</td>\n</tr>\n<tr>\n<td>DZAAE</td>\n<td>Annaba (ex Bone)</td>\n</tr>\n<tr>\n<td>DZALG</td>\n<td>Algiers</td>\n</tr>\n<tr>\n<td>DZBJA</td>\n<td>Bejaia (ex Bougie)</td>\n</tr>\n<tr>\n<td>DZDJE</td>\n<td>Djen-Djen</td>\n</tr>\n<tr>\n<td>DZGHZ</td>\n<td>Ghazaouet</td>\n</tr>\n<tr>\n<td>DZMOS</td>\n<td>Mostaganem</td>\n</tr>\n<tr>\n<td>DZORN</td>\n<td>Oran</td>\n</tr>\n<tr>\n<td>DZSKI</td>\n<td>Skikda (ex Philippeville)</td>\n</tr>\n<tr>\n<td>ECESM</td>\n<td>Esmeraldas</td>\n</tr>\n<tr>\n<td>ECGYE</td>\n<td>Guayaquil</td>\n</tr>\n<tr>\n<td>ECMEC</td>\n<td>Manta</td>\n</tr>\n<tr>\n<td>ECPSJ</td>\n<td>Posorja</td>\n</tr>\n<tr>\n<td>EEMUG</td>\n<td>Muuga</td>\n</tr>\n<tr>\n<td>EEPLA</td>\n<td>Paldiski</td>\n</tr>\n<tr>\n<td>EESLM</td>\n<td>Sillamae</td>\n</tr>\n<tr>\n<td>EETLL</td>\n<td>Tallinn</td>\n</tr>\n<tr>\n<td>EGADA</td>\n<td>Al Adabiyah</td>\n</tr>\n<tr>\n<td>EGALY</td>\n<td>Alexandria</td>\n</tr>\n<tr>\n<td>EGDAM</td>\n<td>Damietta</td>\n</tr>\n<tr>\n<td>EGEDK</td>\n<td>El Dekheila</td>\n</tr>\n<tr>\n<td>EGPSD</td>\n<td>Port Said</td>\n</tr>\n<tr>\n<td>EGPSE</td>\n<td>Port Said East</td>\n</tr>\n<tr>\n<td>EGPSW</td>\n<td>Port Said West</td>\n</tr>\n<tr>\n<td>EGSOK</td>\n<td>Sokhna Port</td>\n</tr>\n<tr>\n<td>EGSUZ</td>\n<td>Suez Canal</td>\n</tr>\n<tr>\n<td>ERMSW</td>\n<td>Massawa</td>\n</tr>\n<tr>\n<td>ESACE</td>\n<td>Lanzarote</td>\n</tr>\n<tr>\n<td>ESAGM</td>\n<td>Malaga</td>\n</tr>\n<tr>\n<td>ESALC</td>\n<td>Alicante</td>\n</tr>\n<tr>\n<td>ESALG</td>\n<td>Algeciras</td>\n</tr>\n<tr>\n<td>ESBCN</td>\n<td>Barcelona</td>\n</tr>\n<tr>\n<td>ESBIO</td>\n<td>Bilbao</td>\n</tr>\n<tr>\n<td>ESCAR</td>\n<td>Cartagena</td>\n</tr>\n<tr>\n<td>ESCAS</td>\n<td>Castellon</td>\n</tr>\n<tr>\n<td>ESGAR</td>\n<td>Garrucha</td>\n</tr>\n<tr>\n<td>ESGIJ</td>\n<td>Gijon</td>\n</tr>\n<tr>\n<td>ESHUV</td>\n<td>Huelva</td>\n</tr>\n<tr>\n<td>ESLEI</td>\n<td>Almeria</td>\n</tr>\n<tr>\n<td>ESLPA</td>\n<td>Las Palmas de Gran Canaria</td>\n</tr>\n<tr>\n<td>ESMAD</td>\n<td>Madrid</td>\n</tr>\n<tr>\n<td>ESMAR</td>\n<td>Marin</td>\n</tr>\n<tr>\n<td>ESMLN</td>\n<td>Melilla</td>\n</tr>\n<tr>\n<td>ESPBB</td>\n<td>Pasito Blanco, Canary Is</td>\n</tr>\n<tr>\n<td>ESPRO</td>\n<td>Puerto Rosario</td>\n</tr>\n<tr>\n<td>ESSAG</td>\n<td>Sagunto</td>\n</tr>\n<tr>\n<td>ESSCT</td>\n<td>Santa Cruz de Tenerife</td>\n</tr>\n<tr>\n<td>ESSPC</td>\n<td>Santa Cruz de La Palma</td>\n</tr>\n<tr>\n<td>ESTAR</td>\n<td>Tarragona</td>\n</tr>\n<tr>\n<td>ESTCI</td>\n<td>Tenerife</td>\n</tr>\n<tr>\n<td>ESVGO</td>\n<td>Vigo</td>\n</tr>\n<tr>\n<td>ESVIL</td>\n<td>Villagarcia de Arosa</td>\n</tr>\n<tr>\n<td>ESVLC</td>\n<td>Valencia</td>\n</tr>\n<tr>\n<td>FIHEL</td>\n<td>Helsinki</td>\n</tr>\n<tr>\n<td>FIKAS</td>\n<td>Kaskinen (Kasko)</td>\n</tr>\n<tr>\n<td>FIKEM</td>\n<td>Kemi/Tornio (Kemi/Tornea)</td>\n</tr>\n<tr>\n<td>FIKOK</td>\n<td>Kokkola (Karleby)</td>\n</tr>\n<tr>\n<td>FIKTK</td>\n<td>Kotka</td>\n</tr>\n<tr>\n<td>FILAN</td>\n<td>Langnas</td>\n</tr>\n<tr>\n<td>FIMHQ</td>\n<td>Mariehamn (Maarianhamina)</td>\n</tr>\n<tr>\n<td>FIMTY</td>\n<td>Mantyluoto</td>\n</tr>\n<tr>\n<td>FINLI</td>\n<td>Naantali (Nadendal)</td>\n</tr>\n<tr>\n<td>FIOUL</td>\n<td>Oulu (Uleaborg)</td>\n</tr>\n<tr>\n<td>FIRAU</td>\n<td>Rauma</td>\n</tr>\n<tr>\n<td>FITKU</td>\n<td>Turku (Abo)</td>\n</tr>\n<tr>\n<td>FIVEI</td>\n<td>Veitsiluoto</td>\n</tr>\n<tr>\n<td>FJLTK</td>\n<td>Lautoka</td>\n</tr>\n<tr>\n<td>FJSUV</td>\n<td>Suva</td>\n</tr>\n<tr>\n<td>FRBAS</td>\n<td>Bassens</td>\n</tr>\n<tr>\n<td>FRBES</td>\n<td>Brest</td>\n</tr>\n<tr>\n<td>FRDKK</td>\n<td>Dunkerque</td>\n</tr>\n<tr>\n<td>FRFOS</td>\n<td>Fos sur Mer</td>\n</tr>\n<tr>\n<td>FRLEH</td>\n<td>Le Havre</td>\n</tr>\n<tr>\n<td>FRLPK</td>\n<td>Le Port</td>\n</tr>\n<tr>\n<td>FRLRH</td>\n<td>La Rochelle</td>\n</tr>\n<tr>\n<td>FRMRS</td>\n<td>Marseille</td>\n</tr>\n<tr>\n<td>FRMTX</td>\n<td>Montoir-de-Bretagne</td>\n</tr>\n<tr>\n<td>FRURO</td>\n<td>Rouen</td>\n</tr>\n<tr>\n<td>GALBV</td>\n<td>Libreville</td>\n</tr>\n<tr>\n<td>GAPOG</td>\n<td>Port Gentil</td>\n</tr>\n<tr>\n<td>GBANO</td>\n<td>Road Town</td>\n</tr>\n<tr>\n<td>GBBAW</td>\n<td>Baltic Wharf</td>\n</tr>\n<tr>\n<td>GBBEL</td>\n<td>Belfast</td>\n</tr>\n<tr>\n<td>GBBRS</td>\n<td>Bristol</td>\n</tr>\n<tr>\n<td>GBFXT</td>\n<td>Felixstowe</td>\n</tr>\n<tr>\n<td>GBGRG</td>\n<td>Grangemouth</td>\n</tr>\n<tr>\n<td>GBGRK</td>\n<td>Greenock</td>\n</tr>\n<tr>\n<td>GBIMM</td>\n<td>Immingham</td>\n</tr>\n<tr>\n<td>GBLGP</td>\n<td>London</td>\n</tr>\n<tr>\n<td>GBLIV</td>\n<td>Liverpool</td>\n</tr>\n<tr>\n<td>GBPME</td>\n<td>Portsmouth</td>\n</tr>\n<tr>\n<td>GBPRU</td>\n<td>Portbury</td>\n</tr>\n<tr>\n<td>GBSOU</td>\n<td>Southampton</td>\n</tr>\n<tr>\n<td>GBSSH</td>\n<td>South Shields</td>\n</tr>\n<tr>\n<td>GBTEE</td>\n<td>Teesport</td>\n</tr>\n<tr>\n<td>GBTHP</td>\n<td>Thames</td>\n</tr>\n<tr>\n<td>GBTIL</td>\n<td>Tilbury</td>\n</tr>\n<tr>\n<td>GBTYN</td>\n<td>Tyne</td>\n</tr>\n<tr>\n<td>GDSTG</td>\n<td>St. George`s</td>\n</tr>\n<tr>\n<td>GEPTI</td>\n<td>Poti</td>\n</tr>\n<tr>\n<td>GHTEM</td>\n<td>Tema</td>\n</tr>\n<tr>\n<td>GHTKD</td>\n<td>Takoradi</td>\n</tr>\n<tr>\n<td>GIGIB</td>\n<td>Gibraltar</td>\n</tr>\n<tr>\n<td>GMBJL</td>\n<td>Banjul</td>\n</tr>\n<tr>\n<td>GNCKY</td>\n<td>Conakry</td>\n</tr>\n<tr>\n<td>GQBSG</td>\n<td>Bata</td>\n</tr>\n<tr>\n<td>GQSSG</td>\n<td>Malabo</td>\n</tr>\n<tr>\n<td>GRATH</td>\n<td>Athens</td>\n</tr>\n<tr>\n<td>GRHER</td>\n<td>Heraklion (Iraklion)</td>\n</tr>\n<tr>\n<td>GRIGO</td>\n<td>Igoumenitsa</td>\n</tr>\n<tr>\n<td>GRKZS</td>\n<td>Kastelorizo</td>\n</tr>\n<tr>\n<td>GRLAV</td>\n<td>Lavrion (Laurium)</td>\n</tr>\n<tr>\n<td>GRPIR</td>\n<td>Piraeus</td>\n</tr>\n<tr>\n<td>GRSKG</td>\n<td>Thessaloniki</td>\n</tr>\n<tr>\n<td>GRVOL</td>\n<td>Volos</td>\n</tr>\n<tr>\n<td>GTGUA</td>\n<td>Guatemala City</td>\n</tr>\n<tr>\n<td>GTIZ4</td>\n<td>Santo Tomas de Castilla</td>\n</tr>\n<tr>\n<td>GTPBR</td>\n<td>Puerto Barrios</td>\n</tr>\n<tr>\n<td>GTPRQ</td>\n<td>Puerto Quetzal</td>\n</tr>\n<tr>\n<td>GTSTZ</td>\n<td>Santo Tomas</td>\n</tr>\n<tr>\n<td>GUGUM</td>\n<td>Guam</td>\n</tr>\n<tr>\n<td>GWOXB</td>\n<td>Bissau</td>\n</tr>\n<tr>\n<td>GYGEO</td>\n<td>Georgetown</td>\n</tr>\n<tr>\n<td>HKHKG</td>\n<td>Hong Kong</td>\n</tr>\n<tr>\n<td>HKHKM</td>\n<td>Hong Kong Mid Stream</td>\n</tr>\n<tr>\n<td>HNPCR</td>\n<td>Puerto Cortes</td>\n</tr>\n<tr>\n<td>HNSAP</td>\n<td>San Pedro Sula</td>\n</tr>\n<tr>\n<td>HNSLO</td>\n<td>San Lorenzo</td>\n</tr>\n<tr>\n<td>HRPLE</td>\n<td>Ploce</td>\n</tr>\n<tr>\n<td>HRRJK</td>\n<td>Rijeka</td>\n</tr>\n<tr>\n<td>HRSPU</td>\n<td>Split</td>\n</tr>\n<tr>\n<td>HTCAP</td>\n<td>Cap-Haitien</td>\n</tr>\n<tr>\n<td>HTLFF</td>\n<td>Lafiteau</td>\n</tr>\n<tr>\n<td>HTPAP</td>\n<td>Port au Prince</td>\n</tr>\n<tr>\n<td>HUBUD</td>\n<td>Budapest</td>\n</tr>\n<tr>\n<td>IDBDJ</td>\n<td>Banjarmasin</td>\n</tr>\n<tr>\n<td>IDBIT</td>\n<td>Bitung, Sulawesi</td>\n</tr>\n<tr>\n<td>IDBLW</td>\n<td>Belawan</td>\n</tr>\n<tr>\n<td>IDBOA</td>\n<td>Benoa</td>\n</tr>\n<tr>\n<td>IDBPN</td>\n<td>Balikpapan</td>\n</tr>\n<tr>\n<td>IDBTM</td>\n<td>Batam Island</td>\n</tr>\n<tr>\n<td>IDBUR</td>\n<td>Batu ampar</td>\n</tr>\n<tr>\n<td>IDCKR</td>\n<td>Cikarang</td>\n</tr>\n<tr>\n<td>IDDJB</td>\n<td>Jambi, Sumatra</td>\n</tr>\n<tr>\n<td>IDDJJ</td>\n<td>Jayapura, Irian Jaya</td>\n</tr>\n<tr>\n<td>IDIBT</td>\n<td>Indonesia Bulk Terminal</td>\n</tr>\n<tr>\n<td>IDJKT</td>\n<td>Jakarta</td>\n</tr>\n<tr>\n<td>IDKIJ</td>\n<td>Kijang</td>\n</tr>\n<tr>\n<td>IDLUW</td>\n<td>Luwuk</td>\n</tr>\n<tr>\n<td>IDMAK</td>\n<td>Makassar</td>\n</tr>\n<tr>\n<td>IDMES</td>\n<td>Medan</td>\n</tr>\n<tr>\n<td>IDMRK</td>\n<td>Merak, Java</td>\n</tr>\n<tr>\n<td>IDNTI</td>\n<td>Bintuni</td>\n</tr>\n<tr>\n<td>IDPAL</td>\n<td>Palu</td>\n</tr>\n<tr>\n<td>IDPDG</td>\n<td>Padang</td>\n</tr>\n<tr>\n<td>IDPER</td>\n<td>Perawang</td>\n</tr>\n<tr>\n<td>IDPKU</td>\n<td>Pekanbaru, Sumatra</td>\n</tr>\n<tr>\n<td>IDPLM</td>\n<td>Palembang</td>\n</tr>\n<tr>\n<td>IDPNJ</td>\n<td>Panjang</td>\n</tr>\n<tr>\n<td>IDPNK</td>\n<td>Pontianak</td>\n</tr>\n<tr>\n<td>IDSBS</td>\n<td>Sambas</td>\n</tr>\n<tr>\n<td>IDSRG</td>\n<td>Semarang</td>\n</tr>\n<tr>\n<td>IDSRI</td>\n<td>Samarinda, Kalimantan</td>\n</tr>\n<tr>\n<td>IDSUB</td>\n<td>Surabaya</td>\n</tr>\n<tr>\n<td>IDTES</td>\n<td>Tanjung Emas</td>\n</tr>\n<tr>\n<td>IDTPP</td>\n<td>Tanjung Priok</td>\n</tr>\n<tr>\n<td>IDTRA</td>\n<td>Sumatra</td>\n</tr>\n<tr>\n<td>IDTRG</td>\n<td>Tangerang</td>\n</tr>\n<tr>\n<td>IEBEF</td>\n<td>Belfast</td>\n</tr>\n<tr>\n<td>IEDUB</td>\n<td>Dublin</td>\n</tr>\n<tr>\n<td>IEORK</td>\n<td>Cork</td>\n</tr>\n<tr>\n<td>ILASH</td>\n<td>Ashdod</td>\n</tr>\n<tr>\n<td>ILETH</td>\n<td>Elat (Eilath)</td>\n</tr>\n<tr>\n<td>ILHFA</td>\n<td>Haifa</td>\n</tr>\n<tr>\n<td>INBLR</td>\n<td>Bangalore</td>\n</tr>\n<tr>\n<td>INBOM</td>\n<td>Mumbai</td>\n</tr>\n<tr>\n<td>INCCU</td>\n<td>Kolkata</td>\n</tr>\n<tr>\n<td>INCOK</td>\n<td>Cochin</td>\n</tr>\n<tr>\n<td>INENR</td>\n<td>Ennore</td>\n</tr>\n<tr>\n<td>INGOI</td>\n<td>Goa</td>\n</tr>\n<tr>\n<td>INHAL</td>\n<td>Haldia</td>\n</tr>\n<tr>\n<td>INHZR</td>\n<td>Hazira</td>\n</tr>\n<tr>\n<td>INICD</td>\n<td>New Delhi</td>\n</tr>\n<tr>\n<td>INIXE</td>\n<td>Mangalore</td>\n</tr>\n<tr>\n<td>INKAK</td>\n<td>Kakinada</td>\n</tr>\n<tr>\n<td>INKAT</td>\n<td>Kattupalli</td>\n</tr>\n<tr>\n<td>INKRI</td>\n<td>Krishnapatnam</td>\n</tr>\n<tr>\n<td>INMAA</td>\n<td>Chennai (ex Madras)</td>\n</tr>\n<tr>\n<td>INMRM</td>\n<td>Marmugao (Marmagao)</td>\n</tr>\n<tr>\n<td>INMUN</td>\n<td>Mundra</td>\n</tr>\n<tr>\n<td>INNSA</td>\n<td>Nhava Sheva</td>\n</tr>\n<tr>\n<td>INPAA</td>\n<td>Panna</td>\n</tr>\n<tr>\n<td>INPAV</td>\n<td>Pipavav</td>\n</tr>\n<tr>\n<td>INTUT</td>\n<td>Tuticorin</td>\n</tr>\n<tr>\n<td>INVIZ</td>\n<td>Vizag</td>\n</tr>\n<tr>\n<td>INVLU</td>\n<td>Vallur</td>\n</tr>\n<tr>\n<td>INVTZ</td>\n<td>Visakhapatnam</td>\n</tr>\n<tr>\n<td>INVZJ</td>\n<td>Vazhinjam</td>\n</tr>\n<tr>\n<td>IQBSR</td>\n<td>Basra</td>\n</tr>\n<tr>\n<td>IQGTL</td>\n<td>Umm Qasr Project Terminal</td>\n</tr>\n<tr>\n<td>IQKAZ</td>\n<td>Khor al Zubair</td>\n</tr>\n<tr>\n<td>IQUQR</td>\n<td>Umm Qasr</td>\n</tr>\n<tr>\n<td>IQUQT</td>\n<td>Umm Qasr Container Terminal</td>\n</tr>\n<tr>\n<td>IRASA</td>\n<td>Asaluyeh</td>\n</tr>\n<tr>\n<td>IRBAH</td>\n<td>Bandar Assaluyeh</td>\n</tr>\n<tr>\n<td>IRBIK</td>\n<td>Imam Khomeini Pt/ Mahshahr City</td>\n</tr>\n<tr>\n<td>IRBKM</td>\n<td>Bandar Khomeini</td>\n</tr>\n<tr>\n<td>IRBND</td>\n<td>Bandar Abbas</td>\n</tr>\n<tr>\n<td>IRBSR</td>\n<td>Bandar Shahid Rajaee</td>\n</tr>\n<tr>\n<td>IRBUZ</td>\n<td>Bandar Bushehr</td>\n</tr>\n<tr>\n<td>IRCI3</td>\n<td>Chabahar</td>\n</tr>\n<tr>\n<td>IRKHO</td>\n<td>Khorramshahr</td>\n</tr>\n<tr>\n<td>ISREY</td>\n<td>Reykjavik</td>\n</tr>\n<tr>\n<td>ITAOI</td>\n<td>Ancona</td>\n</tr>\n<tr>\n<td>ITBRI</td>\n<td>Bari</td>\n</tr>\n<tr>\n<td>ITCAG</td>\n<td>Cagliari</td>\n</tr>\n<tr>\n<td>ITCTA</td>\n<td>Catania</td>\n</tr>\n<tr>\n<td>ITCVV</td>\n<td>Civitavecchia</td>\n</tr>\n<tr>\n<td>ITGIT</td>\n<td>Gioia Tauro</td>\n</tr>\n<tr>\n<td>ITGOA</td>\n<td>Genoa</td>\n</tr>\n<tr>\n<td>ITLIV</td>\n<td>Livorno</td>\n</tr>\n<tr>\n<td>ITMNP</td>\n<td>Monopoli</td>\n</tr>\n<tr>\n<td>ITNAP</td>\n<td>Naples</td>\n</tr>\n<tr>\n<td>ITPDA</td>\n<td>Padova</td>\n</tr>\n<tr>\n<td>ITPMA</td>\n<td>Marghera</td>\n</tr>\n<tr>\n<td>ITPMO</td>\n<td>Palermo</td>\n</tr>\n<tr>\n<td>ITRAN</td>\n<td>Ravenna</td>\n</tr>\n<tr>\n<td>ITSAL</td>\n<td>Salerno</td>\n</tr>\n<tr>\n<td>ITSPE</td>\n<td>La Spezia</td>\n</tr>\n<tr>\n<td>ITTAR</td>\n<td>Taranto</td>\n</tr>\n<tr>\n<td>ITTPS</td>\n<td>Trapani</td>\n</tr>\n<tr>\n<td>ITTRS</td>\n<td>Trieste</td>\n</tr>\n<tr>\n<td>ITVCE</td>\n<td>Venezia</td>\n</tr>\n<tr>\n<td>ITVDL</td>\n<td>Vado Ligure</td>\n</tr>\n<tr>\n<td>JMKIN</td>\n<td>Kingston</td>\n</tr>\n<tr>\n<td>JMMBJ</td>\n<td>Montego Bay</td>\n</tr>\n<tr>\n<td>JOAQB</td>\n<td>Aqaba</td>\n</tr>\n<tr>\n<td>JOAQJ</td>\n<td>Al 'Aqabah</td>\n</tr>\n<tr>\n<td>JPABU</td>\n<td>Aburatsu</td>\n</tr>\n<tr>\n<td>JPAXT</td>\n<td>Akita</td>\n</tr>\n<tr>\n<td>JPCHB</td>\n<td>Chiba</td>\n</tr>\n<tr>\n<td>JPFKY</td>\n<td>Fukuyama</td>\n</tr>\n<tr>\n<td>JPFNB</td>\n<td>Funabashi</td>\n</tr>\n<tr>\n<td>JPHBI</td>\n<td>Hibikinada</td>\n</tr>\n<tr>\n<td>JPHBK</td>\n<td>Hibikishinko</td>\n</tr>\n<tr>\n<td>JPHHE</td>\n<td>Hachinohe</td>\n</tr>\n<tr>\n<td>JPHIC</td>\n<td>Hitachinaka</td>\n</tr>\n<tr>\n<td>JPHIJ</td>\n<td>Hiroshima</td>\n</tr>\n<tr>\n<td>JPHKD</td>\n<td>Hakodate</td>\n</tr>\n<tr>\n<td>JPHKT</td>\n<td>Hakata</td>\n</tr>\n<tr>\n<td>JPHMD</td>\n<td>Hamada</td>\n</tr>\n<tr>\n<td>JPHSM</td>\n<td>Hososhima</td>\n</tr>\n<tr>\n<td>JPIMB</td>\n<td>Imabari</td>\n</tr>\n<tr>\n<td>JPIMI</td>\n<td>Imari</td>\n</tr>\n<tr>\n<td>JPISI</td>\n<td>Ishikari</td>\n</tr>\n<tr>\n<td>JPIWK</td>\n<td>Iwakuni</td>\n</tr>\n<tr>\n<td>JPIYM</td>\n<td>Iyomishima</td>\n</tr>\n<tr>\n<td>JPKCZ</td>\n<td>Kochi</td>\n</tr>\n<tr>\n<td>JPKIJ</td>\n<td>Niigata</td>\n</tr>\n<tr>\n<td>JPKIS</td>\n<td>Kamaishi</td>\n</tr>\n<tr>\n<td>JPKKJ</td>\n<td>Kitakyushu</td>\n</tr>\n<tr>\n<td>JPKMJ</td>\n<td>Kumamoto</td>\n</tr>\n<tr>\n<td>JPKNZ</td>\n<td>Kanazawa</td>\n</tr>\n<tr>\n<td>JPKOJ</td>\n<td>Kagoshima</td>\n</tr>\n<tr>\n<td>JPKSM</td>\n<td>Kashima, Ibaraki</td>\n</tr>\n<tr>\n<td>JPKUH</td>\n<td>Kushiro</td>\n</tr>\n<tr>\n<td>JPKWS</td>\n<td>Kawasaki</td>\n</tr>\n<tr>\n<td>JPMAI</td>\n<td>Maizuru</td>\n</tr>\n<tr>\n<td>JPMII</td>\n<td>Miike</td>\n</tr>\n<tr>\n<td>JPMIZ</td>\n<td>Mizushima</td>\n</tr>\n<tr>\n<td>JPMOJ</td>\n<td>Moji</td>\n</tr>\n<tr>\n<td>JPMUR</td>\n<td>Muroran</td>\n</tr>\n<tr>\n<td>JPMYJ</td>\n<td>Matsuyama</td>\n</tr>\n<tr>\n<td>JPNAH</td>\n<td>Naha</td>\n</tr>\n<tr>\n<td>JPNAN</td>\n<td>Nakanoseki</td>\n</tr>\n<tr>\n<td>JPNAO</td>\n<td>Naoetsu</td>\n</tr>\n<tr>\n<td>JPNGO</td>\n<td>Nagoya</td>\n</tr>\n<tr>\n<td>JPNGS</td>\n<td>Nagasaki</td>\n</tr>\n<tr>\n<td>JPOIT</td>\n<td>Oita</td>\n</tr>\n<tr>\n<td>JPOMZ</td>\n<td>Omaezaki</td>\n</tr>\n<tr>\n<td>JPONA</td>\n<td>Onahama</td>\n</tr>\n<tr>\n<td>JPOSA</td>\n<td>Osaka</td>\n</tr>\n<tr>\n<td>JPOTK</td>\n<td>Otake</td>\n</tr>\n<tr>\n<td>JPOTR</td>\n<td>Otaru</td>\n</tr>\n<tr>\n<td>JPSBK</td>\n<td>Sakaisenboku</td>\n</tr>\n<tr>\n<td>JPSBS</td>\n<td>Shibushi</td>\n</tr>\n<tr>\n<td>JPSDJ</td>\n<td>Sendai, Miyagi</td>\n</tr>\n<tr>\n<td>JPSEN</td>\n<td>Sendai, Kagoshima</td>\n</tr>\n<tr>\n<td>JPSHS</td>\n<td>Shimonoseki</td>\n</tr>\n<tr>\n<td>JPSKT</td>\n<td>Sakata</td>\n</tr>\n<tr>\n<td>JPSMN</td>\n<td>Sakaiminato</td>\n</tr>\n<tr>\n<td>JPSMZ</td>\n<td>Shimizu</td>\n</tr>\n<tr>\n<td>JPTAK</td>\n<td>Takamatsu</td>\n</tr>\n<tr>\n<td>JPTHS</td>\n<td>Toyohashi</td>\n</tr>\n<tr>\n<td>JPTKS</td>\n<td>Tokushima</td>\n</tr>\n<tr>\n<td>JPTKY</td>\n<td>Tokuyama</td>\n</tr>\n<tr>\n<td>JPTMK</td>\n<td>Tomakomai</td>\n</tr>\n<tr>\n<td>JPTOS</td>\n<td>Toyamashinko</td>\n</tr>\n<tr>\n<td>JPTOY</td>\n<td>Toyama</td>\n</tr>\n<tr>\n<td>JPTRG</td>\n<td>Tsuruga</td>\n</tr>\n<tr>\n<td>JPTTJ</td>\n<td>Sakaminato, Tottori</td>\n</tr>\n<tr>\n<td>JPTYO</td>\n<td>Tokyo</td>\n</tr>\n<tr>\n<td>JPUBJ</td>\n<td>Ube</td>\n</tr>\n<tr>\n<td>JPUKB</td>\n<td>Kobe</td>\n</tr>\n<tr>\n<td>JPWAK</td>\n<td>Wakayama</td>\n</tr>\n<tr>\n<td>JPYAT</td>\n<td>Yatsushiro</td>\n</tr>\n<tr>\n<td>JPYKK</td>\n<td>Yokkaichi</td>\n</tr>\n<tr>\n<td>JPYOK</td>\n<td>Yokohama</td>\n</tr>\n<tr>\n<td>KEMBA</td>\n<td>Mombasa</td>\n</tr>\n<tr>\n<td>KGFRU</td>\n<td>Bishkek</td>\n</tr>\n<tr>\n<td>KGOSS</td>\n<td>Osh</td>\n</tr>\n<tr>\n<td>KHPNH</td>\n<td>Phnom Penh</td>\n</tr>\n<tr>\n<td>KHSCH</td>\n<td>Sihanoukville</td>\n</tr>\n<tr>\n<td>KITRW</td>\n<td>Tarawa</td>\n</tr>\n<tr>\n<td>KMMUT</td>\n<td>Mutsamudu, Anjouan</td>\n</tr>\n<tr>\n<td>KMYVA</td>\n<td>Moroni</td>\n</tr>\n<tr>\n<td>KNBAS</td>\n<td>Basseterre, Saint Kitts</td>\n</tr>\n<tr>\n<td>KRBNP</td>\n<td>New Busan</td>\n</tr>\n<tr>\n<td>KRGIN</td>\n<td>Gyeongin</td>\n</tr>\n<tr>\n<td>KRINC</td>\n<td>Incheon</td>\n</tr>\n<tr>\n<td>KRKPO</td>\n<td>Pohang</td>\n</tr>\n<tr>\n<td>KRKUV</td>\n<td>Kunsan</td>\n</tr>\n<tr>\n<td>KRKWA</td>\n<td>Kwangyang</td>\n</tr>\n<tr>\n<td>KRMAS</td>\n<td>Masan</td>\n</tr>\n<tr>\n<td>KRMOK</td>\n<td>Mokpo</td>\n</tr>\n<tr>\n<td>KRPTK</td>\n<td>Pyeongtaek</td>\n</tr>\n<tr>\n<td>KRPUS</td>\n<td>Busan</td>\n</tr>\n<tr>\n<td>KRSSA</td>\n<td>Seosan</td>\n</tr>\n<tr>\n<td>KRTSN</td>\n<td>Daesan/Seosan</td>\n</tr>\n<tr>\n<td>KRUSN</td>\n<td>Ulsan</td>\n</tr>\n<tr>\n<td>KRYOS</td>\n<td>Yeosu</td>\n</tr>\n<tr>\n<td>KWKWI</td>\n<td>Kuwait</td>\n</tr>\n<tr>\n<td>KWSAA</td>\n<td>Shuaiba</td>\n</tr>\n<tr>\n<td>KWSWK</td>\n<td>Shuwaikh</td>\n</tr>\n<tr>\n<td>KYGEC</td>\n<td>Georgetown</td>\n</tr>\n<tr>\n<td>KZAAU</td>\n<td>Aktau</td>\n</tr>\n<tr>\n<td>KZALA</td>\n<td>Almaty</td>\n</tr>\n<tr>\n<td>KZBXJ</td>\n<td>Burundai</td>\n</tr>\n<tr>\n<td>KZSHY</td>\n<td>Shymkent</td>\n</tr>\n<tr>\n<td>KZTAR</td>\n<td>Taraz</td>\n</tr>\n<tr>\n<td>LAPKZ</td>\n<td>Pakse</td>\n</tr>\n<tr>\n<td>LASAV</td>\n<td>Sawannakhet</td>\n</tr>\n<tr>\n<td>LATHG</td>\n<td>Thanaleng</td>\n</tr>\n<tr>\n<td>LAVTE</td>\n<td>Vientiane</td>\n</tr>\n<tr>\n<td>LBBEY</td>\n<td>Beirut</td>\n</tr>\n<tr>\n<td>LBKYE</td>\n<td>Tripoli</td>\n</tr>\n<tr>\n<td>LCCAS</td>\n<td>Castries</td>\n</tr>\n<tr>\n<td>LKCMB</td>\n<td>Colombo</td>\n</tr>\n<tr>\n<td>LKHBA</td>\n<td>Hambantota</td>\n</tr>\n<tr>\n<td>LRMLW</td>\n<td>Monrovia</td>\n</tr>\n<tr>\n<td>LTKLJ</td>\n<td>Klaipeda</td>\n</tr>\n<tr>\n<td>LTVNO</td>\n<td>Vilnius</td>\n</tr>\n<tr>\n<td>LVLPX</td>\n<td>Liepaja</td>\n</tr>\n<tr>\n<td>LVRIX</td>\n<td>Riga</td>\n</tr>\n<tr>\n<td>LYBEN</td>\n<td>Bingazi (Benghazi)</td>\n</tr>\n<tr>\n<td>LYKHM</td>\n<td>Khoms</td>\n</tr>\n<tr>\n<td>LYMRA</td>\n<td>Misurata</td>\n</tr>\n<tr>\n<td>LYTIP</td>\n<td>Tripoli</td>\n</tr>\n<tr>\n<td>LYTOB</td>\n<td>Tobruk</td>\n</tr>\n<tr>\n<td>MAAGA</td>\n<td>Agadir</td>\n</tr>\n<tr>\n<td>MACAS</td>\n<td>Casablanca</td>\n</tr>\n<tr>\n<td>MAPTM</td>\n<td>Port Tangier</td>\n</tr>\n<tr>\n<td>MATNG</td>\n<td>Tanger</td>\n</tr>\n<tr>\n<td>MCMON</td>\n<td>Monaco</td>\n</tr>\n<tr>\n<td>MDGIU</td>\n<td>Giurgiulesti</td>\n</tr>\n<tr>\n<td>MEBAR</td>\n<td>Bar</td>\n</tr>\n<tr>\n<td>MGDIE</td>\n<td>Diego Suarez</td>\n</tr>\n<tr>\n<td>MGEHL</td>\n<td>Ehoala</td>\n</tr>\n<tr>\n<td>MGMJN</td>\n<td>Majunga (Mahajanga)</td>\n</tr>\n<tr>\n<td>MGTLE</td>\n<td>Tulear (Toliara)</td>\n</tr>\n<tr>\n<td>MGTMM</td>\n<td>Tamatave</td>\n</tr>\n<tr>\n<td>MGTOA</td>\n<td>Toamasina</td>\n</tr>\n<tr>\n<td>MGVOH</td>\n<td>Vohemar</td>\n</tr>\n<tr>\n<td>MHMAJ</td>\n<td>Majuro</td>\n</tr>\n<tr>\n<td>MMTLA</td>\n<td>Thilawa</td>\n</tr>\n<tr>\n<td>MMYAN</td>\n<td>Yangon</td>\n</tr>\n<tr>\n<td>MNULN</td>\n<td>Ulaanbaatar</td>\n</tr>\n<tr>\n<td>MOMFM</td>\n<td>Macau</td>\n</tr>\n<tr>\n<td>MPSPN</td>\n<td>Saipan</td>\n</tr>\n<tr>\n<td>MQFDF</td>\n<td>Fort-de-France</td>\n</tr>\n<tr>\n<td>MRNDB</td>\n<td>Nouadhibou</td>\n</tr>\n<tr>\n<td>MRNKC</td>\n<td>Nouakchott</td>\n</tr>\n<tr>\n<td>MTDIS</td>\n<td>Malta</td>\n</tr>\n<tr>\n<td>MTMAR</td>\n<td>Marsaxlokk</td>\n</tr>\n<tr>\n<td>MUPLU</td>\n<td>Port Louis</td>\n</tr>\n<tr>\n<td>MVMLE</td>\n<td>Male</td>\n</tr>\n<tr>\n<td>MXATM</td>\n<td>Altamira</td>\n</tr>\n<tr>\n<td>MXESE</td>\n<td>Ensenada</td>\n</tr>\n<tr>\n<td>MXGDL</td>\n<td>Guadalajara</td>\n</tr>\n<tr>\n<td>MXLZC</td>\n<td>Lazaro Cardenas</td>\n</tr>\n<tr>\n<td>MXMEX</td>\n<td>Mexico City</td>\n</tr>\n<tr>\n<td>MXMZT</td>\n<td>Mazatlan, Sin</td>\n</tr>\n<tr>\n<td>MXPGO</td>\n<td>Progreso</td>\n</tr>\n<tr>\n<td>MXTUX</td>\n<td>Tuxpan</td>\n</tr>\n<tr>\n<td>MXVER</td>\n<td>Veracruz</td>\n</tr>\n<tr>\n<td>MXZLO</td>\n<td>Manzanillo</td>\n</tr>\n<tr>\n<td>MYBKI</td>\n<td>Kota Kinabalu</td>\n</tr>\n<tr>\n<td>MYBTU</td>\n<td>Bintulu</td>\n</tr>\n<tr>\n<td>MYKCH</td>\n<td>Kuching</td>\n</tr>\n<tr>\n<td>MYKIJ</td>\n<td>Kijal</td>\n</tr>\n<tr>\n<td>MYKUA</td>\n<td>Kuantan</td>\n</tr>\n<tr>\n<td>MYLBH</td>\n<td>Labuan Haji</td>\n</tr>\n<tr>\n<td>MYLBU</td>\n<td>Labuan</td>\n</tr>\n<tr>\n<td>MYLPK</td>\n<td>Port Klang Northport</td>\n</tr>\n<tr>\n<td>MYMYY</td>\n<td>Miri, Sarawak</td>\n</tr>\n<tr>\n<td>MYPEN</td>\n<td>Penang</td>\n</tr>\n<tr>\n<td>MYPGU</td>\n<td>Pasir Gudang</td>\n</tr>\n<tr>\n<td>MYPKG</td>\n<td>Port Klang</td>\n</tr>\n<tr>\n<td>MYPUN</td>\n<td>Punang</td>\n</tr>\n<tr>\n<td>MYSBW</td>\n<td>Sibu, Sarawak</td>\n</tr>\n<tr>\n<td>MYSDK</td>\n<td>Sandakan, Sabah</td>\n</tr>\n<tr>\n<td>MYTMP</td>\n<td>Tanjung Manis</td>\n</tr>\n<tr>\n<td>MYTPP</td>\n<td>Tanjung Pelepas</td>\n</tr>\n<tr>\n<td>MYTWU</td>\n<td>Tawau, Sabah</td>\n</tr>\n<tr>\n<td>MYWSP</td>\n<td>Port Klang West</td>\n</tr>\n<tr>\n<td>MZBEW</td>\n<td>Beira</td>\n</tr>\n<tr>\n<td>MZMNC</td>\n<td>Nacala</td>\n</tr>\n<tr>\n<td>MZMPM</td>\n<td>Maputo</td>\n</tr>\n<tr>\n<td>MZPOL</td>\n<td>Pemba</td>\n</tr>\n<tr>\n<td>NALUD</td>\n<td>Luderitz</td>\n</tr>\n<tr>\n<td>NAWVB</td>\n<td>Walvis Bay</td>\n</tr>\n<tr>\n<td>NCNOU</td>\n<td>Noumea</td>\n</tr>\n<tr>\n<td>NGAPP</td>\n<td>Apapa Lagos</td>\n</tr>\n<tr>\n<td>NGLOS</td>\n<td>Lagos</td>\n</tr>\n<tr>\n<td>NGONN</td>\n<td>Onne</td>\n</tr>\n<tr>\n<td>NGTIN</td>\n<td>Tincan</td>\n</tr>\n<tr>\n<td>NICIO</td>\n<td>Corinto</td>\n</tr>\n<tr>\n<td>NLRTM</td>\n<td>Rotterdam</td>\n</tr>\n<tr>\n<td>NLVLI</td>\n<td>Vlissingen</td>\n</tr>\n<tr>\n<td>NOAES</td>\n<td>Alesund</td>\n</tr>\n<tr>\n<td>NOBGO</td>\n<td>Bergen</td>\n</tr>\n<tr>\n<td>NOBVK</td>\n<td>Brevik</td>\n</tr>\n<tr>\n<td>NODRM</td>\n<td>Drammen</td>\n</tr>\n<tr>\n<td>NOEGE</td>\n<td>Egersund</td>\n</tr>\n<tr>\n<td>NOFRK</td>\n<td>Fredrikstad</td>\n</tr>\n<tr>\n<td>NOFRO</td>\n<td>Floro</td>\n</tr>\n<tr>\n<td>NOFUS</td>\n<td>Fusa</td>\n</tr>\n<tr>\n<td>NOGJM</td>\n<td>Gjemnes</td>\n</tr>\n<tr>\n<td>NOHAU</td>\n<td>Haugesund</td>\n</tr>\n<tr>\n<td>NOHEY</td>\n<td>Heroy</td>\n</tr>\n<tr>\n<td>NOHUS</td>\n<td>Husnes</td>\n</tr>\n<tr>\n<td>NOHVI</td>\n<td>Havik</td>\n</tr>\n<tr>\n<td>NOHYR</td>\n<td>Hoyanger</td>\n</tr>\n<tr>\n<td>NOIKR</td>\n<td>Ikornnes</td>\n</tr>\n<tr>\n<td>NOKRS</td>\n<td>Kristiansand</td>\n</tr>\n<tr>\n<td>NOLAR</td>\n<td>Larvik</td>\n</tr>\n<tr>\n<td>NOMAY</td>\n<td>Maloy</td>\n</tr>\n<tr>\n<td>NOMSS</td>\n<td>Moss</td>\n</tr>\n<tr>\n<td>NOORK</td>\n<td>Orkanger</td>\n</tr>\n<tr>\n<td>NOOSL</td>\n<td>Oslo</td>\n</tr>\n<tr>\n<td>NOSAU</td>\n<td>Sauda</td>\n</tr>\n<tr>\n<td>NOSUD</td>\n<td>Sunndal</td>\n</tr>\n<tr>\n<td>NOSVE</td>\n<td>Svelgen</td>\n</tr>\n<tr>\n<td>NOSVG</td>\n<td>Stavanger</td>\n</tr>\n<tr>\n<td>NOTAE</td>\n<td>Tananger</td>\n</tr>\n<tr>\n<td>NZAKL</td>\n<td>Auckland</td>\n</tr>\n<tr>\n<td>NZLYT</td>\n<td>Lyttelton</td>\n</tr>\n<tr>\n<td>NZMAP</td>\n<td>Marsden Point</td>\n</tr>\n<tr>\n<td>NZNPE</td>\n<td>Napier</td>\n</tr>\n<tr>\n<td>NZNSN</td>\n<td>Nelson</td>\n</tr>\n<tr>\n<td>NZPOE</td>\n<td>Chalmers</td>\n</tr>\n<tr>\n<td>NZTIU</td>\n<td>Timaru</td>\n</tr>\n<tr>\n<td>NZTRG</td>\n<td>Tauranga</td>\n</tr>\n<tr>\n<td>NZWLG</td>\n<td>Wellington</td>\n</tr>\n<tr>\n<td>OMKHS</td>\n<td>Khasab</td>\n</tr>\n<tr>\n<td>OMMCT</td>\n<td>Muscat</td>\n</tr>\n<tr>\n<td>OMSLL</td>\n<td>Salalah</td>\n</tr>\n<tr>\n<td>OMSOH</td>\n<td>Sohar</td>\n</tr>\n<tr>\n<td>PABLB</td>\n<td>Balboa</td>\n</tr>\n<tr>\n<td>PACTB</td>\n<td>Cristobal</td>\n</tr>\n<tr>\n<td>PAMIT</td>\n<td>Manzanillo</td>\n</tr>\n<tr>\n<td>PAONX</td>\n<td>Colon</td>\n</tr>\n<tr>\n<td>PAPCN</td>\n<td>Panama Canal</td>\n</tr>\n<tr>\n<td>PAPTY</td>\n<td>Panama City</td>\n</tr>\n<tr>\n<td>PAROD</td>\n<td>Rodman</td>\n</tr>\n<tr>\n<td>PECLL</td>\n<td>Callao</td>\n</tr>\n<tr>\n<td>PEILQ</td>\n<td>Ilo</td>\n</tr>\n<tr>\n<td>PEMRI</td>\n<td>Matarani</td>\n</tr>\n<tr>\n<td>PEPAI</td>\n<td>Paita</td>\n</tr>\n<tr>\n<td>PEPIO</td>\n<td>Pisco</td>\n</tr>\n<tr>\n<td>PFPPT</td>\n<td>Papeete</td>\n</tr>\n<tr>\n<td>PGKIM</td>\n<td>Kimbe</td>\n</tr>\n<tr>\n<td>PGLAE</td>\n<td>Lae</td>\n</tr>\n<tr>\n<td>PGLNV</td>\n<td>Lihir Island</td>\n</tr>\n<tr>\n<td>PGLOR</td>\n<td>Lorengau, Manus Island</td>\n</tr>\n<tr>\n<td>PGMAG</td>\n<td>Madang</td>\n</tr>\n<tr>\n<td>PGMTK</td>\n<td>Motukea Island</td>\n</tr>\n<tr>\n<td>PGPOM</td>\n<td>Port Moresby</td>\n</tr>\n<tr>\n<td>PGRAB</td>\n<td>Rabaul</td>\n</tr>\n<tr>\n<td>PGROR</td>\n<td>Orobay</td>\n</tr>\n<tr>\n<td>PGVAI</td>\n<td>Vanimo</td>\n</tr>\n<tr>\n<td>PGWWK</td>\n<td>Wewak</td>\n</tr>\n<tr>\n<td>PHBTG</td>\n<td>Batangas/Luzon</td>\n</tr>\n<tr>\n<td>PHCEB</td>\n<td>Cebu</td>\n</tr>\n<tr>\n<td>PHCGY</td>\n<td>Cagayan de Oro, Mindanao</td>\n</tr>\n<tr>\n<td>PHDCT</td>\n<td>DICT / SVT</td>\n</tr>\n<tr>\n<td>PHDVO</td>\n<td>Davao</td>\n</tr>\n<tr>\n<td>PHGES</td>\n<td>General Santos City</td>\n</tr>\n<tr>\n<td>PHGIN</td>\n<td>Gingoog</td>\n</tr>\n<tr>\n<td>PHMAI</td>\n<td>Maitumngas</td>\n</tr>\n<tr>\n<td>PHMNL</td>\n<td>Manila</td>\n</tr>\n<tr>\n<td>PHMNN</td>\n<td>North Manila</td>\n</tr>\n<tr>\n<td>PHMNS</td>\n<td>South Manila</td>\n</tr>\n<tr>\n<td>PHPAN</td>\n<td>Dict Panabo</td>\n</tr>\n<tr>\n<td>PHPIS</td>\n<td>Philippines</td>\n</tr>\n<tr>\n<td>PHSFS</td>\n<td>Subic Bay</td>\n</tr>\n<tr>\n<td>PKBQM</td>\n<td>Qasim</td>\n</tr>\n<tr>\n<td>PKGWD</td>\n<td>Gwadar</td>\n</tr>\n<tr>\n<td>PKKHI</td>\n<td>Karachi</td>\n</tr>\n<tr>\n<td>PLGDN</td>\n<td>Gdansk</td>\n</tr>\n<tr>\n<td>PLGDY</td>\n<td>Gdynia</td>\n</tr>\n<tr>\n<td>PLMAA</td>\n<td>Malaszewicze</td>\n</tr>\n<tr>\n<td>PLSAW</td>\n<td>Slawkow</td>\n</tr>\n<tr>\n<td>PLSZZ</td>\n<td>Szczecin</td>\n</tr>\n<tr>\n<td>PRSJU</td>\n<td>San Juan</td>\n</tr>\n<tr>\n<td>PTLEI</td>\n<td>Leixoes</td>\n</tr>\n<tr>\n<td>PTLIS</td>\n<td>Lisbon</td>\n</tr>\n<tr>\n<td>PTOPO</td>\n<td>Porto</td>\n</tr>\n<tr>\n<td>PTPDL</td>\n<td>Ponta Delgada</td>\n</tr>\n<tr>\n<td>PTSET</td>\n<td>Setubal</td>\n</tr>\n<tr>\n<td>PTSIE</td>\n<td>Sines</td>\n</tr>\n<tr>\n<td>PWROR</td>\n<td>Koror</td>\n</tr>\n<tr>\n<td>PYASU</td>\n<td>Asuncion</td>\n</tr>\n<tr>\n<td>PYSAN</td>\n<td>San Antonio</td>\n</tr>\n<tr>\n<td>PYVLL</td>\n<td>Villeta</td>\n</tr>\n<tr>\n<td>QADOH</td>\n<td>Doha</td>\n</tr>\n<tr>\n<td>QAHMD</td>\n<td>Hamad</td>\n</tr>\n<tr>\n<td>QAMES</td>\n<td>Mesaieed</td>\n</tr>\n<tr>\n<td>QAUMS</td>\n<td>Umm Sa'id (Mesaieed)</td>\n</tr>\n<tr>\n<td>REPDG</td>\n<td>Pointe Des Galets</td>\n</tr>\n<tr>\n<td>ROBUH</td>\n<td>Bucuresti</td>\n</tr>\n<tr>\n<td>ROCND</td>\n<td>Constanta</td>\n</tr>\n<tr>\n<td>RUAER</td>\n<td>Sochi</td>\n</tr>\n<tr>\n<td>RUARH</td>\n<td>Arkhangelsk</td>\n</tr>\n<tr>\n<td>RUASF</td>\n<td>Astrakhan</td>\n</tr>\n<tr>\n<td>RUAZO</td>\n<td>Azov</td>\n</tr>\n<tr>\n<td>RUBAX</td>\n<td>Barnaul</td>\n</tr>\n<tr>\n<td>RUBLT</td>\n<td>Baltiysk</td>\n</tr>\n<tr>\n<td>RUCEK</td>\n<td>Chelyabinsk</td>\n</tr>\n<tr>\n<td>RUCTS</td>\n<td>Saint Petersburg (CTSP)</td>\n</tr>\n<tr>\n<td>RUDAZ</td>\n<td>Dalzavod</td>\n</tr>\n<tr>\n<td>RUDUD</td>\n<td>Dudinka</td>\n</tr>\n<tr>\n<td>RUFCT</td>\n<td>Saint Petersburg (FCT)</td>\n</tr>\n<tr>\n<td>RUIKT</td>\n<td>Irkutsk</td>\n</tr>\n<tr>\n<td>RUKDT</td>\n<td>Kronshtadt</td>\n</tr>\n<tr>\n<td>RUKGD</td>\n<td>Kaliningrad</td>\n</tr>\n<tr>\n<td>RUKOR</td>\n<td>Korsakov</td>\n</tr>\n<tr>\n<td>RUKRA</td>\n<td>Krasnoyarsk</td>\n</tr>\n<tr>\n<td>RULED</td>\n<td>Saint Petersburg</td>\n</tr>\n<tr>\n<td>RULOM</td>\n<td>Lomonosov</td>\n</tr>\n<tr>\n<td>RUMMK</td>\n<td>Murmansk</td>\n</tr>\n<tr>\n<td>RUMOW</td>\n<td>Moskva</td>\n</tr>\n<tr>\n<td>RUMQF</td>\n<td>Magnitogorsk</td>\n</tr>\n<tr>\n<td>RUNJK</td>\n<td>Nakhodka</td>\n</tr>\n<tr>\n<td>RUNVS</td>\n<td>Novorossiysk</td>\n</tr>\n<tr>\n<td>RUOMS</td>\n<td>Omsk</td>\n</tr>\n<tr>\n<td>RUOVB</td>\n<td>Novosibirsk</td>\n</tr>\n<tr>\n<td>RUPKC</td>\n<td>Petropavlovsk</td>\n</tr>\n<tr>\n<td>RUPLP</td>\n<td>Saint petersburg(PLP)</td>\n</tr>\n<tr>\n<td>RUSKA</td>\n<td>Slavyanka</td>\n</tr>\n<tr>\n<td>RUTJM</td>\n<td>Tyumen</td>\n</tr>\n<tr>\n<td>RUULU</td>\n<td>Ust-Luga</td>\n</tr>\n<tr>\n<td>RUVFP</td>\n<td>Vladivostok Fishery</td>\n</tr>\n<tr>\n<td>RUVST</td>\n<td>Vladivostok Sollers Terminal</td>\n</tr>\n<tr>\n<td>RUVVO</td>\n<td>Vladivostok</td>\n</tr>\n<tr>\n<td>RUVYP</td>\n<td>Vostochny</td>\n</tr>\n<tr>\n<td>RUYEK</td>\n<td>Ekaterinburg</td>\n</tr>\n<tr>\n<td>RUZAR</td>\n<td>Zarubino</td>\n</tr>\n<tr>\n<td>SADMM</td>\n<td>Dammam</td>\n</tr>\n<tr>\n<td>SAJED</td>\n<td>Jeddah</td>\n</tr>\n<tr>\n<td>SAJUB</td>\n<td>Jubail</td>\n</tr>\n<tr>\n<td>SAKAC</td>\n<td>King Abdullah</td>\n</tr>\n<tr>\n<td>SARUH</td>\n<td>Riyadh</td>\n</tr>\n<tr>\n<td>SAYNB</td>\n<td>Yanbu</td>\n</tr>\n<tr>\n<td>SBHIR</td>\n<td>Honiara, Guadalcanal Is</td>\n</tr>\n<tr>\n<td>SCVIC</td>\n<td>Victoria</td>\n</tr>\n<tr>\n<td>SDPZU</td>\n<td>Port Sudan</td>\n</tr>\n<tr>\n<td>SEAHU</td>\n<td>Ahus</td>\n</tr>\n<tr>\n<td>SEGOT</td>\n<td>Gothenburg</td>\n</tr>\n<tr>\n<td>SEGVX</td>\n<td>Gavle</td>\n</tr>\n<tr>\n<td>SEHAD</td>\n<td>Halmstad</td>\n</tr>\n<tr>\n<td>SEHEL</td>\n<td>Helsingborg</td>\n</tr>\n<tr>\n<td>SEKAN</td>\n<td>Karlshamn</td>\n</tr>\n<tr>\n<td>SELAA</td>\n<td>Landskrona</td>\n</tr>\n<tr>\n<td>SEMAL</td>\n<td>Malmby</td>\n</tr>\n<tr>\n<td>SEMMA</td>\n<td>Malmo</td>\n</tr>\n<tr>\n<td>SENRK</td>\n<td>Norrkoeping</td>\n</tr>\n<tr>\n<td>SEPIT</td>\n<td>Pitea</td>\n</tr>\n<tr>\n<td>SESOE</td>\n<td>Sodertalje</td>\n</tr>\n<tr>\n<td>SESTO</td>\n<td>Stockholm</td>\n</tr>\n<tr>\n<td>SEUDD</td>\n<td>Uddevalla</td>\n</tr>\n<tr>\n<td>SEVAG</td>\n<td>Varberg</td>\n</tr>\n<tr>\n<td>SEYST</td>\n<td>Ystad</td>\n</tr>\n<tr>\n<td>SGSIN</td>\n<td>Singapore</td>\n</tr>\n<tr>\n<td>SIKOP</td>\n<td>Koper</td>\n</tr>\n<tr>\n<td>SKBTS</td>\n<td>Bratislava</td>\n</tr>\n<tr>\n<td>SLFNA</td>\n<td>Freetown</td>\n</tr>\n<tr>\n<td>SNDKR</td>\n<td>Dakar</td>\n</tr>\n<tr>\n<td>SOBBO</td>\n<td>Berbera</td>\n</tr>\n<tr>\n<td>SOKMU</td>\n<td>Kismayu</td>\n</tr>\n<tr>\n<td>SOMGQ</td>\n<td>Mogadishu</td>\n</tr>\n<tr>\n<td>SRPBM</td>\n<td>Paramaribo</td>\n</tr>\n<tr>\n<td>SVAQJ</td>\n<td>Acajutla</td>\n</tr>\n<tr>\n<td>SVSAL</td>\n<td>San Salvador</td>\n</tr>\n<tr>\n<td>SXPHI</td>\n<td>Philipsburg</td>\n</tr>\n<tr>\n<td>SYLTK</td>\n<td>Latakia</td>\n</tr>\n<tr>\n<td>SYTTS</td>\n<td>Tartus</td>\n</tr>\n<tr>\n<td>TGLFW</td>\n<td>Lome</td>\n</tr>\n<tr>\n<td>THBKK</td>\n<td>Bangkok</td>\n</tr>\n<tr>\n<td>THBMT</td>\n<td>Bangkok Modern Terminal</td>\n</tr>\n<tr>\n<td>THECT</td>\n<td>Ekachai Container Terminal</td>\n</tr>\n<tr>\n<td>THHKT</td>\n<td>Phuket</td>\n</tr>\n<tr>\n<td>THKRU</td>\n<td>Phra Khanong</td>\n</tr>\n<tr>\n<td>THLCH</td>\n<td>Laem Chabang</td>\n</tr>\n<tr>\n<td>THLKR</td>\n<td>Lat Krabang</td>\n</tr>\n<tr>\n<td>THPAT</td>\n<td>Pat Bangkok</td>\n</tr>\n<tr>\n<td>THPRG</td>\n<td>Phra Pradaeng</td>\n</tr>\n<tr>\n<td>THSAP</td>\n<td>Samut Prakan</td>\n</tr>\n<tr>\n<td>THSCT</td>\n<td>Siam Container Transport</td>\n</tr>\n<tr>\n<td>THSGZ</td>\n<td>Songkhla</td>\n</tr>\n<tr>\n<td>THSHT</td>\n<td>Sahathai</td>\n</tr>\n<tr>\n<td>THTPT</td>\n<td>Thai Prosperity</td>\n</tr>\n<tr>\n<td>TJDYU</td>\n<td>Dushanbe</td>\n</tr>\n<tr>\n<td>TJKHU</td>\n<td>Khujand</td>\n</tr>\n<tr>\n<td>TLDIL</td>\n<td>Dili</td>\n</tr>\n<tr>\n<td>TMAGT</td>\n<td>Ashgabat</td>\n</tr>\n<tr>\n<td>TMKRW</td>\n<td>Turkmenbashi</td>\n</tr>\n<tr>\n<td>TMMYP</td>\n<td>Mary</td>\n</tr>\n<tr>\n<td>TMTK5</td>\n<td>Turkmenabat</td>\n</tr>\n<tr>\n<td>TNBIZ</td>\n<td>Bizerte</td>\n</tr>\n<tr>\n<td>TNLGN</td>\n<td>La Goulette Nord(Halqueloued)</td>\n</tr>\n<tr>\n<td>TNRDS</td>\n<td>Rades</td>\n</tr>\n<tr>\n<td>TNSFA</td>\n<td>Sfax</td>\n</tr>\n<tr>\n<td>TNSUS</td>\n<td>Sousse</td>\n</tr>\n<tr>\n<td>TNTUN</td>\n<td>Tunis</td>\n</tr>\n<tr>\n<td>TOTBU</td>\n<td>Nukualofa</td>\n</tr>\n<tr>\n<td>TRALI</td>\n<td>Aliaga</td>\n</tr>\n<tr>\n<td>TRAMB</td>\n<td>Ambarli Port</td>\n</tr>\n<tr>\n<td>TRAYT</td>\n<td>Antalya</td>\n</tr>\n<tr>\n<td>TRBOP</td>\n<td>Bosphorus</td>\n</tr>\n<tr>\n<td>TRCKZ</td>\n<td>Canakkale</td>\n</tr>\n<tr>\n<td>TRDAN</td>\n<td>Dardanelles</td>\n</tr>\n<tr>\n<td>TRDRC</td>\n<td>Derince</td>\n</tr>\n<tr>\n<td>TREYP</td>\n<td>Evyap</td>\n</tr>\n<tr>\n<td>TRGEB</td>\n<td>Gebze</td>\n</tr>\n<tr>\n<td>TRGEM</td>\n<td>Gemlik</td>\n</tr>\n<tr>\n<td>TRHAY</td>\n<td>Haydarpasa</td>\n</tr>\n<tr>\n<td>TRISK</td>\n<td>Iskenderun</td>\n</tr>\n<tr>\n<td>TRIST</td>\n<td>Istanbul</td>\n</tr>\n<tr>\n<td>TRIZM</td>\n<td>Izmir</td>\n</tr>\n<tr>\n<td>TRIZT</td>\n<td>Izmit</td>\n</tr>\n<tr>\n<td>TRKMX</td>\n<td>Kumport</td>\n</tr>\n<tr>\n<td>TRMER</td>\n<td>Mersin</td>\n</tr>\n<tr>\n<td>TRNEM</td>\n<td>Nemrut Bay</td>\n</tr>\n<tr>\n<td>TRPEN</td>\n<td>Pendik</td>\n</tr>\n<tr>\n<td>TRTEK</td>\n<td>Tekirdag</td>\n</tr>\n<tr>\n<td>TRYAL</td>\n<td>Yalova</td>\n</tr>\n<tr>\n<td>TRYAR</td>\n<td>Yarimca</td>\n</tr>\n<tr>\n<td>TRYPO</td>\n<td>Yilport</td>\n</tr>\n<tr>\n<td>TTPOS</td>\n<td>Port of Spain</td>\n</tr>\n<tr>\n<td>TTPTS</td>\n<td>Point Lisas</td>\n</tr>\n<tr>\n<td>TVFUN</td>\n<td>Funafuti</td>\n</tr>\n<tr>\n<td>TWKEL</td>\n<td>Keelung</td>\n</tr>\n<tr>\n<td>TWKHH</td>\n<td>Kaohsiung</td>\n</tr>\n<tr>\n<td>TWTPE</td>\n<td>Taipei</td>\n</tr>\n<tr>\n<td>TWTXG</td>\n<td>Taichung</td>\n</tr>\n<tr>\n<td>TWTYN</td>\n<td>Taoyuan</td>\n</tr>\n<tr>\n<td>TZDAR</td>\n<td>Dar es Salaam</td>\n</tr>\n<tr>\n<td>TZMYW</td>\n<td>Mtwara</td>\n</tr>\n<tr>\n<td>TZTGT</td>\n<td>Tanga</td>\n</tr>\n<tr>\n<td>TZZNZ</td>\n<td>Zanzibar</td>\n</tr>\n<tr>\n<td>UAIEV</td>\n<td>Kiev</td>\n</tr>\n<tr>\n<td>UAILK</td>\n<td>Chornomorsk</td>\n</tr>\n<tr>\n<td>UAILY</td>\n<td>Ilyichevsk</td>\n</tr>\n<tr>\n<td>UAKEH</td>\n<td>Kerch</td>\n</tr>\n<tr>\n<td>UAODS</td>\n<td>Odessa</td>\n</tr>\n<tr>\n<td>UAYUZ</td>\n<td>Pivdennyi (ex Yuzhnyy)</td>\n</tr>\n<tr>\n<td>USABC</td>\n<td>Port Hadlock, WA</td>\n</tr>\n<tr>\n<td>USADQ</td>\n<td>Kodiak, AK</td>\n</tr>\n<tr>\n<td>USAER</td>\n<td>Ayer, MA</td>\n</tr>\n<tr>\n<td>USALB</td>\n<td>Albany, NY</td>\n</tr>\n<tr>\n<td>USANC</td>\n<td>Anchorage, AK</td>\n</tr>\n<tr>\n<td>USARY</td>\n<td>Amory, MS</td>\n</tr>\n<tr>\n<td>USATL</td>\n<td>Atlanta, GA</td>\n</tr>\n<tr>\n<td>USATQ</td>\n<td>Atchison, KS</td>\n</tr>\n<tr>\n<td>USAUL</td>\n<td>Austell, GA</td>\n</tr>\n<tr>\n<td>USAUS</td>\n<td>Austin, TX</td>\n</tr>\n<tr>\n<td>USAVD</td>\n<td>Avondale, LA</td>\n</tr>\n<tr>\n<td>USBAL</td>\n<td>Baltimore, MD</td>\n</tr>\n<tr>\n<td>USBDA</td>\n<td>Boardman, OR</td>\n</tr>\n<tr>\n<td>USBDP</td>\n<td>Bedford Park, IL</td>\n</tr>\n<tr>\n<td>USBEX</td>\n<td>Bethlehem, PA</td>\n</tr>\n<tr>\n<td>USBHM</td>\n<td>Birmingham, AL</td>\n</tr>\n<tr>\n<td>USBMV</td>\n<td>Bessemer, AL</td>\n</tr>\n<tr>\n<td>USBNA</td>\n<td>Nashville, TN</td>\n</tr>\n<tr>\n<td>USBNC</td>\n<td>Benicia, CA</td>\n</tr>\n<tr>\n<td>USBOS</td>\n<td>Boston, MA</td>\n</tr>\n<tr>\n<td>USBUF</td>\n<td>Buffalo, NY</td>\n</tr>\n<tr>\n<td>USCBF</td>\n<td>Council Bluffs, IA</td>\n</tr>\n<tr>\n<td>USCDV</td>\n<td>Cordova, AK</td>\n</tr>\n<tr>\n<td>USCHI</td>\n<td>Chicago, IL</td>\n</tr>\n<tr>\n<td>USCHS</td>\n<td>Charleston, SC</td>\n</tr>\n<tr>\n<td>USCLE</td>\n<td>Cleveland, OH</td>\n</tr>\n<tr>\n<td>USCLT</td>\n<td>Charlotte, NC</td>\n</tr>\n<tr>\n<td>USCMH</td>\n<td>Columbus, OH</td>\n</tr>\n<tr>\n<td>USCVG</td>\n<td>Cincinnati, OH</td>\n</tr>\n<tr>\n<td>USDAL</td>\n<td>Dallas, TX</td>\n</tr>\n<tr>\n<td>USDEC</td>\n<td>Decatur, IL</td>\n</tr>\n<tr>\n<td>USDEN</td>\n<td>Denver, CO</td>\n</tr>\n<tr>\n<td>USDET</td>\n<td>Detroit, MI</td>\n</tr>\n<tr>\n<td>USDQN</td>\n<td>Dolton, IL</td>\n</tr>\n<tr>\n<td>USDUP</td>\n<td>Dupo, IL</td>\n</tr>\n<tr>\n<td>USDUT</td>\n<td>Dutch Harbor, AK</td>\n</tr>\n<tr>\n<td>USELP</td>\n<td>El Paso, TX</td>\n</tr>\n<tr>\n<td>USESL</td>\n<td>East Saint Louis, IL</td>\n</tr>\n<tr>\n<td>USEVV</td>\n<td>Evansville, IN</td>\n</tr>\n<tr>\n<td>USEWR</td>\n<td>Newark, NJ</td>\n</tr>\n<tr>\n<td>USEZA</td>\n<td>Elizabeth, NJ</td>\n</tr>\n<tr>\n<td>USFBN</td>\n<td>Fairburn, GA</td>\n</tr>\n<tr>\n<td>USFLL</td>\n<td>Fort Lauderdale, FL</td>\n</tr>\n<tr>\n<td>USFRR</td>\n<td>Front Royal, VA</td>\n</tr>\n<tr>\n<td>USGBO</td>\n<td>Greensboro, NC</td>\n</tr>\n<tr>\n<td>USGEO</td>\n<td>Georgetown, KY</td>\n</tr>\n<tr>\n<td>USGHC</td>\n<td>Grays Harbor City, WA</td>\n</tr>\n<tr>\n<td>USGLS</td>\n<td>Galveston, TX</td>\n</tr>\n<tr>\n<td>USGPT</td>\n<td>Gulfport, MS</td>\n</tr>\n<tr>\n<td>USGRP</td>\n<td>Greencastle, PA</td>\n</tr>\n<tr>\n<td>USGXX</td>\n<td>Greer, SC</td>\n</tr>\n<tr>\n<td>USHAR</td>\n<td>Harrisburg, PA</td>\n</tr>\n<tr>\n<td>USHNL</td>\n<td>Honolulu, HI</td>\n</tr>\n<tr>\n<td>USHOU</td>\n<td>Houston, TX</td>\n</tr>\n<tr>\n<td>USHSV</td>\n<td>Huntsville, AL</td>\n</tr>\n<tr>\n<td>USHXC</td>\n<td>Haslet, TX</td>\n</tr>\n<tr>\n<td>USILG</td>\n<td>Wilmington, DE</td>\n</tr>\n<tr>\n<td>USILM</td>\n<td>Wilmington, NC</td>\n</tr>\n<tr>\n<td>USIND</td>\n<td>Indianapolis, IN</td>\n</tr>\n<tr>\n<td>USIPI</td>\n<td>Pelican Rapids, MN</td>\n</tr>\n<tr>\n<td>USJAX</td>\n<td>Jacksonville, FL</td>\n</tr>\n<tr>\n<td>USJOT</td>\n<td>Joliet, IL</td>\n</tr>\n<tr>\n<td>USKCK</td>\n<td>Kansas City, KS</td>\n</tr>\n<tr>\n<td>USLAS</td>\n<td>Las Vegas</td>\n</tr>\n<tr>\n<td>USLAX</td>\n<td>Los Angeles, CA</td>\n</tr>\n<tr>\n<td>USLGB</td>\n<td>Long Beach, CA</td>\n</tr>\n<tr>\n<td>USLOG</td>\n<td>Longview, WA</td>\n</tr>\n<tr>\n<td>USLRD</td>\n<td>Laredo, TX</td>\n</tr>\n<tr>\n<td>USLRO</td>\n<td>Lathrop, CA</td>\n</tr>\n<tr>\n<td>USLTF</td>\n<td>Little Ferry, NJ</td>\n</tr>\n<tr>\n<td>USLUI</td>\n<td>Louisville, KY</td>\n</tr>\n<tr>\n<td>USMEM</td>\n<td>Memphis, TN</td>\n</tr>\n<tr>\n<td>USMES</td>\n<td>Minneapolis, MN</td>\n</tr>\n<tr>\n<td>USMIA</td>\n<td>Miami, FL</td>\n</tr>\n<tr>\n<td>USMKC</td>\n<td>Kansas City, MO</td>\n</tr>\n<tr>\n<td>USMOB</td>\n<td>Mobile, AL</td>\n</tr>\n<tr>\n<td>USMQM</td>\n<td>Marion, AR</td>\n</tr>\n<tr>\n<td>USMRH</td>\n<td>Morehead City, NC</td>\n</tr>\n<tr>\n<td>USMSQ</td>\n<td>Mesquite, TX</td>\n</tr>\n<tr>\n<td>USMSY</td>\n<td>New Orleans, LA</td>\n</tr>\n<tr>\n<td>USNBH</td>\n<td>North Baltimore, OH</td>\n</tr>\n<tr>\n<td>USNBN</td>\n<td>North Bergen, NJ</td>\n</tr>\n<tr>\n<td>USND2</td>\n<td>Englewood Yard, TX</td>\n</tr>\n<tr>\n<td>USNTD</td>\n<td>Port Hueneme, CA</td>\n</tr>\n<tr>\n<td>USNTI</td>\n<td>Northlake, IL</td>\n</tr>\n<tr>\n<td>USNYC</td>\n<td>New York, NY</td>\n</tr>\n<tr>\n<td>USOAK</td>\n<td>Oakland, CA</td>\n</tr>\n<tr>\n<td>USOMA</td>\n<td>Omaha, NE</td>\n</tr>\n<tr>\n<td>USORF</td>\n<td>Norfolk, VA</td>\n</tr>\n<tr>\n<td>USPAE</td>\n<td>Everett, WA</td>\n</tr>\n<tr>\n<td>USPBI</td>\n<td>West Palm Beach, FL</td>\n</tr>\n<tr>\n<td>USPDX</td>\n<td>Portland, OR</td>\n</tr>\n<tr>\n<td>USPEF</td>\n<td>Port Everglades, FL</td>\n</tr>\n<tr>\n<td>USPHL</td>\n<td>Philadelphia, PA</td>\n</tr>\n<tr>\n<td>USPIT</td>\n<td>Pittsburgh, PA</td>\n</tr>\n<tr>\n<td>USPNJ</td>\n<td>Port Newark, NJ</td>\n</tr>\n<tr>\n<td>USPOA</td>\n<td>Port Arthur, TX</td>\n</tr>\n<tr>\n<td>USPON</td>\n<td>Port Neches, TX</td>\n</tr>\n<tr>\n<td>USPSM</td>\n<td>Portsmouth, NH</td>\n</tr>\n<tr>\n<td>USPT7</td>\n<td>Prichard, WV</td>\n</tr>\n<tr>\n<td>USPTM</td>\n<td>Portsmouth, VA</td>\n</tr>\n<tr>\n<td>USRCX</td>\n<td>Rochelle, IL</td>\n</tr>\n<tr>\n<td>USROQ</td>\n<td>Rossville, TN</td>\n</tr>\n<tr>\n<td>USRUJ</td>\n<td>Reunion, FL</td>\n</tr>\n<tr>\n<td>USSAN</td>\n<td>San Diego, CA</td>\n</tr>\n<tr>\n<td>USSAT</td>\n<td>San Antonio, TX</td>\n</tr>\n<tr>\n<td>USSAV</td>\n<td>Savannah, GA</td>\n</tr>\n<tr>\n<td>USSCK</td>\n<td>Stockton, CA</td>\n</tr>\n<tr>\n<td>USSEA</td>\n<td>Seattle, WA</td>\n</tr>\n<tr>\n<td>USSFO</td>\n<td>San Francisco, CA</td>\n</tr>\n<tr>\n<td>USSGF</td>\n<td>Springfield, MO</td>\n</tr>\n<tr>\n<td>USSK2</td>\n<td>South Kearny, NJ</td>\n</tr>\n<tr>\n<td>USSLC</td>\n<td>Salt Lake City, UT</td>\n</tr>\n<tr>\n<td>USSPQ</td>\n<td>San Pedro, CA</td>\n</tr>\n<tr>\n<td>USSSI</td>\n<td>Brunswick, GA</td>\n</tr>\n<tr>\n<td>USSTL</td>\n<td>Saint Louis, MO</td>\n</tr>\n<tr>\n<td>USSTP</td>\n<td>Saint Paul, MN</td>\n</tr>\n<tr>\n<td>USSUF</td>\n<td>Suffolk, VA</td>\n</tr>\n<tr>\n<td>USSXT</td>\n<td>Santa Teresa, NM</td>\n</tr>\n<tr>\n<td>USSYR</td>\n<td>Syracuse, NY</td>\n</tr>\n<tr>\n<td>USTCB</td>\n<td>Stockbridge, MA</td>\n</tr>\n<tr>\n<td>USTIW</td>\n<td>Tacoma, WA</td>\n</tr>\n<tr>\n<td>USTOL</td>\n<td>Toledo, OH</td>\n</tr>\n<tr>\n<td>USTPA</td>\n<td>Tampa, FL</td>\n</tr>\n<tr>\n<td>USTUS</td>\n<td>Tucson, AZ</td>\n</tr>\n<tr>\n<td>USTUZ</td>\n<td>Tucson, AZ</td>\n</tr>\n<tr>\n<td>USTYP</td>\n<td>Taylor, PA</td>\n</tr>\n<tr>\n<td>USTYS</td>\n<td>Knoxville, TN</td>\n</tr>\n<tr>\n<td>USTZS</td>\n<td>Port Aransas, TX</td>\n</tr>\n<tr>\n<td>USUQF</td>\n<td>La Porte, TX</td>\n</tr>\n<tr>\n<td>USUYU</td>\n<td>Staten Island, NY</td>\n</tr>\n<tr>\n<td>USV7X</td>\n<td>Croxton, NJ</td>\n</tr>\n<tr>\n<td>USVAN</td>\n<td>Vancouver, WA</td>\n</tr>\n<tr>\n<td>USVI7</td>\n<td>Christiansted, VI</td>\n</tr>\n<tr>\n<td>USVTR</td>\n<td>Woodson Terrace/St Louis, MO</td>\n</tr>\n<tr>\n<td>USWXR</td>\n<td>Wilmer, TX</td>\n</tr>\n<tr>\n<td>USWYH</td>\n<td>Wylie, TX</td>\n</tr>\n<tr>\n<td>USWZG</td>\n<td>Willow Springs, IL</td>\n</tr>\n<tr>\n<td>USXDN</td>\n<td>Cicero, IL</td>\n</tr>\n<tr>\n<td>USXIO</td>\n<td>Morrisville, PA</td>\n</tr>\n<tr>\n<td>USXMA</td>\n<td>Sharonville, OH</td>\n</tr>\n<tr>\n<td>UYMVD</td>\n<td>Montevideo</td>\n</tr>\n<tr>\n<td>UZAZN</td>\n<td>Andizhan</td>\n</tr>\n<tr>\n<td>UZBHK</td>\n<td>Bukhara</td>\n</tr>\n<tr>\n<td>UZJIZ</td>\n<td>Jizzax</td>\n</tr>\n<tr>\n<td>UZKOK</td>\n<td>Kokand</td>\n</tr>\n<tr>\n<td>UZQAR</td>\n<td>Qarshi</td>\n</tr>\n<tr>\n<td>UZTAS</td>\n<td>Tashkent</td>\n</tr>\n<tr>\n<td>VCBQU</td>\n<td>Port Elizabeth</td>\n</tr>\n<tr>\n<td>VCCRP</td>\n<td>Campden Park</td>\n</tr>\n<tr>\n<td>VCKTN</td>\n<td>Kingstown</td>\n</tr>\n<tr>\n<td>VECUM</td>\n<td>Cumana</td>\n</tr>\n<tr>\n<td>VEEGU</td>\n<td>El Guamache</td>\n</tr>\n<tr>\n<td>VEGUB</td>\n<td>Guaranao Bay</td>\n</tr>\n<tr>\n<td>VEGUT</td>\n<td>Guanta</td>\n</tr>\n<tr>\n<td>VELAG</td>\n<td>La Guaira</td>\n</tr>\n<tr>\n<td>VEMAR</td>\n<td>Maracaibo</td>\n</tr>\n<tr>\n<td>VEPBL</td>\n<td>Puerto Cabello</td>\n</tr>\n<tr>\n<td>VNBDU</td>\n<td>Binh Duong</td>\n</tr>\n<tr>\n<td>VNC8Q</td>\n<td>Chu Lai</td>\n</tr>\n<tr>\n<td>VNCLI</td>\n<td>Cat Lai</td>\n</tr>\n<tr>\n<td>VNCLN</td>\n<td>Cai Lan</td>\n</tr>\n<tr>\n<td>VNCMT</td>\n<td>Cai Mep International Terminal</td>\n</tr>\n<tr>\n<td>VNDAD</td>\n<td>Danang</td>\n</tr>\n<tr>\n<td>VNDNA</td>\n<td>Dong Nai</td>\n</tr>\n<tr>\n<td>VNHAN</td>\n<td>Hanoi</td>\n</tr>\n<tr>\n<td>VNHPH</td>\n<td>Hai Phong</td>\n</tr>\n<tr>\n<td>VNHPP</td>\n<td>Tan Cang Hiep Phuoc Port</td>\n</tr>\n<tr>\n<td>VNIPH</td>\n<td>Phuoc Long I</td>\n</tr>\n<tr>\n<td>VNITX</td>\n<td>ICD TRANSIMEX THU DUC</td>\n</tr>\n<tr>\n<td>VNLBN</td>\n<td>Long Binh</td>\n</tr>\n<tr>\n<td>VNNGT</td>\n<td>Nghe Tinh</td>\n</tr>\n<tr>\n<td>VNPCO</td>\n<td>Phuoc Long III</td>\n</tr>\n<tr>\n<td>VNPLG</td>\n<td>ICD Phuc Long</td>\n</tr>\n<tr>\n<td>VNSGN</td>\n<td>Ho Chi Minh</td>\n</tr>\n<tr>\n<td>VNSIT</td>\n<td>Saigon ITV/Phu My</td>\n</tr>\n<tr>\n<td>VNSTN</td>\n<td>Song Than ICD</td>\n</tr>\n<tr>\n<td>VNSTR</td>\n<td>ICD Sotrans</td>\n</tr>\n<tr>\n<td>VNTAM</td>\n<td>Tanamexco ICD</td>\n</tr>\n<tr>\n<td>VNTCG</td>\n<td>Tan Cang</td>\n</tr>\n<tr>\n<td>VNTOT</td>\n<td>Cai Mep</td>\n</tr>\n<tr>\n<td>VNUIH</td>\n<td>Qui Nhon</td>\n</tr>\n<tr>\n<td>VNVIC</td>\n<td>Vict</td>\n</tr>\n<tr>\n<td>VNVUT</td>\n<td>Vung Tau</td>\n</tr>\n<tr>\n<td>VUSAN</td>\n<td>Santo</td>\n</tr>\n<tr>\n<td>VUVLI</td>\n<td>Port Vila</td>\n</tr>\n<tr>\n<td>WFFUT</td>\n<td>Futuna Island</td>\n</tr>\n<tr>\n<td>WFWLS</td>\n<td>Wallis</td>\n</tr>\n<tr>\n<td>WSAPW</td>\n<td>Apia</td>\n</tr>\n<tr>\n<td>YEADE</td>\n<td>Aden</td>\n</tr>\n<tr>\n<td>YEHOD</td>\n<td>Hodeidah</td>\n</tr>\n<tr>\n<td>YEMKX</td>\n<td>Mukalla</td>\n</tr>\n<tr>\n<td>YTLON</td>\n<td>Longoni</td>\n</tr>\n<tr>\n<td>ZACPT</td>\n<td>Cape Town</td>\n</tr>\n<tr>\n<td>ZADUR</td>\n<td>Durban</td>\n</tr>\n<tr>\n<td>ZAELS</td>\n<td>East London</td>\n</tr>\n<tr>\n<td>ZAJNB</td>\n<td>Johannesburg</td>\n</tr>\n<tr>\n<td>ZAPLZ</td>\n<td>Port Elizabeth</td>\n</tr>\n<tr>\n<td>ZAWLT</td>\n<td>Wellington</td>\n</tr>\n<tr>\n<td>ZAZBA</td>\n<td>Coega</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"869873e3-8819-4eeb-aa66-7f4dc5d7dd63"},{"name":"FAQ","item":[],"id":"35de3c3b-bb51-40ec-a1e3-e3e8c63c9c19","description":"<p>아래에는 가장 자주 문의되는 질문과 답변을 정리해두었습니다.</p>\n<p>추가로 궁금한 사항이 있으시면 담당 영업사원 또는 <a href=\"https://mailto:tech.support@tradlinx.com\"><b>tech.support@tradlinx.com</b></a>으로 문의해 주세요.</p>\n<hr />\n<h2 id=\"공통\">[공통]</h2>\n<h5 id=\"➡️-client-id와-api-key는-어떻게-발급받을-수-있나요\">➡️ Client ID와 API Key는 어떻게 발급받을 수 있나요?</h5>\n<p>API를 이용하시려면 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 또는 담당 영업사원을 통해 요청해주세요.</p>\n<p>미팅 후 Client ID와 API Key가 발급됩니다.</p>\n<hr />\n<h5 id=\"➡️-별도의-테스트-환경이-제공되나요\">➡️ 별도의 테스트 환경이 제공되나요?</h5>\n<p>아니요. 현재는 별도의 테스트 환경을 제공하지 않습니다.</p>\n<p>모든 API 테스트는 운영(Production) 환경에서 진행됩니다.</p>\n<hr />\n<h5 id=\"➡️-health-check는-성공하지만-다른-api에서는-401-user-authentication-failed가-발생합니다\">➡️ Health Check는 성공하지만 다른 API에서는 <code>401 User authentication failed</code>가 발생합니다.</h5>\n<p>Client ID 또는 API Key가 올바르게 설정되지 않았을 가능성이 있습니다.</p>\n<p>Client ID와 API Key가 모두 보이도록 <strong>Account Settings</strong> 화면을 캡처한 후 <a href=\"https://mailto:tech.support@tradlinx.com\"><b>tech.support@tradlinx.com</b></a>으로 보내주시면 확인해 드리겠습니다.</p>\n<hr />\n<h5 id=\"➡️-this-feature-is-not-supported-on-your-current-plan-오류가-발생합니다\">➡️ <code>\"This feature is not supported on your current plan.\"</code> 오류가 발생합니다.</h5>\n<p>사용하려는 API 또는 기능명을 알려주시고, 해당 기능이 현재 구독 플랜에 포함되어 있는지 담당 영업사원에게 문의해 주세요.</p>\n<hr />\n<h5 id=\"➡️-하나의-계정을-여러-명이-함께-사용할-수-있나요\">➡️ 하나의 계정을 여러 명이 함께 사용할 수 있나요?</h5>\n<p>현재 Ocean Visibility는 하나의 로그인 계정만 지원합니다.</p>\n<p>필요한 경우 동일한 계정 정보를 여러 사용자가 함께 사용할 수 있습니다.</p>\n<hr />\n<h2 id=\"선적-트래킹\">[선적 트래킹]</h2>\n<h5 id=\"➡️-bl-트래킹과-컨테이너-트캐링의-차이는-무엇인가요\">➡️ B/L 트래킹과 컨테이너 트캐링의 차이는 무엇인가요?</h5>\n<p><strong>B/L 트래킹</strong></p>\n<ul>\n<li><p>Master B/L을 기준으로 화물을 추적합니다.</p>\n</li>\n<li><p>동일한 B/L에 속한 모든 컨테이너의 추적 정보를 제공합니다.</p>\n</li>\n</ul>\n<p><strong>컨테이너 트래킹</strong></p>\n<ul>\n<li><p>Master B/L이 없어도 사용할 수 있습니다.</p>\n</li>\n<li><p>Container Number를 기준으로 화물을 추적합니다.</p>\n</li>\n</ul>\n<hr />\n<h5 id=\"➡️-carrier-code는-어떤-형식을-사용해야-하나요\">➡️ Carrier Code는 어떤 형식을 사용해야 하나요?</h5>\n<p>Tradlinx 에서 정의한 Carrier Code를 사용해야 합니다.</p>\n<p>일반적인 SCAC Code와 다를 수 있습니다. 자세한 내용은 참고자료 &gt; 추적 가능한 선사 목록 문서를 참고해 주세요.</p>\n<hr />\n<h5 id=\"➡️-추적-가능한-선사-목록은-얼마나-자주-업데이트되나요\">➡️ 추적 가능한 선사 목록은 얼마나 자주 업데이트되나요?</h5>\n<p>추적 가능한 선사 목록은 선사 연동 및 운영 정책에 따라 변경될 수 있습니다.</p>\n<p>변경 사항이 있을 경우 이메일을 통해 안내드립니다.</p>\n<hr />\n<h5 id=\"➡️-reference_no는-무엇인가요\">➡️ <code>reference_no</code>는 무엇인가요?</h5>\n<p><code>reference_no</code>는 고객이 직접 관리하는 식별자입니다.</p>\n<p>PO 번호나 House B/L 번호 등을 자유롭게 사용할 수 있습니다.</p>\n<hr />\n<h5 id=\"➡️-테스트용-bl-번호-또는-컨테이너-번호를-제공받을-수-있나요\">➡️ 테스트용 B/L 번호 또는 컨테이너 번호를 제공받을 수 있나요?</h5>\n<p>아니요. 트래킹 번호는 다른 고객의 정보이므로 제공할 수 없습니다.</p>\n<p>테스트 시에는 고객님의 실제 화물 정보를 사용해 주세요.</p>\n<hr />\n<h5 id=\"➡️-ais-기반-atd와-ata도-제공되나요\">➡️ AIS 기반 ATD와 ATA도 제공되나요?</h5>\n<p>네. 선사에서 제공하는 시간과 AIS 기반 시간을 모두 제공합니다.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Carrier Data</th>\n<th>AIS Data</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>atd</code></td>\n<td><code>tx_atd</code></td>\n</tr>\n<tr>\n<td><code>ata</code></td>\n<td><code>tx_ata</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h5 id=\"➡️-실시간-트래킹-업데이트를-받을-수-있나요\">➡️ 실시간 트래킹 업데이트를 받을 수 있나요?</h5>\n<p>네. B/L 트래킹에서는 Webhook을 지원합니다.</p>\n<p>Webhook 사용을 원하시면 <a href=\"https://mailto:tech.support@tradlinx.com\"><b>tech.support@tradlinx.com</b></a>으로 문의해 주세요.</p>\n<hr />\n<h5 id=\"➡️-선사-홈페이지와-트래킹-정보가-다른-이유는-무엇인가요\">➡️ 선사 홈페이지와 트래킹 정보가 다른 이유는 무엇인가요?</h5>\n<p>다음과 같은 이유로 차이가 발생할 수 있습니다.</p>\n<ul>\n<li><p>트래킹 업데이트 주기에 따른 일시적인 동기화 지연</p>\n</li>\n<li><p>선사 홈페이지와 API에서 제공하는 정보의 차이</p>\n</li>\n<li><p>선사의 데이터 업데이트 시점 차이</p>\n</li>\n</ul>\n<p>차이가 계속되는 경우 <a href=\"https://mailto:cx@tradlinx.com\"><b>cx@tradlinx.com</b></a>으로 문의해 주세요.</p>\n<hr />\n<h5 id=\"➡️-error-code-5-invalid-linecd-or-bl가-발생합니다\">➡️ Error Code 5 (Invalid LineCd or B/L)가 발생합니다.</h5>\n<p>대부분 <code>line_cd</code>가 올바르지 않은 경우입니다.</p>\n<p>Tradlinx는 일반적인 SCAC Code가 아닌 자체 Carrier Code를 사용합니다.</p>\n<p>자세한 내용은 참고자료 &gt; 추적 가능한 선사 목록 문서를 참고해 주세요.</p>\n<hr />\n<h5 id=\"➡️-bl-트래킹에는-재등록-api가-있나요\">➡️ B/L 트래킹에는 재등록 API가 있나요?</h5>\n<p>아니요. 기존 트래킹을 취소한 후 다시 등록해 주세요.</p>\n<hr />\n<h5 id=\"➡️-한-번에-50건만-조회되는-이유는-무엇인가요\">➡️ 한 번에 50건만 조회되는 이유는 무엇인가요?</h5>\n<p>페이지당 최대 조회 건수는 <strong>50건</strong>으로 제한되어 있습니다.</p>\n<p>모든 데이터를 조회하려면 <code>page</code>, <code>has_next</code>, <code>total_page</code>를 이용해 페이지를 순차적으로 조회해 주세요.</p>\n<hr />\n<h5 id=\"➡️-credit-유효기간은-어떤-시간대를-기준으로-하나요\">➡️ Credit 유효기간은 어떤 시간대를 기준으로 하나요?</h5>\n<p>Credit 유효기간은 <strong>UTC</strong> 기준으로 계산됩니다.</p>\n<hr />\n<h5 id=\"➡️-api에서-제공하는-timestamp는-utc인가요\">➡️ API에서 제공하는 Timestamp는 UTC인가요?</h5>\n<p>네. Timezone 정보가 명시되지 않은 Datetime 값은 모두 <strong>UTC</strong> 기준으로 해석하면 됩니다.</p>\n<hr />\n<h2 id=\"선박-트래킹\">[선박 트래킹]</h2>\n<h5 id=\"➡️-선박-트래킹을-취소했다가-다시-등록하면-credit이-다시-차감되나요\">➡️ 선박 트래킹을 취소했다가 다시 등록하면 Credit이 다시 차감되나요?</h5>\n<p>아니요. 기존 트래킹이 아직 만료되지 않았다면 Credit은 다시 차감되지 않으며 기존 만료일도 그대로 유지됩니다.</p>\n<hr />\n<h5 id=\"➡️-auto-renewal은-어떻게-동작하나요\">➡️ Auto Renewal은 어떻게 동작하나요?</h5>\n<p>동일한 <code>vessel_track_id</code>를 계속 사용합니다.</p>\n<p>Auto Renewal이 활성화되어 있으면 만료 하루 전에 Credit이 차감되고, 트래킹 기간이 한 달 연장됩니다.</p>\n<hr />\n<h5 id=\"➡️-data_source-필드는-무엇을-의미하나요\">➡️ <code>data_source</code> 필드는 무엇을 의미하나요?</h5>\n<ul>\n<li><p><strong>PORT_CALL</strong>: AIS 기반 실제 입출항 정보</p>\n</li>\n<li><p><strong>Carrier Code (MAE, ONE, ZIM 등)</strong>: 선사에서 제공하는 운항 스케줄 정보</p>\n</li>\n</ul>\n<hr />\n<h5 id=\"➡️-data_source-값은-변경될-수-있나요\">➡️ <code>data_source</code> 값은 변경될 수 있나요?</h5>\n<p>네. 입항 전에는 선사 스케줄 정보를 나타낼 수 있으며,</p>\n<p>선박이 모니터링 중인 항만에 실제 도착하면 <code>PORT_CALL</code>로 변경될 수 있습니다.</p>\n<hr />\n<h5 id=\"➡️-변경되지-않는-선박-정보는-무엇인가요\">➡️ 변경되지 않는 선박 정보는 무엇인가요?</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>항목</th>\n<th>변경 여부</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Vessel ID</td>\n<td>변경되지 않음</td>\n</tr>\n<tr>\n<td>IMO</td>\n<td>변경되지 않음</td>\n</tr>\n<tr>\n<td>MMSI</td>\n<td>변경될 수 있음</td>\n</tr>\n<tr>\n<td>Vessel Name</td>\n<td>변경될 수 있음</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h5 id=\"➡️-is_actual-값을-사용하는-것이-좋나요\">➡️ <code>is_actual</code> 값을 사용하는 것이 좋나요?</h5>\n<p><code>is_actual</code>보다는 <code>data_source</code> 사용을 권장합니다.</p>\n<p><code>PORT_CALL</code>은 AIS 기반 실제 데이터이며, Carrier Code는 변경될 수 있는 선사 스케줄 정보를 의미합니다.</p>\n<hr />\n<h5 id=\"➡️-선박-트래킹의-만료일이-한-달보다-짧거나-길어-보이는-이유는-무엇인가요\">➡️ 선박 트래킹의 만료일이 한 달보다 짧거나 길어 보이는 이유는 무엇인가요?</h5>\n<p>만료일은 항상 등록일 기준 한 달 후입니다.</p>\n<p>다만 월별 날짜 수가 다르므로 실제 일수는 달라질 수 있습니다.</p>\n<hr />\n<h2 id=\"항만혼잡도\">[항만혼잡도]</h2>\n<h5 id=\"➡️-항만혼잡도-데이터는-언제-업데이트되나요\">➡️ 항만혼잡도 데이터는 언제 업데이트되나요?</h5>\n<p>항만혼잡도 데이터는 매일 <strong>한국시간(KST) 오전 10시경</strong> 업데이트됩니다.</p>\n<p>실제 업데이트 시각은 응답의 <code>updated_datetime</code> 값을 참고해 주세요.</p>\n<hr />\n<h5 id=\"➡️-average_period_type_list에는-어떤-값을-사용할-수-있나요\">➡️ <code>average_period_type_list</code>에는 어떤 값을 사용할 수 있나요?</h5>\n<p>다음 값을 사용할 수 있습니다.</p>\n<ul>\n<li><p><code>THREE_DAYS</code></p>\n</li>\n<li><p><code>ONE_WEEK</code></p>\n</li>\n<li><p><code>TWO_WEEKS</code></p>\n</li>\n<li><p><code>ONE_MONTH</code></p>\n</li>\n</ul>\n<p>요청한 값만 응답으로 반환됩니다.</p>\n","_postman_id":"35de3c3b-bb51-40ec-a1e3-e3e8c63c9c19"}],"id":"cc630715-eac7-4f19-94d7-1eb285ea28fd","_postman_id":"cc630715-eac7-4f19-94d7-1eb285ea28fd","description":""}],"variable":[{"key":"base_url","value":"https://api.tradlinx.com"},{"key":"tx-clientid","value":""},{"key":"tx-apikey","value":""},{"key":"mapview_base_url","value":"https://app.tradlinx.com"},{"key":"mapview_token","value":""}]}