Fedex Logo
Developer Portal

API Authorization

Giới thiệu

Các API của FedEx hỗ trợ phương thức xác thực bằng OAuth 2.0 (mã thông báo của người sở hữu) để ủy quyền các yêu cầu API ứng dụng của bạn bằng tài nguyên của FedEx. Mã thông báo truy cập OAuth này cần được tạo sau mỗi 60 phút và cung cấp với mỗi giao dịch API để xác thực và cho phép bạn truy cập vào tài nguyên của FedEx.

Chi tiết về API Ủy quyền

API này cho phép bạn ủy quyền các yêu cầu API và là công cụ cần thiết để xác thực các tài nguyên FedEx. Phần sau đây mô tả các điều kiện tiên quyết đối với API này:

Khi bạn đăng ký vào FedEx Developer Portal, FedEx cung cấp một tổ hợp gồm ID khách hàng (Mã API) và Mã bí mật của khách hàng (Mã khóa bí mật) để xác thực các yêu cầu API cho dự án của bạn. Mỗi dự án thuộc tổ chức của bạn được liên kết với một tổ hợp gồm ID khách hàng và Mã bí mật của khách hàng, được gọi là thông tin xác thực API.

Lưu ý: Khách hàng (Nội bộ, Tương thích, Chính/Phụ độc quyền và Tích hợp) có thể liên hệ với đại diện FedEx để nhận Mã API và Mã khóa bí mật.

Để cung cấp thêm một lớp bảo mật, khách hàng (Nội bộ, Tương thích, Chính/Phụ độc quyền và Tích hợp) của FedEx® có thể gửi Mã phụ (Mã bí mật của khách hàng) và Mã bí mật phụ (Mật khẩu của khách hàng) cùng Mã API và Mã khóa bí mật để tạo mã thông báo OAuth. Mã thông báo này được sử dụng trong mọi yêu cầu API để xác thực.

Bạn có thể tạo lại Mã khóa bí mật đã quên từ trang Dự án trên FedEx Developer Portal.

Lưu ý: Việc tạo mã khóa mới sẽ làm thay đổi mã trong ứng dụng của bạn.

Thông tin quan trọng trong tài liệu này:

  • Mã khách hàng là Mã API
  • Mã bí mật của khách hàng là Mã khóa bí mật
  • Mã phụ là Mã khách hàng
  • Mã bí mật phụ là Mật khẩu của khách hàng

Thông tin xác thực API phục vụ các mục đích sau:

  • Xác định dự án đang gọi API.
  • Ủy quyền truy cập vào API được kích hoạt trong dự án của bạn.

Cách nhận Thông tin xác thực API

Thông tin xác thực được tạo dựa trên thông tin đầu vào trong FedEx Developer Portal:

  • ID khách hàng – Mã API (ID khách hàng) được tạo khi dự án được tạo trên FedEx Developer Portal. Bạn cũng có thể xem Mã API liên kết với dự án trên trang Tổng quan dự án.
  • Mã bí mật của khách hàng – Bạn sẽ thấy Mã khóa bí mật (Mã bí mật của khách hàng) trên trang xác nhận sau khi dự án được tạo trên FedEx Developer Portal. Nếu cần, bạn cũng có thể tạo lại Mã khóa bí mật trên trang Tổng quan dự án.

Lưu ý: Các khách hàng (Nội bộ, Tương thích, Chính/Phụ độc quyền và Tích hợp) của FedEx® cần gửi Mã phụ (Mã bí mật của khách hàng) và Mã bí mật phụ (Mật khẩu của khách hàng) cùng Mã API và Mã khóa bí mật để tạo mã thông báo OAuth. Hãy tham khảo API Đăng ký thông tin xác thực để biết cách nhận Mã phụ và Mã bí mật phụ.

Phương thức hoạt động của API Ủy quyền

Ủy quyền cho API

Sau khi bạn có được thông tin xác thực API trên FedEx Developer Portal, điểm cuối OAuth sẽ được sử dụng để nhận mã thông báo truy cập làm thông tin xác thực với mỗi giao dịch API.

Sau đây là các thông tin đầu vào cần thiết liên kết với yêu cầu OAuth:

  • grant_type – Loại khách hàng. (Các giá trị hợp lệ: client_credentials, csp_credentials, client_pc_credentials)
  • client_id – Tức là Mã API của dự án.
  • client_secret – Tức là Mã khóa bí mật của API dự án.

Đối với khách hàng Nội bộ, Tương thích, Chính/Phụ độc quyền và Tích hợp của FedEx®, hãy gửi thêm các thông tin đầu vào bên dưới:

  • child_id – Mã khách hàng được trả về thông qua yêu cầu ở API Đăng ký thông tin xác thực.
  • child_secret – Mật khẩu của khách hàng được trả về thông qua yêu cầu ở API Đăng ký thông tin xác thực

Kết quả của yêu cầu này sẽ trả về thông tin bên dưới:

  • access_token – Mã thông báo OAuth được mã hóa cần sử dụng trong giao dịch API.
  • token_type – Loại mã thông báo. Trong trường hợp này, đó là xác thực người sở hữu.
  • expires_in – Thời gian hết hiệu lực của mã thông báo theo mili giây. Một giờ là thời gian hết hiệu lực thông thường của mã thông báo.
  • scope – Phạm vi ủy quyền mà người tiêu dùng nhận được.

Ví dụ

Yêu cầu:

POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=ID khách hàng của bạn&client_secret=Mã khóa bí mật của bạn

Phản hồi:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Yêu cầu đối với khách hàng Nội bộ, Tương Thích và Tích hợp của FedEx®:

POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=ID khách hàng&client_secret= Mã bí mật của khách hàng&child_key=Mã phụ&child_secret=Mã bí mật phụ

Phản hồi:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Yêu cầu đối với khách hàng Chính/Phụ độc quyền của FedEx®:

POST /oauth/token HTTP/1.1
grant_type= client_pc_credentials&client_id=Client ID&client_secret= Client secret&child_key=Child key&child_secret=Child Secret

Phản hồi:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Lưu ý: Mã thông báo truy cập sẽ hết hạn sau một giờ và có thể tạo lại bằng yêu cầu POST gửi tới điểm cuối oauth/mã thông báo.

API Authorization (1.0)

API Authorization

Use this endpoint to request the OAuth token (bearer token) to authorize your application to access FedEx resources. You can pass this bearer token in your subsequent individual FedEx API endpoint requests.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
content-type
required
string
Example: application/x-www-form-urlencoded

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.
Example: application/x-www-form-urlencoded

Request Body schema: application/x-www-form-urlencoded
grant_type
required
string

Specify Type of customer requesting the Oauth token.
Valid Values: client_credentials, csp_credentials, client_pc_credentials
Note:
client_credentials - should be used for customers, Integrators, and brand new Compatible Provider customers who are yet to unboard child accounts.
csp_credentials - should be used for Integrators, and Compatible Provider customers with existing child accounts.
client_pc_credentials – should be used for Proprietary Parent Child customers.

client_id
required
string

Specify the Client ID also known as API Key received during FedEx Developer portal registration.
Example: XXXX-XXX-XXXX-XXX

client_secret
required
string

Specify the Client secret also known as Secret Key received during FedEx Developer portal registration.
Example: XXXX-XXX-XXXX-XXX

child_Key
string

Specify the Client ID also known as Customer Key. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers.

child_secret
string

Specify the Client secret also known as Customer Secret. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers.

Responses

200

Success

401

Unauthorized

500

Failure

503

Service Unavailable

post /oauth/token

Sandbox Server

https://apis-sandbox.fedex.com/oauth/token

Production Server

https://apis.fedex.com/oauth/token

Request samples

Content type
application/x-www-form-urlencoded
Example
Copy
grant_type=client_credentials&client_id=Your_client_ID&client_secret=Your_secret

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……",
  • "token_type": "bearer",
  • "expires_in": 3600,
  • "scope": "CXS"
}
CLOSE

Response

Copy