Fedex Logo
Developer Portal

Open Ship API

簡介

此 API 可讓您建立公開貨件並允許在一段時間內將包裹新增至貨件中,而非一次性輸入全部貨件和包裹資料。貨件於五日期內維持可供填寫資料的狀態,且在該期間內接受新增及修改包裹。貨件一經確認,即可生成如標籤、空運提單或報告等託運文件。於第五日結束時,貨件則必須獲確認,否則會被刪除。

備註:如果在貨件建立起第五日結束前未獲確認,公開貨件將被刪除。

Open Ship API 詳情

Open Ship API 在您想於一段時間內新增多件包裹至貨件中,且您不確定自己打算新增多少件包裹或何時完成貨件時使用。這會為您提供一種靈活方式,可於全天準備貨件,直至準備好託運為止。

Open Ship 貨件通常是多件包裹貨件,但也可以是單件包裹貨件,亦稱為單件貨件。

要託運多件包裹貨件 (MPS) 至單一收件人,請使用 Open Ship API 並新增個別包裹至貨件中,或新增多件包裹 (如果要寄給同一名收件人)。

以下是與公開貨件相關的服務:

  • FedEx Express® 美國境內和加拿大境內
  • FedEx Ground® 美國境內和加拿大境內
  • FedEx Home Delivery®
  • FedEx 國際優先速遞服務®
  • FedEx 國際優先速遞服務® (IPE)
  • FedEx 國際經濟速遞服務®
  • FedEx Priority Overnight TM
  • FedEx® 地區經濟速遞服務
  • FedEx® 地區經濟速遞大貨服務
  • FedEx International Connect Plus®
  • FedEx® First
  • FedEx 優先速遞特快服務
  • FedEx 優先速遞服務
  • FedEx 優先速遞特快大貨服務
  • FedEx 優先速遞大貨服務
  • FedEx Economy (僅限英國)

以下是與 Open Ship API 相關的功能:

管理公開貨件

此功能可讓寄件人建立、修改、刪除公開貨件,並檢索已經建立的公開貨件以作審查或驗證用途。透過該功能可確認已完成的貨件來轉移 FedEx 貨件數據給 FedEx,並生成適當的貨件文件。該功能亦可識別並報告交易中的任何錯誤,並提供適當的狀態。

此功能的關鍵資料為 accountNumber、Shipment Data、groupPackageCount、index,以表示貨件的主包裹。此功能的結果將確保貨件數據上載至 FedEx 系統,以及生成了適當的查詢號碼、標籤和貨件報告。

管理公開貨件包裹

此功能可讓您在已建立的公開貨件中新增、修改及刪除包裹。另外亦可以檢索現有公開貨件的現有包裹。

取得公開貨件結果 (非同步)

透過此功能可非同步地檢索已確認的貨件結果。當確認了有 40 件或以上包裹的公開貨件後,API 會以非同步方式處理貨件。

當以非同步方式處理貨件時,此要求的回覆只能確認要求已成功排序,但貨件不一定能成功處理。在回應時,它會輸出 jobId 以便稍後擷取結果。此功能會使用 jobId 來擷取 OpenShipment 結果 (建立、修改及確認),例如標籤、貨件報告。該功能亦可識別並報告貨件中的任何錯誤,並提供適當的狀態。

備註:如果非同步貨件回應中存在錯誤,請修正錯誤並提交新的貨件請求。

Open Ship API 工作流程

此部分詳細說明 Open Ship API 的具體工作流程。Open Ship 工作流程會以兩種方式管理或使用兩種處理選項:

40 件或以下包裹的工作流程

  1. 使用端點建立公開貨件來建立公開貨件,並提供所有必要的託運、包裝資料、accountNumberindex
  2. 使用端點新增公開貨件包裹來新增一件或以上 (不多於 40 件) 包裹至已建立的公開貨件。關鍵輸入項目為要新增包裹之公開貨件的 indexaccountNumber
  3. 使用端點確認公開貨件以最終確認所有包裹均已新增,且貨件已完成。關鍵輸入項目為要確認之貨件的 indexaccountNumber

確認公開貨件端點是此流程的最終端點,負責驗證貨件和包裹資料,並成功生成標籤和該貨件的所有其他報告。該端點亦會提供驗證期間發回的錯誤詳情。這些錯誤可使用端點修改公開貨件修改公開貨件包裹來修正,並為成功請求再次確認貨件。

40 件包裹以上的工作流程

  1. 使用端點建立公開貨件來建立公開貨件,並提供所有必要的託運、包裝資料、accountNumberindex
  2. 使用端點新增公開貨件包裹來新增一件或以上 (不多於 40 件) 包裹至已建立的公開貨件。關鍵輸入項目為有待新增包裹之公開貨件的 indexaccountNumber
  3. 使用端點確認公開貨件以確認所有包裹均已新增,且貨件已完成。關鍵輸入項目為要確認之貨件的 indexaccountNumber。在此情況下,由於包裹超過 40 件,API 會以非同步方式處理貨件,並發回 jobId 以供稍後使用,從而便於檢索貨件結果如果回應中存在錯誤,則這些錯誤應使用端點修改公開貨件修改公開貨件包裹予以修正,並使用端點確認公開貨件來確認貨件。
  4. 使用端點「取得 Open 貨件結果」來擷取「建立、修改及確認 Open 貨件」的結果,例如標籤和託運文件。已確認貨件的關鍵輸入為 jobIdaccountNumber

取得公開貨件結果端點是此流程的最終端點,負責檢索已確認的公開貨件結果,例如已確認公開貨件的標籤和所有其他報告。如果回應中發回了錯誤詳情,則這些錯誤可使用端點修改公開貨件修改公開貨件包裹予以修正,並使用端點確認公開貨件來確認貨件,最後使用端點取得公開貨件結果來就成功請求檢索已確認公開貨件的結果。

Open Ship APi 的運作方式

以下是與 Open Ship API 相關的功能:

建立公開貨件

使用此端點來建立公開貨件,並提供所需的貨件資料,以及至少定義貨件中的一件包裹。

以下是建立公開貨件時必要的輸入資料:

  • openShipmentAction – 這是公開貨件行動,在此情況下,使用值為 CREATE_PACKAGE
  • accountNumber – 這是 FedEx 帳戶號碼。
  • requestedShipment – 公開貨件的貨件詳情。
  • index – 公開貨件的獨有值,此值可用於修改貨件或包裹。此乃可選項目,如果未提供的話,可使用主查詢號碼來唯一地識別出該貨件。

對此請求的成功回應將處理貨件並生成查詢號碼,該號碼即為第一件包裹的主查詢號碼。請注意:回應中不會生成標籤。

新增公開貨件包裹

使用此端點,在貨件確認前,新增一件或以上包裹至現有的公開貨件請求中。在日間準備貨件時,您可以為每件包裹發送單獨的「新增包裹」請求您亦可以在「新增包裹」請求內發送多件包裹。

備註:貨件的包裹總數不得超過公開託運包裹上限。

以下是新增包裹至公開貨件時必要的輸入資料:

  • index – 這是分配給已建立之公開貨件的獨有值。如果無法存取該值,則提供主查詢號碼。
  • requestedPackageLineItem – 有待新增的詳細包裹資料。
  • accountNumber – 這是 FedEx 帳戶號碼。

對此請求的成功回應將為最新加入的包裹生成查詢號碼。

修改公開貨件包裹

使用此端點,在貨件確認前,修改現有 Open Ship 貨件中一件或以上包裹的詳情。這亦包括主包裹,即第一件新增至公開貨件中的包裹。

與此請求相關的必填輸入資料如下:

  • index – 這是分配給已建立之公開貨件的獨有值。如果無法存取該值,則提供主查詢號碼。
  • accountNumber – 這是 FedEx 帳戶號碼。
  • trackingId – 要修改之包裹的一個或以上 Open Ship 包裹查詢 ID。
  • requestedPackageLineItem – 要修改的詳細包裹資料。

成功請求將更新目標包裹並發回更新後的貨件詳情。

刪除公開貨件包裹

使用此端點,在貨件確認前,從已建立公開貨件中刪除一件或以上的包裹。

與此請求相關的必填輸入資料如下:

  • index – 這是分配給已建立之公開貨件的獨有值。如果無法存取該值,則提供主查詢號碼。
  • accountNumber – 這是 FedEx 帳戶號碼。
  • trackingId – 收到刪除請求的一個或以上 Open Ship 包裹查詢 ID。

成功請求將刪除目標包裹並在輸出中將 deletedPackagesFromOpenshipment 元素的狀態發回為正確

備註:如果貨件中的主包裹被刪除,隊列中的下一件包裹將成為主包裹,並獲得重新分配的主查詢號碼,號碼隊列會隨著被刪除包裹的數量減少而減少。

檢索公開貨件包裹

使用此端點來從已建立公開貨件中檢索一件或以上的包裹,以作審查或驗證用途。

與此請求相關的必填輸入資料如下:

  • index – 這是分配給已建立之公開貨件的獨有值。如果無法存取該值,則提供主查詢號碼。
  • accountNumber – 這是 FedEx 帳戶號碼。
  • trackingId – 要檢索其詳情的一個或以上 Open Ship 包裹查詢 ID。

成功請求將檢索目標包裹。

修改公開貨件

使用此端點,在貨件確認前,使用所需託運資料修改公開貨件請求。

與此請求相關的必填輸入資料如下:

  • index – 這是分配給已建立之公開貨件的獨有值。如果無法存取該值,則提供主查詢號碼。
  • accountNumber – 這是 FedEx 帳戶號碼。
  • requestedShipment – 要修改之公開貨件的貨件詳情。

成功請求將更新貨件詳情至已建立的公開貨件,並在輸出中發回已修改包裹的查詢號碼及更新後的交易貨件詳情。

檢索公開貨件

使用此端點來檢索已建立的公開貨件以審核或驗證。

與此請求相關的必填輸入資料如下:

  • index – 這是分配給已建立之公開貨件的獨有值。如果無法存取該值,則提供主查詢號碼。
  • accountNumber – 這是 FedEx 帳戶號碼。

成功請求將檢索目標公開貨件詳情。

刪除公開貨件

使用此端點,在貨件確認前,刪除公開貨件請求。

與此請求相關的必填輸入資料如下:

  • index – 這是分配給已建立之公開貨件的獨有值。如果無法存取該值,則提供主查詢號碼。
  • accountNumber – 這是 FedEx 帳戶號碼。

成功請求將刪除公開貨件及所有相關包裹,並在輸出中將 deletedOpenshipment 元素的狀態發回為正確

確認公開貨件

使用此端點,在所有包裹均已新增至貨件請求中後,驗證及上載 Open Ship 貨件數據至 FedEx 系統。

與此請求相關的必填輸入資料如下:

  • index – 這是分配給已建立之公開貨件的獨有值。如果無法存取該值,則提供主查詢號碼。
  • accountNumber – 這是 FedEx 帳戶號碼。
  • labelResponseOptions – 指明回應中要發回加密字節碼還是標籤網址。
    備註:labelResponseOptions 元素僅適用於「確認公開貨件請求」;在確認貨件後將產生標籤。

40 件或以下包裹的成功確認回應將上載貨件數據至 FedEx 系統,並生成包裹標籤及所有其他貨件報告。

40 件以上包裹的成功確認回應則會確認請求已成功加入隊列並發回 jobId 以供稍後檢索結果。

備註:公開貨件中應包含至少一件包裹,然後您方可確認貨件。

取得公開貨件結果

使用此端點來取得已確認的 Open Ship 貨件數據。此端點只應在存在超過 40 件包裹且公開貨件確認中發回 jobId 時使用。

與此請求相關的必填輸入資料如下:

  • resultMethodType – 指明該值為 CREATE
  • accountNumber – 這是 FedEx 帳戶號碼。
  • jobId – 這是公開貨件確認期間收到的 jobId

對此請求的成功回應將發回已確認的公開貨件結果,例如已確認公開貨件的包裹標籤和所有其他貨件報告。如果回應中發回了錯誤詳情,則這些錯誤可使用端點修改公開貨件修改公開貨件包裹予以修正,並使用端點確認公開貨件來確認貨件,最後使用端點取得公開貨件結果來就成功請求檢索已確認公開貨件的結果。

多件包裹貨件公開託運 (MPS)

多件包裹公開貨件 (MPS) 由兩件或以上寄送至相同收件人地址的包裹組成。託運請求中的第一件包裹即視為主包裹。

要建立多件包裹貨件:

  • 加入貨件層級的資料,例如主包裹的 serviceType、packagingType、totalWeight、totalPackageCountrequestedPackageLineItems 詳情。
    備註:主包裹的 sequenceNumber 必須等於 1
  • 新增所有包裹至貨件中。
  • 確認貨件。

貨件確認後,將使用以下其中一個處理選項:

同步貨件處理

同步處理是最理想的處理方法之一,可於貨件含有 40 件或以下的包裹 (包裹總數量/grouppackagecount<=40),且貨件中商品數量有限時在內部使用。

有 40 件或以下包裹的貨件請求確認時,將以同步方式處理,並會即時生成標籤、貨件文件/報告。如果設有時間限制以及貨件確認後必須立即列印標籤,則此流程對寄件人而言是最理想的選擇。

備註:包裹上限 40 件僅供指示之用,非固定上限。上限亦取決於貨件中包裹和商品數量的總和。如需更多資訊,請聯絡您的 FedEx 支援團隊。

例子:您的公開貨件請求共有 10 件包裹。當您新增全部 10 件包裹後確認貨件時,貨件將以同步方式處理。回應中會建立 10 張標籤,並且回應中會按要求提供標籤網址或已加密的標籤。

以下高層級工作流程會展示同步公開貨件處理:

  1. 使用端點建立公開貨件
  2. 使用端點新增公開貨件包裹新增 1 至 40 件包裹
  3. 使用端點確認公開貨件來確認公開貨件。
  4. 成功請求應生成標籤,且輸出回應將按要求提供標籤網址或已加密的標籤。
  5. 如果貨件存在錯誤,錯誤詳情將在回應中提供。
  6. 糾正所有錯誤後,使用端點確認公開貨件以取得成功回應。

請注意: 

  • 在此方法中,如需新增更多包裹至現有的貨件中,您只可新增總數最多 40 件包裹。 

非同步貨件處理

當包裹總數超過 40 件時 (即:totalPackageCount>40),API 會在內部以非同步方式處理貨件。當您的包裹量很大,希望定期提交大量貨件時,這是一種非常簡便的方法。進行一次性提交時,此大量貨件提交會使用各種昂貴的 FedEx 資源和操作。有了此處理選項,FedEx 可在內部確保這些大量貨件輕鬆得到處理,而您亦可以定期取得標籤資料。

以非同步方式處理貨件時,對此請求的回應只會確認請求已成功加入隊列,但貨件可能會或可能不會成功處理,並會發回 jobId 以供稍後檢索結果。

請注意:此流程需要一定時間,方可成功處理貨件,然後您才可以檢索結果

如要檢索非同步貨件結果,請使用端點取得公開貨件結果,並在請求中提供 jobIdaccountNumber 詳情。對此請求的回應將發回貨件結果資料及標籤詳情,或者貨件錯誤詳情。

例子:您的貨件共有 45 件包裹,確認後將進行非同步處理。回應中將發回 jobId。然後您應使用端點取得公開貨件結果來檢索貨件結果和標籤數據。

以下高層級工作流程會展示非同步託運處理:

  1. 使用端點建立公開貨件
  2. 使用端點新增公開貨件包裹新增 40 件或以上包裹。
  3. 使用端點確認公開貨件來確認貨件。
  4. 成功提交將提供 jobId
  5. 使用 jobId accountNumber 來檢索輸出結果,方法是使用取得公開貨件結果端點。
  6. 成功輸出後將提出貨件結果數據和標籤詳情。
  7. 如果結果存在錯誤,將在回應中提供錯誤詳情。

請注意:

  • 在此方法中,單一要求所允許的最大包裹總數為 300 件,或最多 999 件商品。 
  • 在此方法中,要求一經提交,您將無法再新增、修改或刪除原有要求中的包裹。如果回應中存在錯誤,請使用端點修改公開貨件包裹來修正錯誤,然後使用確認公開貨件來確認貨件,並使用取得公開貨件結果端點取得成功的輸出結果。

FedEx 託運標籤

FedEx API 支援一系列不同的標籤。FedEx API 支援三種標籤選項,包括熱感應、一般紙張和自訂標籤。您可以使用 Open Ship API 端點來製作一系列不同的標籤。

FedEx 提供 2 種標籤格式以支援託運服務:

  • 熱感應標籤
  • 鐳射標籤

熱感應標籤

FedEx API 讓您可以使用一系列不同的熱感應標籤打印機,為所有類型的託運列印託運標籤,例如 FedEx Express®、FedEx Ground® 及 FedEx International Ground®

FedEx API 支援以下熱感應標籤尺寸:

  • 4 吋 x 6 吋 – 無可配置的文件索引標籤 (Doc-Tab)
  • 4 吋 x 6.75 吋 – 有或沒有 Doc-Tab
  • 4 吋 x 8 吋 – 提供空間以納入自選的圖像或文字檔案
  • 4'' x 8.5'' – 有可配置文件索引標籤 (特別為輪胎識別標籤而加入)
  • 4 吋 x 9 吋 – 提供空間以納入圖像或文字和 Doc-Tab
  • 4'' x 10.5'' – 有可配置文件索引標籤 (特別為輪胎識別標籤而加入)

標籤庫類型 4" x 8.5” 和 4" x 10.5” 包含具相同條碼的附加文件標籤。主標籤上會顯示一個條碼,另一個則顯示在文件標籤上。此標籤庫類型值特別適合輪胎包裹,因為可將一個標籤放在輪胎的胎面上,另一個文件標籤則印有條碼的複本,以及輪胎邊的操作指示。使用這些標籤庫類型能減少輪胎重新標籤的次數,而增加尺寸掃描則能優化輪胎維修。有關標籤庫的更多資訊,請參閱標籤庫類型

備註:Doc-Tab 是可移除的黏性索引標籤,上面列有更多的託運資料,在使用熱敏打印機列印託運標籤時,可為標籤庫選擇此選項。

熱感應標籤元素

熱感應託運標籤含有三項基本元素:

  • 人類可讀的內容:標籤的此部分含有託運資料。
  • 地面人類可讀條碼將預設為加密狀態。
  • 二維 (2D) 條碼:具維度且由英文字母和數字組成的條碼,會使用美國國家標準機構 (ANSI) 的 MH10.8.3 標準儲存 FedEx Express 和 FedEx Ground 貨件的數據。2D 條碼乃使用可攜數據檔案 (PDF) 417 符號系統建立而成。
  • FedEx 專屬條碼:
    • 直至 FDX 1D 條碼完全分階段引入,FedEx Express 貨件的 ASTRA (進階篩選查詢路線援助);FedEx Ground 和 FedEx Home Delivery 貨件的條碼「96」。Fedex Ground 亦允許使用 SSCC-18「00」條碼。
    • FedEx Express 貨件的 FedEx 1D (FDX1D) 條碼乃使用 ANSI/AIM BC4-1995 (統一符號學規範代碼-128C) 建立而成。

生成熱感應標籤的關鍵資料

以下是生成熱感應標籤所需的關鍵資料:

  • LabelFormatType:在 Open Ship 回應 API 中接收正確的標籤圖像所必需:
    • COMMON2D:接收標籤的標籤格式類型。
    • LABEL_DATA_ONLY:如果您建立了自訂標籤,用於接收條碼數據的值。
  • 有效值:

  • ImageType:為您所使用的打印機格式化熱感應標籤所必需;提供數據流類型或要發回的位元圖。

    • EPL2 - Eltron (標籤庫類型)
    • ZPLII - Zebra (標籤庫類型)
  • 有效值:

    備註:貨件所需的所有標籤都會在單次緩衝中生成並發回。

支援的熱敏打印機

建議 FedEx API 使用以下熱敏打印機:

  • Unimark
  • Eltron
    • Orion (EPL2)
    • Eclipse (EPL2)
  • Zebra
    • LP2443 (EPL2)
    • LP2844 (EPL2)
    • Gk420 (ZPL)
    • LP2348 Plus (EPL2/ZPL)
    • Z4M Plus (ZPL or EPL)
    • ZP500/ZP505 (EPL2/ZPL)
    • Z4M/Z4M+ (EPL2/ZPL)
    • ZM400 (EPL2/ZPL)
    • ZT410 (EPL2/ZPL)
    • 其他 ZT4xx 系列打印機 (EPL2/ZPL)

備註:這些打印機均兼容 ASCII Eltron 編程語言 (EPL2) 頁面模式。熱敏打印機可直接寫入連接至系統序列埠的打印機,或作為 LPT、序列或 USB 連接的原生 Windows 安裝打印機。FedEx 提供的打印機韌體版本可能視乎地區而有所不同。

每項服務所打印的熱感應標籤數量

以下表格標示了每種特別服務所需的每類標籤數量。所有必要標籤都會在呼叫 FedEx 通用標籤伺服器 (CLS) 後生成,CLS 將發回單次緩衝,惟貨到付款除外。退件標籤。

每項美國服務所列印的熱感應標籤數量

服務類型

熱感應標籤 (FedEx CLS 將在回應中發回適當數量的標籤)

FedEx Express 美國

1 張託運標籤

FedEx Ground 美國/FedEx Home Delivery

1 張託運標籤

每項美國出口國際服務所列印的熱感應標籤數量

服務類型

熱感應標籤 (FedEx CLS 將在回應中發回適當數量的標籤)

FedEx Express 美國出口國際

1 張託運標籤

2 張收件人標籤

FedEx Express 美國出口指定清關代理人選項

1 張託運標籤

2 張收件人標籤

FedEx Ground 美國出口國際

1 張託運標籤

FedEx Ground 美國出口國際貨到付款

1 張託運標籤

2 張貨到付款退件標籤

每項加拿大境內服務所列印的熱感應標籤數量

服務類型

熱感應標籤 (FedEx CLS 將在回應中發回適當數量的標籤)

FedEx Express 加拿大境內

非 DG (危險品)/乾冰貨件:

1 張託運標籤

FedEx Ground 加拿大境內

1 張託運標籤

FedEx Ground 加拿大境內貨到付款

1 張託運標籤

2 張貨到付款退件標籤

每項加拿大出口國際服務所列印的熱感應標籤數量

服務類型

熱感應標籤 (FedEx CLS 將在回應中發回適當數量的標籤)

FedEx Express 加拿大出口國際

非 DG/乾冰貨件:

1 張託運標籤

2 張收件人標籤

FedEx Express 加拿大出口指定清關代理人選項

非 DG/乾冰貨件:

1 張託運標籤

2 張收件人標籤

FedEx Ground 加拿大 (CA) 出口國際

1 張託運標籤

每項菲律賓和泰國入境貨件所列印的熱感應標籤數量

服務類型

熱感應標籤 (FedEx CLS 將在回應中發回適當數量的標籤)

菲律賓入境貨件

2 張託運標籤,印上帳戶號碼

1 張收件人標籤,不會印上帳戶號碼

3 份商業發票副本

泰國入境商品類貨件

3 張託運標籤,印上帳戶號碼

1 張收件人標籤,不會印上帳戶號碼

泰國入境文件類貨件

2 張託運標籤,印上帳戶號碼

1 張收件人標籤,不會印上帳戶號碼

Doc-Tab

如果您使用熱敏打印機來列印託運標籤,您可選擇包含 Doc-Tab 的標籤庫;Doc-Tab 是一張可移除的黏性索引標籤,上面列有額外的託運資料。您可以從託運數據中配置這些託運資料,或選擇列印您的託運需要專屬的可配置數據。

鐳射標籤

FedEx API 支援使用鐳射打印機列印標籤。這些標籤通常列印在美國信件或 A4 紙上,並對摺一半,以放入標準 FedEx 標籤郵包內。使用鐳射打印機列印的標籤會以 PDF 格式生成,無須調整比例或更改尺寸。有關標籤庫的更多資訊,請參閱標籤庫類型

先決條件

以下要求適用於 PDF 標籤:

  • 需要 Adobe Reader 6.0 或以上版本,方可處理標籤。
  • 打印機驅動程式配置必須將打印機比例調整設定為無。
  • 在瀏覽器中顯示一般紙張 PDF 標籤,不須使用 HTML 封套。
  • Acrobat 建議使用以下瀏覽器來檢視 PDF 文件:
    • Microsoft Internet Explorer 10 或以上版本
    • Firefox 1.0 或以上版本
    • Mozilla 1.7 或以上版本

有了 PDF 標籤選項便無須再指明圖片方向參數 (寬度和高度) 或螢幕解像度,以在瀏覽器中正確顯示標籤。

鐳射標籤元素

鐳射託運標籤含有三項基本元素:

  • 人類可讀的內容 – 標籤的此部分含有託運資料。
  • 地面人類可讀條碼將預設為加密狀態。
  • 二維 (2D) 條碼 – 具維度且由英文字母和數字組成的條碼,會使用美國國家標準機構 (ANSI) 的 MH10.8.3 標準儲存 FedEx Express 和 FedEx Ground 貨件的數據。2D 條碼乃使用可攜數據檔案 (PDF) 417 格式建立而成。
  • FedEx 專屬條碼:
    • 直至 FDX 1D 條碼完全分階段引入,FedEx Express 貨件的 ASTRA (進階篩選查詢路線援助);FedEx Ground 和 FedEx Home Delivery 貨件的條碼「96」。FedEx Ground 亦允許在適用時使用 SSCC-18「00」條碼。
    • FedEx Express 貨件的 FedEx 1D (FDX1D) 條碼乃使用 ANSI/AIM BC4-1995 (統一符號學規範代碼-128C) 建立而成。

生成鐳射標籤的關鍵資料

以下是生成鐳射標籤所需的 FedEx API 元素:

  • LabelSpecification/LabelFormatType:在 Open Ship 回應 API 中接收正確的標籤圖像所必需:有效值為:
    • COMMON2D – 接收標籤的標籤格式類型。
    • LABEL_DATA_ONLY – 如果您建立了自訂標籤,此值將用於接收條碼數據。
  • LabelSpecification/ImageType:表示標籤格式所必需。數據串類型或要發回的位元圖:

    有效值為:

    • PDF – 一般紙張
    • PNG – 一般紙張
  • LabelSpecification/LabelStockType:所有標籤類型均必需。指明標籤庫是否在標籤首尾設有 Doc-Tab,或者沒有 Doc-Tab。當使用的 ImageType 為 PDF 或 PNG 時,這些值會顯示鐳射格式標籤:
    • PAPER_4X6
    • PAPER_4X8
    • PAPER_4X9
    • PAPER_4X675
      這些值會顯示一般紙張格式託運標籤:
    • PAPER_7X47
    • PAPER_85X11_BOTTOM_HALF_LABEL
    • PAPER_85X11_TOP_HALF_LABEL
    • PAPER_LETTER

請注意:如果您索取的是一般紙張標籤,所發回的數據將為 Base64 加密標籤圖片,必須經過 Base64 解密程序,方可顯示標籤檔案。

支援的鐳射打印機

大部分鐳射打印機均支援此標籤類型;然而,恕不接受以噴墨打印機列印的標籤。
請注意:如果您使用彩色鐳射打印機,即使該打印機只安裝了黑色墨盒,顏色定義亦應設定為黑色。

每項服務所需的鐳射標籤數量

以下表格標示了每種特別服務所需的每類標籤數量。所有必要標籤都會在呼叫 FedEx 通用標籤伺服器 (CLS) 後生成,CLS 將發回單次緩衝,惟貨到付款除外。退件標籤。

每項美國服務所列印的鐳射標籤數量

服務類型

鐳射標籤 - PDF 格式

FedEx Ground/FedEx Home Delivery 美國

1 張託運標籤

每項美國出口國際服務所列印的鐳射標籤數量

服務類型

鐳射標籤 - PDF 格式

FedEx Express 美國出口國際

回應中有 1 張託運標籤;必須列印至少 3 張標籤 – 包裹上 1 張標籤,文件郵包上 2 張。

FedEx Express 美國出口指定清關代理人選項

回應中有 1 張託運標籤;必須列印至少 3 張標籤 – 包裹上 1 張標籤,文件郵包上 2 張。

FedEx Ground 美國出口國際

1 張託運標籤

FedEx Ground 美國出口國際貨到付款

1 張託運標籤

2 張貨到付款退件標籤

每項墨西哥境內服務所列印的鐳射標籤數量

服務類型

鐳射標籤 - PDF 格式

FedEx Express 墨西哥境內

FedEx Express 墨西哥境內

非 DG (危險品)/乾冰貨件:

1 張託運標籤

每項加拿大境內服務所列印的鐳射標籤數量

服務類型

鐳射標籤 - PDF 格式

FedEx Express 加拿大境內

FedEx Express 加拿大境內

非 DG (危險品)/乾冰貨件:

1 張託運標籤

FedEx Ground 加拿大境內

1 張託運標籤

FedEx Ground 加拿大境內貨到付款

1 張託運標籤

2 張貨到付款退件標籤

每項加拿大出口國際服務所列印的鐳射標籤數量

服務類型

鐳射標籤 - PDF 格式

FedEx Express 加拿大出口國際

FedEx Express 加拿大出口國際

非 DG/乾冰貨件:

1 張託運標籤

2 張收件人標籤

FedEx Express 加拿大出口指定清關代理人選項

FedEx Express 加拿大出口指定清關代理人選項

非 DG/乾冰貨件:

1 張託運標籤

2 張收件人標籤

FedEx Ground 加拿大 (CA) 出口國際

1 張託運標籤

每項加拿大出口國際服務所列印的鐳射標籤數量

服務類型

鐳射標籤 - PDF 格式

FedEx Express 加拿大出口國際

FedEx Express 加拿大出口國際

非 DG/乾冰貨件:

1 張託運標籤

2 張收件人標籤

FedEx Express 加拿大出口指定清關代理人選項

FedEx Express 加拿大出口指定清關代理人選項

非 DG/乾冰貨件:

1 張託運標籤

2 張收件人標籤

FedEx Ground 加拿大 (CA) 出口國際

1 張託運標籤

每項菲律賓和泰國入境貨件所列印的鐳射標籤數量

服務類型

熱感應標籤 (FedEx CLS 將在回應中發回適當數量的標籤)

菲律賓入境貨件

2 張託運標籤,印上帳戶號碼

1 張收件人標籤,不會印上帳戶號碼

3 份商業發票副本

泰國入境商品類貨件

3 張託運標籤,印上帳戶號碼

1 張收件人標籤,不會印上帳戶號碼

泰國入境文件類貨件

2 張託運標籤,印上帳戶號碼

1 張收件人標籤,不會印上帳戶號碼

自訂標籤

FedEx 允許自訂由 FedEx 生成的標籤。您可根據您的業務來新增文字,並選擇 FedEx 文件和熱感應標籤之自訂部分所使用的條碼類型 (符號系統)。

為支援您的託運應用程式,FedEx Open Ship API 提供兩個選項,讓您自訂託運標籤:

  • 將 PNG 紙張 7 吋 x 4.75 吋的圖像放在標籤庫上。例如,您可於 8-1/2 吋 x 11 吋表格上建立包裝清單。作為此表格的一部分,您也可以放置 7 吋 x 4.75 吋 PNG 紙張圖像,而不是自行建立自訂標籤。
  • 新增圖像或檔案至 4 吋 x 8 吋或 4 吋 x 9 吋的熱感應標籤。此標籤尺寸為您的圖像或文字提供 2 吋的空間。

請注意:標籤的人類可讀內容和標籤共用部分的條碼不得修改。

自訂驗證器標籤

您可於包裝層級和貨件層級建立非託運自訂標籤,方法是指明您想要哪些自訂資料、如何調整該等資料的格式,以及將該等資料置於自訂標籤上的哪個位置。自訂標籤限於熱感應標籤格式。

自訂熱感應標籤

FedEx APi 提供兩種熱感應標籤格式,讓您透過圖像或文字檔案來進行自訂,以免需要建立自訂標籤。這些標籤支援所有 FedEx 託運服務。這些格式是:

  • 4 吋 x 8 吋熱感應標籤,無 Doc-Tab
  • 4 吋 x 9 吋熱感應標籤,有 Doc-Tab

這些標籤類型提供2吋的可自訂部分。此功能適用於設定為203 DPI或300 DPI之熱敏打印機所列印的熱感應標籤。

自訂標籤的規則

使用標籤格式的規則為:

  • 僅可自訂託運標籤。例如:如果您列印一張帶有您的標誌的 4 吋 x 8 吋 Express 託運標籤,那麼第二張收件人標籤將不會顯示此標誌。
  • 可自訂圖像或文字不得超過 2 吋高和 4-1/2 吋寬。
  • FedEx 恕不提供糾正。圖像和/或文字一經在託運服務中提交,即會送交列印。
  • 如果未提供列印圖像和/或文字所需的一切必要資料 (例如:X 和 Y 坐標),將發回有效的託運標籤,上面不會列出自訂資料。如果您嘗試重新建立印有圖像和/或文字的另一張標籤,必須取消該標籤所代表的貨件。
  • 對於203 DPI (8點/毫米)打印機解像度,關於X和Y坐標的擺位,插入點坐標數據為底部有Doc-Tab之4.00”x6.75”熱感應標籤的頂部和左側邊緣的交匯處。至於帶有頂部Doc-Tab的4.00”x6.75”熱感應標籤,將插入點坐標Y值增加164點。對於沒有Doc-Tab的4.00”x6.00”標籤,則將插入點坐標Y值加上8點。熱感應標籤元素屬性乃基於203 DPI (8點/毫米)打印機解像度。
  • 對於300 DPI (12點/毫米)打印機解像度,關於X和Y坐標的擺位,插入點坐標數據為底部有Doc-Tab之4.00”x6.75”熱感應標籤的頂部和左側邊緣的交匯處。至於帶有頂部Doc-Tab的4.00”x6.75”熱感應標籤,將插入點坐標Y值增加246點。對於沒有Doc-Tab的4.00”x6.00”標籤,則將插入點坐標Y值加上12點。熱感應標籤元素屬性乃基於300 DPI (12點/毫米)打印機解像度。
    請注意:
    • 對於FXD1D條碼,203 DPI打印機的X尺寸(符號中最窄一條的闊度)為15 mil (3點),300 DPI打印機則為13.3 mil (4點)。
    • 對於2D PDF-417條碼,203 DPI打印機的X尺寸為10 mil (2點)。要取得300 DPI打印機最接近的相等X尺寸,必須使用9.99 mil (3點)。
    • 對於標籤頂部的「寄件人/雜項」區塊,以及收件人資料下方使用極小型字體的「寄件人參考資料」區塊,標籤開發人員需要查看ZPL編程指引,以交叉比對字體集特徵,從而為其他不同打印頭解像度選擇相等效果的字體集。
  • 字元插入點為字串中第一個字元的左上角,位於大寫頂線上。
  • 打印機限制要求位置從正面左上象限開始。因此,資料有可能會在標籤的可自訂部分開始,並寫入至標籤上的 FedEx 部分 (實際熱感應標籤資料)。如果出現此情況,您的標誌或文字將被 FedEx 標籤資料覆蓋。您必須糾正此擺位以使用託運標籤。
  • 要將 Doc-Tab 資料添加至 4 吋 x 9 吋標籤,必須使用與標準 4 吋 x 6 吋 Doc-Tab 熱感應標籤相同之程序進行配置。

請注意:只可以加入單位元彩色圖片,因為標籤會以黑白列印。

自訂標籤圖像條目元素

API 為 FedEx Express 和 FedEx Ground 標籤提供 PNG (可攜網絡圖像) 圖片。PNG 標籤圖像是 API 所支援之熱感應或一般紙張標籤的複製品。此標籤選項可讓您將 PNG 標籤圖像置入您的標籤庫中,以防止需要建立自訂標籤。

使用託運文件中內嵌的 4 吋 x 6 吋 PNG 圖像時,需遵守以下要求:

  • 標籤庫
  • 打印機
  • 比例調整

標籤庫

4 吋 x 6 吋 PNG 標籤僅應用於一撕即貼的標籤庫。FedEx Ground 和 FedEx Express 標籤認證團隊會拒絕非列印於一撕即貼標籤庫的 4 吋 x 6 吋 PNG 標籤,包括任何列印於一般紙張上的標籤。

打印機

建議使用鐳射打印機來列印標籤。不應使用噴墨打印機,因為它們在建立可掃描條碼方面的表現不一致。即使打印機只安裝了黑色墨盒,4 吋 x 6 吋 PNG 標籤亦不得使用彩色打印機列印,除非顏色定義已設定為黑色。此設定很有必要,有助於在 FedEx 樞紐正確定義條碼,以便進行掃描。

比例調整

您的託運交易中發回的圖片為每吋 200 點 (DPI),尺寸為 4 吋 (寬) x 6 吋 (高) 或 800 x 1200 像素。此標籤以垂直方式定位,專門設計用來列印於 4 吋 x 6 吋的標籤區域上。列印出來後,標籤的尺寸應為 4 吋 x 6 吋。

要根據所需的 DPI 來列印標籤和條碼,您必須在列印前調整圖片比例 (或改變大小)。調整圖片比例的方式取決於您用於檢視及列印標籤的應用程式。要以吋為單位為 4 吋 x 6 吋標籤調整 PNG 圖片的比例:請使用 4 吋寬和 6 吋長的確切比例。

標籤查看核對清單

所有條碼

驗證必需:

  • 安全空間:條碼上方和下方必須有至少 0.1 吋的白色空間。
  • 安全空間:條碼左側和右側必須有至少 0.2 吋的白色空間。
  • 驗證所有條碼是否均符合最低高度要求。

列印質素

導致標籤被拒的常見問題:

  • 條碼拆分
  • 列印褪色/白色空隙
  • 重複出現的白色空隙 (滾筒問題)
  • 骯髒墨痕 (熱傳輸)
  • 剝落 (鐳射) 代表碳粉匣定著出現問題
  • 印品出現皺紋 (熱傳輸)
  • 直接熱感應標籤的列印對比度必須至少為 90%

Ground 標籤的人類可讀詳情

對於 FedEx Ground 標籤的人類可讀內容,以下事項為驗證所必需:

  • 資料與條碼相符
  • FedEx Ground 標誌:標誌可於 FedEx Identity 網站 fedex.com 下載。
  • FedEx Home Delivery 標誌:標籤必須有一個在方格內的大「H」字,距離收件地址 1' 範圍以內。該「H」字必須至少為 .25 吋x .70 吋。
  • 服務說明
  • 寄件人資料
  • 收件人資料
  • 郵區編號和路線
  • 託運日期
  • 實際重量
  • 顧客自動化裝置資料 (儀表、應用程式/系統、版本)
  • 尺寸
  • 雜項參考資料
  • 查詢號碼和表格 ID (查詢號碼必須為 14 位數字)
  • 機場停機坪 ID
  • 郵區編號

Express 標籤的人類可讀詳情

以下元素必須列印在標籤上,方可通過驗證:

  • FedEx Express 標誌:標誌可於 FedEx Identity 網站 fedex.com 下載。
  • 服務說明
  • 包裹類型,是否為國際包裹
  • 派送星期 (例如:星期一為 MON)
  • 送達日期
  • 儀表號碼
  • 託運日期
  • 所有多件包裹貨件的件數統計格式、主標籤詞句、客戶參考編號標籤詞句
  • 機場停機坪 ID
  • 郵區編號和路線
  • 通用運送路線及分類支援 (URSA) 路線前綴和後綴
  • 附加服務代號
  • 服務地區承諾
  • 收件人和寄件地的電話號碼
  • 重量
  • 體積 (如適用)
  • 參考欄位 (如為酒精貨件)
  • 查詢號碼和表格 ID (查詢號碼必須為 14 位數字)
  • 在 ASTRA 標籤上,12 位數字的查詢號碼位於 32 位字元條碼的位置 17 至 28。在新的 FDX 1D 條碼上,查詢號碼佔據了位置 21 至 34。FedEx Express 查詢號碼將繼續為 12 位數字。頭兩個位置將為零。

業務規則

以下規定適用於 Open Ship API:

  • 單件包裹亦可以建立及確認公開貨件。
  • 如果在貨件建立起第五日結束前未獲確認,公開貨件將被刪除。
  • 貨件確認後,不可再新增更多包裹至公開貨件。

JSON API 系列

Open Ship API (1.0)

Create Open Shipment

This endpoint helps you to create an openn shipment request with the required shipping information.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-createOpenShipment
  • MinimumSamplePayload-CreateOpenshipment
  • MinimumSamplePayload-CreateOpenshipmentAsynchronous
requestedShipment
required
object (OpenshipmentRequestedShipment)

The detailed transaction data for the requested Open Shipment.

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

openShipmentAction
string (OpenShipAction)
Enum: "STRONG_VALIDATION" "WEAK_VALIDATION" "CREATE_PACKAGE"

Indicates the optional actions that can be performed during the modification of packages in Open Shipment.

Here are the values:

  • CREATE_PACKAGE - Use CREATE_PACKAGE option to create Open Shipment.
  • STRONG_VALIDATION – Full shipment edits: any edit that fails will cause the transaction to fail. If the transaction is successful, a tracking number may be returned and the transaction will be saved to the database (committed).
  • WEAK_VALIDATION - Full shipment edits: any edit that fails will return errors but the transaction does not fail. The tracking number is returned and the transaction is saved in the database if the core edits are passed. Fix errors with the ModifyRequests transaction using the Index and returned tracking number.

index
string

This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.
Note: If index is not provided while create open shipment then the master tracking id of create open ship will act as index for the shipment.
Example: Test1234

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

post /ship/v1/openshipments/create

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/create

Production Server

https://apis.fedex.com/ship/v1/openshipments/create

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "requestedShipment":
    {
    },
  • "accountNumber":
    {
    },
  • "openShipmentAction": "CREATE_PACKAGE",
  • "index": "Test1234"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624dxxx6-b709-470c-8c39-4b55xxxxx492",
  • "customerTransactionId": "order123xxxx89",
  • "output":
    {
    }
}

Modify Open Shipment

This endpoint helps you to modify an Open shipment request with the required shipping information before the shipment is confirmed.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-modifyOpenShipment
  • MinimumSamplePayload-modifyOpenShipment
index
required
string

This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.
Example: Test1234

requestedShipment
required
object (OpenshipmentRequestedShipment)

The detailed transaction data for the requested Open Shipment.

openShipmentAction
string (OpenShipAction)
Enum: "STRONG_VALIDATION" "WEAK_VALIDATION" "CREATE_PACKAGE"

Indicates the optional actions that can be performed during the modification of packages in Open Shipment.

Here are the values:

  • CREATE_PACKAGE - Use CREATE_PACKAGE option to create Open Shipment.
  • STRONG_VALIDATION – Full shipment edits: any edit that fails will cause the transaction to fail. If the transaction is successful, a tracking number may be returned and the transaction will be saved to the database (committed).
  • WEAK_VALIDATION - Full shipment edits: any edit that fails will return errors but the transaction does not fail. The tracking number is returned and the transaction is saved in the database if the core edits are passed. Fix errors with the ModifyRequests transaction using the Index and returned tracking number.

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

put /ship/v1/openshipments/

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/

Production Server

https://apis.fedex.com/ship/v1/openshipments/

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "index": "Test1234",
  • "requestedShipment":
    {
    },
  • "openShipmentAction": "CREATE_PACKAGE",
  • "accountNumber":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "string",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Confirm Open Shipment

Use this endpoint to validate and upload the Open Ship shipment data to FedEx Systems once all packages are added in the Shipment request.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-confirmOpenShipment
  • MinimumSamplePayload-confirmOpenShipment
labelResponseOptions
required
string (LABELRESPONSEOPTIONS)
Enum: "URL_ONLY" "LABEL"

Specify whether the encoded bytecode or the label URL to be returned in the response.

Valid values:

  • LABEL – Indicates request is for encoded bytecode.
  • URL_ONLY – Indicates label URL request.
Note: For asynchronous shipment (More than 40 packages) request only the value LABEL is suported.



Note: With URL_ONLY option, the URL once created will be active for 12 hours.

edtRequestType
string
Enum: "ALL" "NONE"

Indicate whether to have estimated duties and taxes provided with the rate quotes on this shipment. Only applies for International Shipment.

labelSpecification
required
object (LabelSpecification)

These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label.

index
required
string

This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.
Example: Test1234

shippingDocumentSpecification
object (ShippingDocumentSpecification)

Use this object to provide all data required for additional (non-label) shipping documents to be produced.

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

post /ship/v1/openshipments/

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/

Production Server

https://apis.fedex.com/ship/v1/openshipments/

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "labelResponseOptions": "LABEL",
  • "edtRequestType": "ALL",
  • "labelSpecification":
    {
    },
  • "index": "Test1234",
  • "shippingDocumentSpecification":
    {
    },
  • "accountNumber":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "string",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Modify Open Shipment Packages

This endpoint helps you to modify packages in Open Shipment request with the required shipping information before the shipment is confirmed.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-modifyPackageInOpenShipment
  • MinimumSamplePayload-modifyPackageInOpenShipment
requestedPackageLineItem
required
object

Contains the data for the package that is to be modified in the open shipment.

index
required
string

This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.
Example: Test1234

shipAction
string
Enum: "STRONG_VALIDATION" "WEAK_VALIDATION" "CREATE_PACKAGE"

Allowed values are STRONG_VALIDATION

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

trackingId
required
object (TrackingId)

Indicates the tracking details for the package.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

put /ship/v1/openshipments/packages

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/packages

Production Server

https://apis.fedex.com/ship/v1/openshipments/packages

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "requestedPackageLineItem":
    {
    },
  • "index": "Test1234",
  • "shipAction": "STRONG_VALIDATION",
  • "accountNumber":
    {
    },
  • "trackingId":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Add Open Shipment Packages

This endpoint helps you to add packages to Open Shipment request with the required shipping information before the shipment is confirmed.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-addPackagesToOpenShipment
  • MinimumSamplePayload-addPackagesInOpenShipment
index
required
string

This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.
Example: Test1234

shipAction
string
Enum: "CONFIRM" "TRANSFER"

There are Ship actions as part of processing the shipment.

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

requestedPackageLineItems
required
Array of objects (RequestedPackageLineItem)

These are package line item details in the shipment.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

post /ship/v1/openshipments/packages

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/packages

Production Server

https://apis.fedex.com/ship/v1/openshipments/packages

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "index": "Test1234",
  • "shipAction": "STRONG_VALIDATION",
  • "accountNumber":
    {
    },
  • "requestedPackageLineItems":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Delete Open Shipment Packages

This endpoint helps you to delete packages from Open Shipment request with the required shipping information before the shipment is confirmed.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-deletePackagesFromOpenShipment
  • MinimumSamplePayload-deletePackagesOpenShipment
index
required
string

This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.
Example: Test1234

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

trackingIds
required
Array of objects (TrackingId)

One or more tracking IDs, for which the packages to be removed from the shipment.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

put /ship/v1/openshipments/packages/delete

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/packages/delete

Production Server

https://apis.fedex.com/ship/v1/openshipments/packages/delete

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "index": "Test1234",
  • "accountNumber":
    {
    },
  • "trackingIds":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624xxxxx-b709-470c-8c39-4b55112xxxxx",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Retrieve Open Shipment Package

This endpoint helps the user to RETRIEVE specific package request details of the Open Shipment that is created.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-retrievePackageInOpenShipment
  • MinimumSamplePayload-retrievePackageInOpenShipment
index
required
string

This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.
Example: Test1234

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

trackingId
required
object (TrackingId)

Indicates the tracking details for the package.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

post /ship/v1/openshipments/packages/retrieve

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/packages/retrieve

Production Server

https://apis.fedex.com/ship/v1/openshipments/packages/retrieve

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "index": "Test1234",
  • "accountNumber":
    {
    },
  • "trackingId":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624xxxxx-b709-470c-8c39-4b55112xxxxx",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

OpenShipmentDelete V1

This endpoint helps you to delete a Openshipment request with the required shipping information before the shipment is confirmed.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-deleteOpenShipment
  • MinimumSamplePayload-deleteOpenShipment
index
required
string

This is a unique value for the shipment (must be unique for stand-alone open shipments, or unique within consolidation if consolidation key is provide).
Example: Test1234

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

put /ship/v1/openshipments/delete

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/delete

Production Server

https://apis.fedex.com/ship/v1/openshipments/delete

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "index": "Test1234",
  • "accountNumber":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624xxxxx-b709-470c-8c39-4b55112xxxxx",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Retrieve Open Shipment

This endpoint helps the user to RETRIEVE the entire shipment request details of the OpenShipment that is created.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-RetrieveOpenShipment
  • MinimumSamplePayload-RetrieveOpenShipment
index
required
string

This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.
Example: Test1234

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

post /ship/v1/openshipments/retrieve

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/retrieve

Production Server

https://apis.fedex.com/ship/v1/openshipments/retrieve

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "index": "Test1234",
  • "accountNumber":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "XXX_ORDERXXXX789",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}

Get Open Shipment Results

This endpoint enables you to finalize the Open Shipment. Once an Open Shipment is confirmed, no further changes can be done.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
x-customer-transaction-id
string
Example: 624deea6-b709-470c-8c39-4b5511281492

This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

x-locale
string
Example: en_US

This indicates the combination of language code and country code. Click here to see Locales

authorization
required
string
Example: Bearer XXX

This indicates the authorization token for the input request.

Request Body schema: application/json
One of
  • FullSchema-getOpenShipmentResults
  • MinimumSamplePayload-getConfirmOpenShipmentResults
  • MinimumSamplePayload-getCreateOpenShipmentResults
  • MinimumSamplePayload-getModifyOpenShipmentResults
resultMethodType
required
string
Enum: "CREATE" "MODIFY" "CONFIRM"

The use of this method is to retrieve the results of the CREATE, MODIFY and CONFIRM events of Asynchronous flow.

  • CREATE- Customer will create Async shipment and will get jobId. Using the generated jobId in Get OpenShipment Results endpoint customer can retrieve the result of Create OpenShipment.
  • MODIFY- Customer will modify Async shipment and will get jobId. Using the generated jobId in Get OpenShipment Results endpoint customer can retrieve the result of Modify OpenShipment.
  • CONFIRM- Customer will confirm Async shipment and will get jobId. Using the generated jobId in Get OpenShipment Results endpoint customer can retrieve the result of Confirm OpenShipment.

jobId
required
string

Indicates the job under which the deferred shipment artifacts must be identified in the subsequent retrieval request.
Example: '89sxxxxx233ae24ff31xxxxx'

accountNumber
required
object (AccountNumber)

The account number associated with the shipment.
Example: Your account number

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

post /ship/v1/openshipments/results

Sandbox Server

https://apis-sandbox.fedex.com/ship/v1/openshipments/results

Production Server

https://apis.fedex.com/ship/v1/openshipments/results

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "resultMethodType": "CREATE",
  • "jobId": "89sxxxxx233ae24ff31xxxxx",
  • "accountNumber":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionId": "624xxxxx-b709-470c-8c39-4b55112xxxxx",
  • "customerTransactionId": "AnyCo_order123456789",
  • "output":
    {
    }
}
CLOSE

Response

Copy