Fedex Logo

Wprowadzenie

Interfejsy API FedEx obsługują autoryzację żądań API aplikacji dotyczących zasobów FedEx przy użyciu metody uwierzytelniania OAuth 2.0 (token okaziciela). Token dostępu OAuth musi być ponownie generowany co 60 minut i podawany przy każdej transakcji API na potrzeby uwierzytelnienia i autoryzacji dostępu do zasobów FedEx.

Szczegóły interfejsu autoryzacji API

Ten interfejs API umożliwia autoryzowanie żądań API i jest wymagany do uwierzytelniania zasobów FedEx. Poniższa sekcja zawiera wymagania wstępne dotyczące interfejsu API:

Podczas rejestrowania w FedEx Developer Portal udostępnia kombinację identyfikatora klienta (klucza API) i klucza tajnego klienta (klucza tajnego) na potrzeby uwierzytelniania żądań API dotyczących Twojego projektu. Każdy projekt w organizacji jest powiązany z kombinacją identyfikatora klienta i klucza tajnego klienta wywoływaną jako poświadczenia API.

Uwaga: klienci (korzystający z rozwiązania Internal, Compatible lub Proprietary Parent Child) mogą skontaktować się z przedstawicielem FedEx, aby uzyskać klucz API i klucz tajny.

Aby zapewnić dodatkową warstwę zabezpieczeń, klienci FedEx® (korzystający z rozwiązania Internal, Compatible lub Proprietary Parent Child) mogą oprócz klucza API i klucza tajnego wysłać również klucz podrzędny (klucz tajny klienta) i podrzędny klucz tajny (hasło klienta) w celu utworzenia tokena OAuth. Ten token jest używany w każdym żądaniu API na potrzeby autoryzacji.

Zapomniany klucz tajny można utworzyć ponownie na stronie Projects (Projekty) w FedEx Developer Portal.

Uwaga: utworzenie nowych kluczy spowoduje zmianę kodu w aplikacji.

Ważne informacje w tym dokumencie:

  • Klucz klienta oznacza klucz API
  • Klucz tajny klienta oznacza klucz tajny
  • Klucz podrzędny oznacza klucz klienta
  • Podrzędny klucz tajny oznacza hasło klienta

Zastosowania poświadczeń API:

  • Identyfikacja projektu wywołującego API.
  • Autoryzacja dostępu do API włączonych dla projektu.

Jak uzyskać poświadczenia interfejsu API

Poświadczenia są tworzone w oparciu o dane wprowadzane w portalu FedEx Developer Portal:

  • Client ID — klucz API Key (Client ID) jest tworzony po utworzeniu projektu w FedEx Developer Portal. Klucz API powiązany z projektem możesz też wyświetlić na stronie Project Overview (Przegląd projektu).
  • Client Secret — klucz tajny (Client Secret) jest wyświetlany na stronie potwierdzenia po utworzeniu projektu w FedEx Developer Portal. W razie potrzeby możesz ponownie wygenerować klucz tajny na stronie Project Overview (Przegląd projektu).

Uwaga: klienci FedEx® (korzystający z rozwiązania Internal, Compatible lub w układzie nadrzędno-podrzędnym) muszą wysłać ID użytkownika podrzędnego (Child Key) i klucz tajny (Child Secret) użytkownika podrzędnego. Aby dowiedzieć się, jak uzyskać klucz podrzędny i podrzędny klucz tajny, należy zapoznać się z informacjami na temat interfejsu API rejestracji poświadczeń.

Jak działa interfejs API autoryzacji

Autoryzacja w interfejsie API

Po uzyskaniu przez użytkownika poświadczeń API w FedEx Developer Portal punkt końcowy OAuth jest używany w celu uzyskania tokena dostępu, który będzie używany jako poświadczenia w przypadku każdej transakcji API.

Poniżej znajdują się wymagane informacje wejściowe powiązane z tym żądaniem OAuth:

  • grant_type — typ klienta. (prawidłowe wartości: client_credentials, csp_credentials, client_pc_credentials)
  • client_id — odwołuje się do klucza API projektu.
  • client_secret — odwołuje się do tajnego klucza API projektu.

W przypadku klientów korzystających z rozwiązania FedEx® Internal, Compatible lub Proprietary Parent Child należy wysłać poniższe dodatkowe informacje wejściowe:

  • child_id — klucz klienta zwrócony w wyniku żądania interfejsu API rejestracji poświadczeń.
  • child_secret — hasło klienta zwrócone w wyniku żądania interfejsu API rejestracji poświadczeń.

W wyniku tego żądania powinny zostać zwrócone następujące dane:

  • access_token — zaszyfrowany token OAuth, który musi zostać użyty w transakcji API.
  • token_type — typ tokena. W tym przypadku jest to uwierzytelnianie okaziciela.
  • expires_in — czas wygaśnięcia tokena w milisekundach. Jedna godzina to standardowy czas wygaśnięcia tokena.
  • Scope — zakres autoryzacji dla klienta.

Przykłady

Żądanie:

POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=ID_klienta&client_secret=klucz_tajny

Odpowiedź:

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

Żądanie w przypadku klientów korzystających z rozwiązania FedEx® Internal lub Compatible:

POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=ID_klienta&client_secret=klucz_tajny_klienta&child_key=klucz_podrzędny&child_secret=podrzędny_klucz_tajny

Odpowiedź:

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

Format żądania dotyczące klientów korzystających z rozwiązania FedEx® Proprietary Parent Child:

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

Odpowiedź:

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

Uwaga: token dostępu wygasa po godzinie. Może on zostać ponownie wygenerowany przy użyciu żądania POST wysłanego do punktu końcowego oauth/token.

CLOSE

Response

Copy