API Authorization
Introduktion
FedEx-API'erne understøtter OAuth 2.0 (bærertoken)- godkendelsesmetoden til godkendelse af dine applikations-API-anmodninger med FedEx-ressourcer. Denne OAuth-adgangstoken skal genskabes hvert 60. minut og leveres sammen med hver API-transaktion for at godkende og autorisere din adgang til FedEx-ressourcerne.
Detaljer om API til autorisation
Dette API giver dig mulighed for at godkende API-anmodninger, og det er påkrævet for at godkende FedEx-ressourcerne. Følgende sektion beskriver betingelserne for API'et:
Når du tilmelder dig FedEx Developer-portal, leverer FedEx en kombination af kunde-id (API-nøgle) og kundehemmelighed (hemmelig nøgle) til at godkende API-anmodninger til dit projekt. Hvert projekt i din organisation er forbundet med en kombination af kunde-id og kundehemmelighed, kaldet API-legitimationsoplysninger.
Bemærk: Kunder (Intern, Compatible, Proprietary Parent Child og Integrators) kan kontakte en FedEx-medarbejder for at få API'er og hemmelige nøgler.
For at give et ekstra sikkerhedslag kan FedEx®-kunder (Internal, Compatible, Proprietary Parent Child og Integrators) sende den underordnede nøgle (kundehemmelighed) og den underordnede hemmelighed (kundeadgangskode) sammen med API-nøglen og den hemmelig nøgle for at oprette en OAuth-token. Denne token bruges i alle API-anmodninger til godkendelse.
Du kan genskabe den glemte hemmelige nøgle på projektsiden på FedEx Developer Portal.
Bemærk: Oprettelse af nye nøgler vil føre til kodeændring i din applikation.
Vigtig information i dette dokument:
- Kundenøgle som API-nøgle
- Kundehemmelighed som hemmelig nøgle
- Underordnet nøgle som kundenøgle
- Nøglehemmelighed som kundeadgangskode
API-legitimationsoplysninger opfylder følgende formål:
- De identificerer det projekt, der foretager et opkald til API'erne.
- De autoriserer adgang til de API'er, der er aktiveret under dit projekt.
Sådan får du API-legitimationsoplysninger
Legitimationsoplysninger oprettes baseret på indtastede data i FedEx Developer Portal:
- Kunde-ID – API-nøgle (kunde-ID) bliver oprettet, så snart et projekt er oprettet på FedEx Developer Portal. Du kan også se den API-nøgle, som er forbundet med projektet på projektoversigtsiden.
- Kundehemmelighed – Du kan se den hemmelige nøgle (kundehemmelighed) på bekræftelsessiden, når et projekt er oprettet på FedEx Developer Portal. Hvis det er nødvendigt, kan den hemmelige nøgle også gendannes på projektoversigtsiden.
Bemærk: FedEx®-kunder (Internal, Compatible, Proprietary Parent Child og Integrators) skal sende den underordnede nøgle (kundehemmelighed) og den underordnede hemmelighed (kundeadgangskoden) sammen med API-nøglen og den hemmelige nøgle for at oprette en OAuth-token. Se legitimationsregistrerings-API for at få adgang til underordnet nøgle og underordnet hemmelighed.
Sådan fungerer API til autorisation
API til autorisation
Når du har sikret API-legitimationsoplysningerne på FedEx Developer Portal, skal du bruge dette OAuth-slutpunkt for at få en adgangs-token, der skal bruges som legitimationsoplysning sammen med hver API-transaktion.
Herunder vises de påkrævede indtastningsdata, der er forbundet med denne OAuth-anmodning:
- grant_type – Kundetype. (Gyldige værdier: client_credentials, csp_credentials, client_pc_credentials)
- client_id – Henviser til projektets API-nøgle.
- client_secret – Henviser til projektets hemmelige API-nøgle.
FedEx® Internal-, Compatible-, Proprietary Parent Child og Integrator-kunder skal sende nedenstående ekstra oplysninger:
- child_id – Kundenøgle returneret gennem API-anmodning om legitimationsregistrering.
- child_secret – Kundeadgangskode returneret gennem API-anmodning om legitimationsregistrering
Resultatet af denne anmodning bør returnere nedenstående:
- access_token – Den krypterede OAuth-token, som skal bruges i API-transaktionen.
- token_type – Tokentype. I dette tilfælde er det bærergodkendelse.
- expires_in – Token-udløbstidspunkt i millisekunder. En time er det normale udløbstidspunkt for Token.
- Omfanget – Omfanget af tilladelsen til kunden.
Eksempler
Anmodning:
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″
}
Anmodning for FedEx® Internal-, Compatible- og Integrator-kunder:
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″
}
Anmodning for FedEx® Proprietary Parent Child-kunder:
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″
}
Bemærk: Adgangs-token udløber om en time. Den kan regenereres ved at bruge en POST-anmodning til oauth/token- slutpunktet.
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