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 eller Proprietary Parent Child) 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 eller Proprietary Parent Child) 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 eller Proprietary Parent Child) 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.
For FedEx® Internal-, Compatible- eller Proprietary Parent Child-kunder sendes nedenstående ekstra indtastningsdata:
- 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- eller Compatible-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.
Response