Úvod
Rozhraní API společnosti FedEx podporují metodu ověření OAuth 2.0 (token držitele) k autorizaci žádostí aplikace rozhraní API s využitím prostředků společnosti FedEx. Tento token musí být opětovně generován každých 60 minut a musí být poskytnut při každé transakci rozhraní API za účelem ověření a autorizace přístupu k prostředkům společnosti FedEx.
Podrobné informace o rozhraní API pro autorizaci
Toto rozhraní API umožňuje autorizovat požadavky API a je vyžadováno k autorizaci zdrojů FedEx. Následující oddíl popisuje požadavky pro toto rozhraní API:
Když se zaregistrujete na portálu FedEx Developer, FedEx vám poskytne kombinaci ID klienta (klíč rozhraní API) a tajného kódu klienta (tajný klíč) k ověřování požadavků rozhraní API přidružených k vašemu projektu. Tato kombinace ID klienta a tajného kódu klienta, která se označuje jako přihlašovací údaje rozhraní API, je přidružena ke každému projektu v rámci vaší organizace.
Poznámka: Pokud chtějí zákazníci (Internal, Compatible nebo Proprietary Parent Child) získat klíč rozhraní API a tajné klíče, mohou kontaktovat zástupce společnosti FedEx.
V rámci zajištění další úrovně zabezpečení musí zákazníci FedEx® (Internal, Compatible nebo Proprietary Parent Child) odeslat kromě klíče rozhraní API a tajného klíče také podřízený klíč (tajný kód zákazníka) a podřízený tajný kód (heslo zákazníka), aby se vytvořil token OAuth. Token se používá při požadavku na ověření rozhraní API.
Pokud jste svůj tajný klíč zapomněli, můžete si ho znovu vytvořit na stránce Projekty na webu FedEx Developer Portal.
Poznámka: Vytvoření nového klíče bude mít za následek změnu kódu v aplikaci.
Důležité informace v tomto dokumentu:
- klíč klienta jako klíč rozhraní API
- tajný kód klienta jako tajný klíč
- podřízený klíč jako klíč zákazníka
- podřízený tajný kód jako heslo zákazníka
Pověření rozhraní API slouží k následujícím účelům:
- Identifikují projekt, který volá rozhraní API.
- Autorizují přístup k rozhraním API, která jsou ve vašem projektu povolena.
Jak získat přihlašovací údaje rozhraní API
Pověření jsou vytvářena na základě vstupů na FedEx Developer Portal:
- ID klienta – Jakmile na portálu FedEx Developer Portal vytvoříte projekt, vytvoří se klíč API (ID klienta). Klíč API spojený s projektem, který lze zobrazit rovněž na stránce Přehled projektu.
- Tajný kód klienta – Jakmile na portálu FedEx Developer Portal vytvoříte projekt, na stránce s potvrzením uvidíte tajný klíč (tajný kód klienta). V případě potřeby lze na stránce Přehled projektu tajný klíč vytvořit znovu.
Poznámka: Zákazníci FedEx® (Internal, Compatible nebo Proprietary Parent Child) musejí pro vytvoření tokenu OAuth kromě klíče API a tajného klíče odeslat také podřízený klíč (tajný kód zákazníka) a podřízený kód (heslo zákazníka). Informace o tom, jak získat podřízený klíč a podřízený kód, viz část Rozhraní API pro registraci pověření.
Jak funguje rozhraní API pro autorizaci
Rozhraní API pro autorizaci
Jakmile získáte pověření API na portálu FedEx Developer Portal, koncový bod OAuth se využije k získání přístupového tokenu, který bude sloužit jako pověření pro každou transakci rozhraní API.
Požadované vstupy přidružené k požadavku OAuth:
- grant_type – Typ zákazníka. (Platné hodnoty: client_credentials, csp_credentials, client_pc_credentials)
- client_id – Odkazuje na Klíč API projektu.
- client_secret – Odkazuje na tajný klíč API projektu.
Pro zákazníky FedEx® Internal, Compatible nebo Proprietary Parent Child odešlete níže uvedené dodatečné vstupní údaje:
- child_id – Klíč zákazníka získaný prostřednictvím požadavku na Rozhraní API pro registraci pověření.
- child_secret – Heslo zákazníka získané prostřednictvím požadavku na rozhraní API pro registraci pověření.
Výsledkem tohoto požadavku by měla být některá z níže uvedených možností:
- access_token – Zašifrovaný token OAuth, který je třeba použít při transakci rozhraní API.
- token_type – Typ tokenu. V tomto případě je to ověření držitele.
- expires_in – Čas vypršení platnosti tokenu v milisekundách. Standardní doba platnosti tokenu je jedna hodina.
- Scope – Rozsah autorizace poskytnuté spotřebiteli.
Příklady
Požadavek:
POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=your client ID&client_secret=Your secret
Odpověď:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Požadavek pro zákazníky FedEx® Internal nebo Compatible:
POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=Client ID&client_secret= Client secret&child_key=Child key&child_secret=Child Secret
Odpověď:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Požadavek pro zákazníky 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
Odpověď:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Poznámka: Platnost přístupového tokenu vyprší za jednu hodinu, lze ho obnovit pomocí požadavku POST na koncový bod oauth/tokenu.
Response