API Authorization
Introduktion
FedEx API:er har stöd för autentiseringsmetoden OAuth 2.0 (ägartoken) för att auktorisera ditt programs API-begäran med FedEx-resurser. Den här OAuth-åtkomsttoken måste återskapas var 60:e minut och tillhandahållas med varje API-transaktion för att autentisera och auktorisera din tillgång till FedEx-resurserna.
Information om API:et Auktorisering
Med detta API kan du godkänna API-förfrågningarna och det krävs för att verifiera FedEx-resurserna. Följande avsnitt beskriver förutsättningarna för API:et:
När man registrerar sig på FedEx Developer Portal tillhandahåller FedEx en kombination av klient-ID (API-nyckel) och klienthemlighet (Secret Key) för att verifiera API-förfrågningar för ditt projekt. Varje projekt under din organisation är associerat med en kombination av klient-ID och klienthemlighet, som åberopas som API-inloggningsuppgifter.
Obs! Kunder (interna, kompatibla, överordnade/underordnade ägare eller integratörer) kan kontakta en FedEx-representant för att få en API och hemliga nycklar.
För att ge ett extra lager av säkerhet kan FedEx®-kunder (interna, kompatibla, överordnade/underordnade ägare eller integratörer) skicka en underordnad nyckel (kundhemlighet) och ett underordnat lösenord (kundlösenord) utöver API-nyckeln och den hemliga nyckeln för att skapa en OAuth-token. Den här token används i varje API-begäran för autentisering.
Du kan återskapa den glömda hemliga nyckeln från sidan Projekt på FedEx Developer Portal.
Obs: Skapandet av nya nycklar kommer att resultera i att koden ändras i ditt program.
Viktig information i det här dokumentet:
- Klientnyckel som API-nyckel
- Klienthemlighet som hemlig nyckel
- Barnnyckel som kundnyckel
- Barnhemlighet som kundlösenord
API-inloggningsuppgifter tjänar följande syften:
- De identifierar projektet som anropar API:erna.
- De godkänner åtkomst till API:erna som är aktiverade under ditt projekt.
Så här skaffar du API-autentiseringsuppgifter
Autentiseringsuppgifter skapas baserat på uppgifter i FedEx Developer Portal:
- Klient-ID – API-nyckeln (klient-ID:t) skapas när ett projekt skapas på FedEx Developer Portal. Du kan också se API-nyckeln som är associerad med projektet på sidan Projektöversikt.
- Klienthemlighet – Du kommer att se den hemliga nyckeln (klienthemligheten) på bekräftelsesidan när ett projekt har skapats på FedEx Developer Portal. Vid behov kan den hemliga nyckeln också återskapas på sidan Projektöversikt.
Obs! FedEx®-kunder (interna, kompatibla, överordnade/underordnade ägare eller integratörer) behöver skicka en underordnad nyckel (kundhemlighet) och en underordnad hemlighet (kundlösenord) utöver API-nyckeln och den hemliga nyckeln för att skapa en OAuth-token. Se Credential Registration API för hur du får en underordnad nyckel och underordnad hemlighet.
Så här fungerar auktoriserings-API
API-auktorisering
När du har säkrat API-autentiseringsuppgifterna på FedEx Developer Portal använder du OAuth-slutpunkten för att få en åtkomsttoken som används som autentiseringsuppgift för varje API-transaktion.
Det här är de obligatoriska uppgifterna som associeras med OAuth-begäran:
- grant_type – Typ av kund. (Giltiga värden: client_credentials, csp_credentials, client_pc_credentials)
- client_id – Avser projektets API nyckel.
- client_secret – Avser projektets API hemliga nyckel.
FedEx®-kunder (interna, kompatibla, överordnade/underordnade ägare eller integratörer) behöver skicka följande extra uppgifter:
- child_id - Kundnyckel returneras via begäran från API:et Registrering av autentiseringsuppgifter.
- child_secret - Kundlösenord returneras via begäran från API:et Registrering av autentiseringsuppgifter
Resultatet av denna begäran ska returneras nedan:
- access_token - Den krypterade OAuth-token som måste användas i API-transaktionen.
- token_type - Typ av token. I det här fallet är det ägarautentisering.
- expires_in - Token utgångstid i millisekunder. Standard utgångstid för en Token är en timme.
- Omfattning - Omfattning av tillståndet som tillhandahålls till konsumenten.
Exempel
Begäran:
POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=your client ID&client_secret=Your secret
Svar:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Begäran för FedEx®-kunder (interna, kompatibla eller integratörer):
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
Svar:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Begäran för FedEx®-kunder som är överordnade/underordnade ägare:
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
Svar:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Obs: Åtkomst-token löper ut om en timme, det kan genereras igen genom att använda en POST-begäran till slutpunkten för oauth/token.
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. |
Request Body schema: application/x-www-form-urlencoded
grant_type required | string Specify Type of customer requesting the Oauth token. |
client_id required | string Specify the Client ID also known as API Key received during FedEx Developer portal registration. |
client_secret required | string Specify the Client secret also known as Secret Key received during FedEx Developer portal registration. |
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. |
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. |
Responses
Success
Unauthorized
Failure
Service Unavailable
Sandbox Server
Production Server
Request samples
- Payload
- C#
- JAVA
- JAVASCRIPT
- PHP
- PYTHON
- RUST
- SWIFT
grant_type=client_credentials&client_id=Your_client_ID&client_secret=Your_secret
Response samples
- 200
- 401
- 500
- 503
- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……",
- "token_type": "bearer",
- "expires_in": 3600,
- "scope": "CXS"
Response