{"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-06-26T07:56:30.000Z"},"item":[{"name":"시작하기","item":[{"name":"Tradlinx API 소개","item":[],"id":"493408ea-d0b4-4c35-83c5-dbb722500232","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>Shipment Tracking API</td>\n<td>화물 Tracking (B/L / Container)</td>\n<td>Ocean Visibility Enterprise Plan</td>\n</tr>\n<tr>\n<td>Shipment Tracking API → D&amp;D Monitoring</td>\n<td>D&amp;D 위험 관리</td>\n<td>B/L Shipment Tracking API 필요</td>\n</tr>\n<tr>\n<td>Shipment Tracking API → AI ETA</td>\n<td>AI 기반 ETA 예측</td>\n<td>Shipment Tracking API 필요</td>\n</tr>\n<tr>\n<td>Vessel Tracking 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>Shipment Tracking API 또는 Vessel Tracking API 필요</td>\n</tr>\n<tr>\n<td>Port Congestion API</td>\n<td>항만 혼잡도 정보</td>\n<td>별도 구독 필요</td>\n</tr>\n<tr>\n<td>Supply Chain Issue Monitoring 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=\"mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 문의해주세요.</p>\n","_postman_id":"493408ea-d0b4-4c35-83c5-dbb722500232"},{"name":"공통 API 가이드","item":[],"id":"6c23e7dd-f4ca-4f78-93ec-38db537ac9f3","description":"<h3 id=\"✅-공통-가이드\">✅ 공통 가이드</h3>\n<ul>\n<li><p>Tradlinx Ocean Visibility 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>References &gt; Error Codes</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":"6c23e7dd-f4ca-4f78-93ec-38db537ac9f3"}],"id":"5c88e165-b6f5-45db-897b-6b76001a7f24","_postman_id":"5c88e165-b6f5-45db-897b-6b76001a7f24","description":""},{"name":"Shipment Tracking APIs","item":[{"name":"B/L Shipment Tracking API","item":[{"name":"1. B/L 트래킹 요청","id":"0497d522-2dc6-4120-ac17-97ac4dc21d10","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>각 Tracking은 <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>지원하는 Carrier Code는 <strong>Supported Carriers</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>*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<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":"c5decb81-5f7e-49e1-aa85-4c30be5cf38c","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":"0497d522-2dc6-4120-ac17-97ac4dc21d10"},{"name":"2. 기간 내 등록된 B/L 트래킹 데이터 조회","id":"03a625c4-7351-4c20-b1c0-35e7a0270c0c","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 Tracking 목록을 조회합니다.</p>\n</li>\n<li><p>결과는 페이지네이션 형식으로 제공됩니다.</p>\n</li>\n<li><p>대량의 데이터를 조회할 경우 <code>page</code>와 <code>size</code> 파라미터를 사용하여 결과를 순차적으로 조회할 수 있습니다.</p>\n</li>\n<li><p>조회 기간은 Tracking 요청이 최초로 등록된 날짜 및 시간을 기준으로 합니다.</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":"06f55022-7758-4d34-95d4-4c3a307b04fb","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":"823e61d4-4201-4bb0-82d5-83579777ff00","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":"c497bb2f-5b4c-433b-bb0a-cea8aa57f3fb","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":"03a625c4-7351-4c20-b1c0-35e7a0270c0c"},{"name":"3. B/L 트래킹 데이터 상세 조회","id":"980fdc07-48a3-4da1-a6c4-9753f58fde1c","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 번호에 대한 상세 Tracking 정보를 조회합니다.</p>\n</li>\n<li><p>Tracking 상세 정보는 <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":"a7fa789b-3c4c-4ce5-a0e2-ffa376207ece","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":"28bf0e85-5f67-4d5e-b28e-7159c48bbcf7","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":"bfa5c016-cc1d-41e4-879a-e61e4cfbbd68","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":"980fdc07-48a3-4da1-a6c4-9753f58fde1c"},{"name":"4. B/L 트래킹 수정 요청","id":"5c15bd59-a1b1-4c69-88f9-bf13f763fe53","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 Tracking 정보를 수정합니다.</p>\n</li>\n<li><p>기존 Tracking과 <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":[{"description":{"content":"<p>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"cargo_track_id"}]}},"response":[{"id":"29ba2cb3-7c1b-48d1-bfeb-40c705fb9b1f","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":"17516045-fd9b-4ffe-87cf-0aad84ca4903","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":"5c15bd59-a1b1-4c69-88f9-bf13f763fe53"},{"name":"5. B/L 트래킹 취소 요청","id":"7abf582a-0d75-4c8f-852c-02d3c614a144","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 Tracking을 한 번의 요청으로 취소합니다.</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>Tracking이 시작되기 전까지만 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":"00e6b08c-b4ab-4e06-b7aa-0228b333e3e4","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":"7abf582a-0d75-4c8f-852c-02d3c614a144"},{"name":"6. 수동 B/L 트래킹 요청","id":"e49d15ed-3313-4d7e-8ff9-bff41216af36","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 Tracking을 수동으로 등록할 수 있습니다.</p>\n</li>\n<li><p>요청은 Array 형태로 구성해야 합니다.</p>\n</li>\n<li><p>각 Tracking은 <code>bl_no</code> + <code>line_cd</code> + <code>cust_order_id</code> 조합으로 고유하게 식별되며, 동일한 조합은 중복 등록할 수 없습니다.</p>\n</li>\n<li><p>Manual Tracking은 요청에 포함된 POL, POD, ETD, ETA, 선박명(Vessel Name), IMO 번호 등의 운항 정보를 기반으로 Tracking 데이터를 생성합니다.</p>\n</li>\n<li><p>입력한 정보가 부정확하거나 누락된 경우 Tracking 정보가 정확하지 않거나 일부 정보가 제공되지 않을 수 있습니다.</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":"e67ba553-9fd3-4905-b582-eae043d8dcc2","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":"e49d15ed-3313-4d7e-8ff9-bff41216af36"},{"name":"7. 수동 B/L 트래킹 수정 요청","id":"ca37bcb6-18bf-4d5b-98ee-e7854d71e358","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 Tracking 정보를 수정합니다.</p>\n</li>\n<li><p>Tracking 식별자(<code>bl_no</code> + <code>line_cd</code> + <code>cust_order_id</code>)는 등록 후 수정할 수 없습니다.</p>\n</li>\n<li><p>해당 값 중 하나라도 변경해야 하는 경우, 기존 Tracking을 취소한 후 새로 등록해야 합니다.</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":"1214c8a0-e3b4-4665-914e-acb4cdb35aa9","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":"7496d6b7-2e10-466e-9673-c86ed81ec026","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":"e0d6a23b-cbc1-4afd-af2d-b007cc23da0b","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":"ca37bcb6-18bf-4d5b-98ee-e7854d71e358"}],"id":"1caf9eb6-aa47-4686-9d84-ac157cc115ac","description":"<h3 id=\"✅-bl-tracking--개요\">✅ B/L Tracking — 개요</h3>\n<p>B/L Tracking은 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 Tracking 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 Tracking 등록</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. Tracking 상세 조회</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":"1caf9eb6-aa47-4686-9d84-ac157cc115ac"},{"name":"Container No. Shipment Tracking API","item":[{"name":"1. 컨테이너 번호 추적 요청","id":"36e85cbe-abdf-4f6e-826a-e24458895b6c","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>지원하는 Carrier Code는 <strong>Supported Carriers</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":"3d066b34-0f28-4910-b6b2-c6fb316c8c51","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":"36e85cbe-abdf-4f6e-826a-e24458895b6c"},{"name":"2. 컨테이너 번호 추적 데이터 상세 조회","id":"504c8718-c727-4b1e-8dd6-f26ed9a126f4","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>등록된 Container Tracking의 상세 정보를 조회합니다.</p>\n</li>\n<li><p>Tracking 상세 정보는 <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":"701e2399-b699-41eb-a0ae-e98b91ce8f67","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":"37c70cb0-56cd-4c57-ad99-c18a0ee79e20","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":"99d53274-9e2a-47f2-ba88-716ceaf8e359","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":"504c8718-c727-4b1e-8dd6-f26ed9a126f4"},{"name":"3. 컨테이너 번호 추적 재등록 요청","id":"c8bcd74e-5324-42e3-9273-b3953b4682ee","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 부족으로 추적할 수 없었던 Container Tracking을 다시 등록합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 Container Tracking만 재등록할 수 있습니다.</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":[{"description":{"content":"<p>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"track_mst_id"}]}},"response":[{"id":"7fcc5842-9c04-43bb-a6cc-748b288fe698","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":"a065c0ea-3024-4d77-b721-ae337a77d335","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":"c8bcd74e-5324-42e3-9273-b3953b4682ee"},{"name":"4. 컨테이너 번호 추적 수정 요청","id":"db4fd083-1243-4db6-b986-957e1ee7e869","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>기존 Container Tracking의 메타데이터를 수정합니다.</p>\n</li>\n<li><p><code>container_no</code> + <code>carrier_code</code> + <code>reference_no</code> 조합은 고유해야 합니다.</p>\n</li>\n<li><p>수정으로 인해 중복 Tracking이 생성되는 경우, 이미 등록된 것으로 판단되어 수정이 적용되지 않습니다.</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":[{"description":{"content":"<p>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"track_mst_id"}]}},"response":[{"id":"f1d11127-b9d3-4f37-bb88-db00375c823f","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":"0d5af928-17dd-4f05-aab4-191c5f52888d","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":"db4fd083-1243-4db6-b986-957e1ee7e869"},{"name":"5. 컨테이너 번호 추적 취소 요청","id":"205202dd-1e40-4929-9b93-44a2de42285c","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>Container Tracking을 취소합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 Container Tracking만 취소할 수 있습니다.</p>\n</li>\n<li><p>Tracking이 시작되기 전까지만 Credit이 환불됩니다. <code>status</code>가 <code>TRACKING</code> 또는 <code>COMPLETE</code>인 Tracking은 취소하더라도 Credit이 환불되지 않습니다.</p>\n</li>\n</ul>\n","urlObject":{"path":["partners","track","v3","container-tracks",":track_mst_id"],"host":["https://api.tradlinx.com"],"query":[],"variable":[{"description":{"content":"<p>선적 조회를 통해 알 수 있는 선적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"track_mst_id"}]}},"response":[{"id":"6e44ca08-e602-409d-a6e1-6d7b1e5b075f","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":"205202dd-1e40-4929-9b93-44a2de42285c"}],"id":"8d00de68-4ef7-44fe-98cd-1dfa254a004f","description":"<h3 id=\"✅-container-no-tracking--개요\">✅ Container No. Tracking — 개요</h3>\n<p>Tradlinx는 B/L, Container, Vessel 단위의 Tracking을 지원하며, 이 페이지에서는 Container No. Tracking API를 설명합니다.</p>\n<p>Container No. Tracking은 Container Number를 이용하여 화물을 추적하는 기능입니다.</p>\n<p>Container Number를 등록하면 Tradlinx가 화물 추적을 시작하며, API를 통해 최신 Tracking 정보를 제공합니다.</p>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>Container No. Tracking 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>두 단계만으로 Container Tracking을 시작할 수 있습니다.</p>\n<ul>\n<li><p><strong>1. Container Tracking 등록 →</strong><br />  Container Number와 Carrier Code를 등록하면 Tradlinx가 즉시 화물 추적을 시작합니다.</p>\n</li>\n<li><p>*<em>2. Tracking 상세 조회 →</em>_*_동일한 식별자를 이용하여 Tracking 정보를 조회합니다. <code>status</code>가 <code>TRACKING</code> 상태가 되면 화물 이벤트 및 Tracking 정보를 확인할 수 있습니다.</p>\n</li>\n</ul>\n","_postman_id":"8d00de68-4ef7-44fe-98cd-1dfa254a004f"},{"name":"D&D Monitoring","item":[{"name":"1. D&D Monitoring 조회","id":"2a27c6d7-2721-4df1-a798-677011d48822","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 Tracking 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":"5d0b11fe-6254-40ee-a9a0-1c17f92a2541","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":"a24010fe-4555-4dba-9b4d-a12183f99ad1","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":"abbd05b4-8873-4d3e-8d93-7925d0c83db0","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":"2a27c6d7-2721-4df1-a798-677011d48822"}],"id":"99dca517-5a00-4c2a-a49d-07eedf8cc7f1","description":"<h3 id=\"✅-dd-monitoring-api--개요\">✅ D&amp;D Monitoring API — 개요</h3>\n<p>Tradlinx는 B/L Tracking API의 확장 기능으로 D&amp;D Monitoring을 제공하며, 이 페이지에서는 D&amp;D Monitoring API를 설명합니다.</p>\n<p>D&amp;D Monitoring은 B/L Tracking을 통해 수집된 화물 정보를 기반으로 컨테이너 단위의 Demurrage &amp; Detention(D&amp;D) 발생 위험을 모니터링하는 기능입니다.</p>\n<p>컨테이너의 Pickup 및 Empty Return 기간을 확인하여 D&amp;D 비용 발생 위험을 사전에 관리할 수 있습니다.</p>\n<p>D&amp;D Monitoring은 B/L Tracking으로 등록된 화물에 대해서만 사용할 수 있습니다.</p>\n<p>지원 선사는 <strong>Supported Carriers</strong> 문서를 참고해 주세요.</p>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>D&amp;D Monitoring API는 해당 기능을 별도로 구독한 Ocean Visibility Enterprise Plan 고객에게만 제공되며, B/L Shipment Tracking API를 함께 사용해야 합니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n","_postman_id":"99dca517-5a00-4c2a-a49d-07eedf8cc7f1"},{"name":"AI-ETA","item":[{"name":"1. B/L 트래킹 데이터 상세 조회 (AI ETA 포함)","id":"68581b68-9251-48cb-8cf4-559ddc3ad436","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 Tracking 상세 정보와 AI ETA 예측 정보를 조회합니다.</p>\n</li>\n<li><p>이 API는 <strong>B/L Shipment Tracking API</strong>를 함께 사용해야 하며, B/L Tracking으로 등록된 화물에 대해서만 조회할 수 있습니다.</p>\n</li>\n<li><p>AI ETA 예측 정보를 조회하려면 기존 <strong>\"3. B/L Tracking 상세 조회\"</strong> API 대신 이 API를 사용하면 됩니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 50건의 Tracking 정보를 조회할 수 있습니다.</p>\n</li>\n<li><p>정상적으로 등록된 B/L Tracking에 대해서만 상세 조회가 가능합니다.</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":"af2474f6-5a51-427c-bdb7-83fb23d1edaf","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":"3ac5dd71-829b-4735-a05e-2fa0866ffd7f","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":"dd0fe5dc-cc4d-4281-af86-3cab5c64464a","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":"68581b68-9251-48cb-8cf4-559ddc3ad436"},{"name":"2. 컨테이너 번호 추적 데이터 상세 조회 (AI ETA 포함)","id":"e6b33031-3c4d-475e-9896-c3d744d0e6f7","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>등록된 Container Tracking의 상세 정보와 AI ETA 예측 정보를 조회합니다.\\</p>\n</li>\n<li><p>이 API는 <strong>Container No. Shipment Tracking API</strong>를 함께 사용해야 하며, Container Tracking으로 등록된 컨테이너에 대해서만 조회할 수 있습니다.</p>\n</li>\n<li><p>AI ETA 예측 정보를 조회하려면 기존 <strong>\"2. Container No. Tracking 상세 조회\"</strong> API 대신 이 API를 사용해야 합니다.</p>\n</li>\n<li><p>한 번의 요청으로 최대 50건의 Tracking 정보를 조회할 수 있습니다.</p>\n</li>\n<li><p>정상적으로 등록된 Container Tracking에 대해서만 상세 조회가 가능합니다.</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":"d1809200-b7c3-4619-a067-a92b4db76ccc","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":"ba1b71c1-b6c9-465f-8c29-23bbf0ba9bce","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":"f0aa6603-5897-4006-ab77-8362b67c5021","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":"e6b33031-3c4d-475e-9896-c3d744d0e6f7"}],"id":"4e685482-7e59-4f5e-b480-a6dff89e533f","description":"<h3 id=\"✅-ai-eta--개요\">✅ AI ETA — 개요</h3>\n<p>AI ETA는 Shipment Tracking 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 고객에게만 제공되며, Shipment Tracking API를 함께 사용해야 합니다.</p>\n<p>기능 이용을 원하시는 경우 <a href=\"https://mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 메일 주시거나 담당 영업사원에게 요청해주세요.</p>\n","_postman_id":"4e685482-7e59-4f5e-b480-a6dff89e533f"}],"id":"45272fd6-7e00-434c-9d53-0dcdd272bf8e","description":"<h3 id=\"✅-shipment-tracking-api\">✅ Shipment Tracking API</h3>\n<p>Shipment Tracking API는 Master B/L 및 Container Number와 같은 표준 물류 식별자를 기반으로 화물 추적 정보를 제공합니다.</p>\n<p>Tradlinx는 여러 선사의 화물 추적 데이터를 수집하고 표준화하여, 선사별 Tracking 시스템 및 데이터 형식과 관계없이 일관된 API 응답을 제공합니다.</p>\n<p>제공되는 API는 Shipment Tracking, D&amp;D Monitoring, AI ETA, Shipment Webhook으로 구성됩니다.</p>\n<h3 id=\"✅-지원하는-tracking-식별자\">✅ 지원하는 Tracking 식별자</h3>\n<p>일반적으로 사용되는 모든 물류 식별자를 지원하는 것은 아닙니다. Tracking 기능을 설계하기 전에 아래 표를 참고해 주세요.</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>Tracking에 권장되는 기본 식별자</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>내부 관리용 식별자로 Tracking에는 사용할 수 없습니다.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"✅-제공되는-tracking-정보\">✅ 제공되는 Tracking 정보</h3>\n<p>Shipment Tracking 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":"45272fd6-7e00-434c-9d53-0dcdd272bf8e"},{"name":"Webhook","item":[{"name":"B/L Tracking","item":[{"name":"1. 웹훅 이벤트 목록 조회","id":"55c0b0eb-862e-41fc-beea-f4b462c27826","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":"b346643c-cb6e-4a84-9ac3-810ec840c938","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":"55c0b0eb-862e-41fc-beea-f4b462c27826"},{"name":"2. 웹훅 이벤트 로그 조회","id":"57dced61-fb9d-4efb-b6a7-8dd4d0ca4b50","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":[{"description":{"content":"<p>조회할 Webhook Event ID</p>\n","type":"text/plain"},"type":"any","value":"","key":"event_id"}]}},"response":[{"id":"6c784125-5475-4819-aa53-8c1cd882c1a4","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":"57dced61-fb9d-4efb-b6a7-8dd4d0ca4b50"},{"name":"3. 웹훅 이벤트 재전송","id":"d3d1bb1e-4786-46c4-98ba-58e389ed9b73","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":[{"description":{"content":"<p>재전송할 Webhook Event ID</p>\n","type":"text/plain"},"type":"any","value":"","key":"event_id"}]}},"response":[{"id":"1ca28fe3-9609-4d12-accf-111ff5023ef8","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":"1473e2d9-11cf-40ac-8a93-041f80917cee","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":"d3d1bb1e-4786-46c4-98ba-58e389ed9b73"}],"id":"48a10edc-f647-4222-bc43-42d222c854ba","description":"<h3 id=\"✅-bl-tracking-webhook--개요\">✅ B/L Tracking Webhook — 개요</h3>\n<p>B/L Tracking Webhook은 등록된 B/L Tracking의 추적 정보가 변경될 때 실시간으로 이벤트를 전달하는 기능입니다.</p>\n<p>Webhook 이벤트는 등록된 HTTPS Endpoint로 JSON Payload를 포함한 HTTP POST 요청 형태로 전송됩니다.</p>\n<p>각 이벤트는 이벤트 정보와 최신 Shipment Tracking 정보가 포함된 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":"48a10edc-f647-4222-bc43-42d222c854ba"}],"id":"0efc049b-9150-4d6b-b679-21a2abe38f98","_postman_id":"0efc049b-9150-4d6b-b679-21a2abe38f98","description":""},{"name":"Vessel Tracking API","item":[{"name":"1. 선박 검색","id":"7ffc9379-7858-4e73-8dbb-edaaf9b722ff","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":"36cf3f10-9b8f-45c3-a926-23ec77f88441","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":"7ffc9379-7858-4e73-8dbb-edaaf9b722ff"},{"name":"2. 선박 추적 요청","id":"985022b3-53c4-462f-b775-d2cb0d80bb35","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>선박을 Tracking 대상으로 등록합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 선박만 등록할 수 있습니다.</p>\n</li>\n<li><p>활성 상태의 Tracking 정보가 존재하는 선박은 중복 등록할 수 없습니다.</p>\n</li>\n<li><p>Tracking이 만료된 선박은 새로운 Tracking 요청을 통해 다시 등록할 수 있습니다.</p>\n</li>\n<li><p>Tracking 기간은 등록일로부터 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":"4a831ca5-5059-4281-99cd-1af4d8254571","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":"985022b3-53c4-462f-b775-d2cb0d80bb35"},{"name":"3. 선박 추적 목록 조회","id":"0a0d5c71-f079-486c-a629-640fde496a5a","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>등록된 Vessel Tracking 목록을 조회합니다.</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":"dbd69020-46c1-408b-b940-9a2d4531dd3b","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":"0a0d5c71-f079-486c-a629-640fde496a5a"},{"name":"4. 선박 추적 상세 조회","id":"15ff4404-4b2d-41b1-928f-bc1a91cebec8","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":[{"description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"vessel_track_id"}]}},"response":[{"id":"92d6183f-f689-4eb3-8e1c-7593c17125cd","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":"15ff4404-4b2d-41b1-928f-bc1a91cebec8"},{"name":"5. 선박 추적 수정 요청","id":"1795f13e-81f9-4181-ae87-2405a14f5107","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>StartFragment기존 Vessel Tracking 정보를 수정합니다.</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":[{"description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"vessel_track_id"}]}},"response":[{"id":"b6717591-ce48-4268-be29-7109f985c34a","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":"1795f13e-81f9-4181-ae87-2405a14f5107"},{"name":"6. 선박 추적 자동 갱신 수정 요청","id":"947ea961-7533-44f6-aeb1-8609ae4918d4","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>Vessel Tracking의 자동 연장(Auto Renewal) 설정을 변경합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 Vessel Tracking만 변경할 수 있습니다.</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":[{"description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"vessel_track_id"}]}},"response":[{"id":"73fd09ab-266e-4f58-aab8-2b613ff3ebbd","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":"947ea961-7533-44f6-aeb1-8609ae4918d4"},{"name":"7. 선박 추적 취소 요청","id":"3e970e79-009f-475b-bba8-50f204eedc71","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>Vessel Tracking을 취소합니다.</p>\n</li>\n<li><p>한 번의 요청으로 하나의 Vessel Tracking만 취소할 수 있습니다.</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":[{"description":{"content":"<p>선박 추적 조회를 통해 알 수 있는 추적 건의 고유 아이디</p>\n","type":"text/plain"},"type":"any","value":"","key":"vessel_track_id"}]}},"response":[{"id":"cba859ed-c916-4cc6-a862-54852c0d56c2","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":"3e970e79-009f-475b-bba8-50f204eedc71"}],"id":"ee87d371-3967-4e67-886f-19327c3dfec1","description":"<h3 id=\"✅-vessel-tracking--개요\">✅ Vessel Tracking — 개요</h3>\n<p>Tradlinx는 B/L, Container, Vessel 단위의 Tracking을 지원하며, 이 페이지에서는 Vessel Tracking API를 설명합니다.</p>\n<p>Vessel Tracking은 선박의 실시간 위치, 입출항 정보 및 운항 정보를 제공합니다.</p>\n<p>선박명(Vessel Name), IMO, MMSI 또는 Call Sign을 이용하여 선박 Tracking 정보를 조회할 수 있습니다.</p>\n<h3 id=\"✅-enterprise-plan-필요\">✅ Enterprise Plan 필요</h3>\n<p>Vessel Tracking 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":"ee87d371-3967-4e67-886f-19327c3dfec1"},{"name":"Embedded MapView","item":[{"name":"B/L Tracking","item":[{"name":"1. JSON Web Token 발행","id":"12201c85-73f8-44a8-ad7d-cc8f4b9f524a","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":"12201c85-73f8-44a8-ad7d-cc8f4b9f524a"},{"name":"2. Embedded MapView 호출 (Form POST)","id":"1c73f3ca-69c7-427e-8964-9b6f4f7137e2","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 Tracking 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-tracking-embedded-mapview-server\"><strong>B/L 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>\"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":"1c73f3ca-69c7-427e-8964-9b6f4f7137e2"}],"id":"91b3c039-0d01-48bb-a50b-6b4f15478190","description":"<h3 id=\"✅-bl-tracking-embedded-mapview--개요\">✅ B/L Tracking Embedded MapView — 개요</h3>\n<p>B/L Tracking Embedded MapView는 Tradlinx Ocean Visibility의 지도 화면을 고객사의 서비스에 직접 임베드할 수 있는 기능입니다.</p>\n<p>Shipment Tracking 데이터를 기반으로 컨테이너 이동 경로, 선박 위치, 운항 경로 및 화물 상태를 별도의 지도 화면을 직접 개발하지 않고도 시각화할 수 있습니다.</p>\n<p>B/L Tracking 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 Tracking 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\" width=\"1000\" height=\"542\" />\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; 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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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; 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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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; &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; &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; &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; 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; &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; &gt;&lt;/p&gt;&lt;/x-turndown&gt;\n\n</code></pre>\n","_postman_id":"91b3c039-0d01-48bb-a50b-6b4f15478190"},{"name":"Container Tracking","item":[{"name":"1. JSON Web Token 발행","id":"49917665-a277-4eea-a097-84988ddedd50","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":"49917665-a277-4eea-a097-84988ddedd50"},{"name":"2. Embedded MapView 호출 (Form POST)","id":"623ac258-30fb-4f9c-b0d3-6dcd661b4d66","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>Container No. Tracking 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":"623ac258-30fb-4f9c-b0d3-6dcd661b4d66"}],"id":"db7280e4-2ee7-4f3c-91fd-50a218cb1a8b","description":"<h3 id=\"✅-container-tracking-embedded-mapview--개요\">✅ Container Tracking Embedded MapView — 개요</h3>\n<p>Container Tracking Embedded MapView는 Tradlinx Ocean Visibility의 지도 화면을 고객사의 서비스에 직접 임베드할 수 있는 기능입니다.</p>\n<p>Shipment Tracking 데이터를 기반으로 컨테이너 이동 경로, 선박 위치, 운항 경로 및 화물 상태를 별도의 지도 화면을 직접 개발하지 않고도 시각화할 수 있습니다.</p>\n<p>Container Tracking 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>Container Tracking 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\" width=\"1024\" height=\"640\" />\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; 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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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; 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;&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":"db7280e4-2ee7-4f3c-91fd-50a218cb1a8b"},{"name":"Vessel Trakcing","item":[{"name":"1. JSON Web Token 발행","id":"a7472254-9cbe-4195-8221-1fc2ebb4c764","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":"a7472254-9cbe-4195-8221-1fc2ebb4c764"},{"name":"2. Embedded MapView 호출 (Form POST)","id":"8db9fea1-55da-43df-8530-81363aa93b9c","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>Vessel Tracking 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":"8db9fea1-55da-43df-8530-81363aa93b9c"}],"id":"39c14430-9bba-4437-8b7e-e77fd0a49729","description":"<h3 id=\"✅-vessel-tracking-embedded-mapview--개요\">✅ Vessel Tracking Embedded MapView — 개요</h3>\n<p>Vessel Tracking Embedded MapView는 Tradlinx Ocean Visibility의 지도 화면을 고객사의 서비스에 직접 임베드할 수 있는 기능입니다.</p>\n<p>Vessel Tracking 데이터를 기반으로 선박 위치, 운항 경로 및 입출항 정보를 별도의 지도 화면을 직접 개발하지 않고도 시각화할 수 있습니다.</p>\n<p>Vessel Tracking 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>Vessel Tracking 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\" width=\"2960\" height=\"1398\" />\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; 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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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; 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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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; &gt;&lt;strong 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; &gt;&lt;/p&gt;&lt;p 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":"39c14430-9bba-4437-8b7e-e77fd0a49729"}],"id":"fe554922-0694-4757-9693-0b9e39a08856","_postman_id":"fe554922-0694-4757-9693-0b9e39a08856","description":""},{"name":"항만혼잡도 API","item":[{"name":"1. 항만혼잡도 조회","id":"21123391-117c-42bd-a35a-5cd7fa452e33","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":"55ba55fd-345b-42ac-9887-3198816db6ca","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":"a18caa7e-16ef-4a96-8e9e-ad1c153e0978","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":"42719cd1-8048-4e5d-a82d-c36092146dda","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":"21123391-117c-42bd-a35a-5cd7fa452e33"}],"id":"fa4b094d-a4a5-4da3-b72e-d00d9af9d7e8","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":"fa4b094d-a4a5-4da3-b72e-d00d9af9d7e8"},{"name":"공급망 이슈 모니터링 API","item":[{"name":"1. 공급망 이슈 카테고리 조회","id":"0d0d67c9-be41-4ff4-90fc-f7e40c6450e2","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":"795179ed-64f1-47c1-ae2a-ce8e0475f6ee","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":"30200c52-7fbd-483d-9f85-c3bb2edb407a","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":"0b204f41-dd72-44f7-833e-8db02d8f5c9f","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":"0d0d67c9-be41-4ff4-90fc-f7e40c6450e2"},{"name":"2. 공급망 이슈 기사 조회","id":"a1223278-880c-443b-8948-547ecb488181","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":"7ef6316e-705f-4e9b-b36f-a579f4a31774","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":"d0361e86-8845-4866-8707-30733f6b6d7e","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":"592ef522-8e27-4812-8073-ecd04d3a7689","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":"a1223278-880c-443b-8948-547ecb488181"}],"id":"cb437a80-4a95-4c24-8f52-ef6c08f2ce52","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=\"mailto:help@tradlinx.com\">help@tradlinx.com</a> 으로 문의해 주세요.</p>\n","_postman_id":"cb437a80-4a95-4c24-8f52-ef6c08f2ce52"},{"name":"(KR) FCL Schedule","item":[],"id":"c541a272-84f4-4ad8-9ccf-4c4dfb015284","description":"<p>TBD — 문서 준비 중입니다.</p>\n","_postman_id":"c541a272-84f4-4ad8-9ccf-4c4dfb015284"},{"name":"(KR) Container Terminal Schedule","item":[],"id":"392b88f5-083c-409f-83fa-1bdc789a4e21","description":"<p>TBD — 문서 준비 중입니다.</p>\n","_postman_id":"392b88f5-083c-409f-83fa-1bdc789a4e21"},{"name":"References","item":[{"name":"Error Codes","item":[],"id":"45a9c3d0-9130-4b3c-a585-dda0e1005eb3","description":"<ul>\n<li><p>이 문서에서는 v2와 v3 API에서 사용하는 Error Code와 그에 대한 사유를 안내합니다.</p>\n</li>\n<li><p>Error 정보는 버전별로 아래와 같이 제공됩니다.</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><p><strong>예시 응답</strong></p>\n<p>V2 API 예시</p>\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\": \"한글한글\"\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<p>V3 API 예시</p>\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\": \"한글한글\"\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<p><strong>요약</strong></p>\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","_postman_id":"45a9c3d0-9130-4b3c-a585-dda0e1005eb3"},{"name":"크레딧 사용량 조회","item":[{"name":"1. 크레딧 사용량 조회","id":"d92c1caa-130c-4740-b0f9-628d614f3f71","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":"1df9eea4-45ca-4acb-89b9-f34e7e39805f","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":"94732d51-e1aa-411c-9ad9-6ba08935bd49","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":"d86a0e89-4f63-4156-8414-305378992c64","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":"d92c1caa-130c-4740-b0f9-628d614f3f71"}],"id":"c54f13e4-4f65-43b1-abd7-48a3a0fe048b","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":"c54f13e4-4f65-43b1-abd7-48a3a0fe048b"},{"name":"추적 가능한 선사 목록","item":[],"id":"c47d5b7c-44ae-4d81-b2f5-2f49512e7e2f","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":"c47d5b7c-44ae-4d81-b2f5-2f49512e7e2f"},{"name":"항만 코드","item":[],"id":"fc9d365b-d87a-4e35-a830-2e65fb0ea986","description":"<ul>\n<li><p>이 페이지에서는 Tradlinx API에서 공통으로 사용하는 Port Code 목록을 제공합니다.</p>\n</li>\n<li><p>Port Code는 POL, POD 등 Ocean Visibility 에서 항만과 관련된 Request 및 Response 필드에서 공통적으로 사용됩니다.</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>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":"fc9d365b-d87a-4e35-a830-2e65fb0ea986"},{"name":"FAQ","item":[],"id":"c1465f14-8a6d-4108-bb87-6cf44569f7e7","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=\"general\">[General]</h2>\n<h5 id=\"➡️-client-id와-api-key는-어떻게-발급받을-수-있나요\">➡️ Client ID와 API Key는 어떻게 발급받을 수 있나요?</h5>\n<p>API를 이용하시려면 <a href=\"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=\"shipment-tracking\">[Shipment Tracking]</h2>\n<h5 id=\"➡️-bl-tracking과-container-tracking의-차이는-무엇인가요\">➡️ B/L Tracking과 Container Tracking의 차이는 무엇인가요?</h5>\n<p><strong>B/L Tracking</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>Container Tracking</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와 다를 수 있습니다. 자세한 내용은 Supported Carriers 문서를 참고해 주세요.</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-번호-또는-container-번호를-제공받을-수-있나요\">➡️ 테스트용 B/L 번호 또는 Container 번호를 제공받을 수 있나요?</h5>\n<p>아니요. Tracking 번호는 다른 고객의 정보이므로 제공할 수 없습니다.</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=\"➡️-실시간-tracking-업데이트를-받을-수-있나요\">➡️ 실시간 Tracking 업데이트를 받을 수 있나요?</h5>\n<p>네. B/L Tracking에서는 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=\"➡️-선사-홈페이지와-tracking-정보가-다른-이유는-무엇인가요\">➡️ 선사 홈페이지와 Tracking 정보가 다른 이유는 무엇인가요?</h5>\n<p>다음과 같은 이유로 차이가 발생할 수 있습니다.</p>\n<ul>\n<li><p>Tracking 업데이트 주기에 따른 일시적인 동기화 지연</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>자세한 내용은 <strong>Supported Carriers</strong> 문서를 참고해 주세요.</p>\n<hr />\n<h5 id=\"➡️-bl-tracking에는-재등록-api가-있나요\">➡️ B/L Tracking에는 재등록 API가 있나요?</h5>\n<p>아니요. 기존 Tracking을 취소한 후 다시 등록해 주세요.</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=\"vessel-tracking\">[Vessel Tracking]</h2>\n<h5 id=\"➡️-vessel-tracking을-취소했다가-다시-등록하면-credit이-다시-차감되나요\">➡️ Vessel Tracking을 취소했다가 다시 등록하면 Credit이 다시 차감되나요?</h5>\n<p>아니요. 기존 Tracking이 아직 만료되지 않았다면 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이 차감되고, Tracking 기간이 한 달 연장됩니다.</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=\"➡️-vessel-tracking의-만료일이-한-달보다-짧거나-길어-보이는-이유는-무엇인가요\">➡️ Vessel Tracking의 만료일이 한 달보다 짧거나 길어 보이는 이유는 무엇인가요?</h5>\n<p>만료일은 항상 등록일 기준 한 달 후입니다.</p>\n<p>다만 월별 날짜 수가 다르므로 실제 일수는 달라질 수 있습니다.</p>\n<hr />\n<h2 id=\"port-congestion\">[Port Congestion]</h2>\n<h5 id=\"➡️-port-congestion-데이터는-언제-업데이트되나요\">➡️ Port Congestion 데이터는 언제 업데이트되나요?</h5>\n<p>Port Congestion 데이터는 매일 <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":"c1465f14-8a6d-4108-bb87-6cf44569f7e7"}],"id":"c5810090-8d90-4d3d-9dfe-cd5ea02aab5a","_postman_id":"c5810090-8d90-4d3d-9dfe-cd5ea02aab5a","description":""}],"variable":[{"key":"base_url","value":"https://api.tradlinx.com","type":"string"},{"key":"tx-clientid","value":"","type":"string"},{"key":"tx-apikey","value":"","type":"string"},{"key":"mapview_base_url","value":"https://app.tradlinx.com","type":"string"},{"key":"mapview_token","value":"","type":"string"}]}