Inleiding
De API's van FedEx ondersteunen de verificatiemethode OAuth 2.0 (bearer-token) om uw API-aanvragen te autoriseren voor toepassingen met FedEx-bronnen. Dit OAuth-toegangstoken moet na elke 60 minuten worden gegenereerd en bij elke API-transactie worden verstrekt om uw toegang tot de FedEx-bronnen te verifiëren en te autoriseren.
Details over de autorisatie-API
Met deze API kunt u de API-verzoeken autoriseren. De API is vereist om de FedEx-bronnen te verifiëren. In de volgende sectie worden de vereisten voor de API beschreven:
Tijdens de registratie bij de FedEx Developer Portal biedt FedEx een combinatie van een klant-id (API-sleutel) en klantgeheim (geheime sleutel) om API-verzoeken voor uw project te verifiëren. Elk project onder uw organisatie is gekoppeld aan een combinatie van een klant-id en klantgeheim, API-toegangsgegevens genoemd.
Opmerking: klanten (interne, compatibele of eigen bovenliggende en onderliggende klanten) kunnen contact opnemen met een vertegenwoordiger van FedEx om API- en geheime sleutels te verkrijgen.
Voor een extra beveiligingslaag kunnen de FedEx®-klanten (interne, compatibele of bovenliggende en onderliggende klanten) naast de API-sleutel en geheime sleutel ook een onderliggende sleutel (klantgeheim) en onderliggend geheim (klantwachtwoord) verzenden om een OAuth-token aan te maken. Dit token wordt gebruikt in elke API-aanvraag voor autorisatie.
U kunt de vergeten geheime sleutel opnieuw aanmaken vanaf de pagina Projecten op de FedEx Developer Portal.
Opmerking: Het maken van nieuwe sleutels leidt tot wijziging van code in uw toepassing.
Belangrijke informatie in dit document:
- Klantsleutel als API-sleutel
- Klantgeheim als geheime sleutel
- Onderliggende sleutel als klantsleutel
- Onderliggend geheim als klantwachtwoord
API-toegangsgegevens zijn bedoeld voor de volgende doeleinden:
- Ze identificeren het project dat een oproep aan de API doet.
- Ze autoriseren toegang tot de API's die onder uw project zijn ingeschakeld.
API-referenties ontvangen
Toegangsgegevens worden aangemaakt op basis van de invoergegevens in de FedEx Developer Portal:
- Klant-id – De API-sleutel (klant-id) wordt aangemaakt zodra een project wordt aangemaakt op de FedEx Developer Portal. U kunt de aan het project gekoppelde API-sleutel ook bekijken op de pagina Projectoverzicht.
- Klantgeheim – U ziet de geheime sleutel (klantgeheim) op de bevestigingspagina zodra een project wordt aangemaakt op de FedEx Developer Portal. Indien nodig kan de geheime sleutel ook opnieuw worden gegenereerd, op de pagina Projectoverzicht.
Opmerking: FedEx®-klanten (interne, compatibele of eigen bovenliggende en onderliggende klanten) moeten naast de API-sleutel en geheime sleutel ook een onderliggende sleutel (klantgeheim) en onderliggend geheim (klantwachtwoord) verzenden om een OAuth-token aan te maken. Raadpleeg Gegevensregistratie-API voor het verkrijgen van een onderliggende sleutel en een onderliggend geheim.
De autorisatie-API gebruiken
Autorisatie-API
Zodra u de API-toegangsgegevens op de FedEx Developer Portal hebt veiliggesteld, gebruikt u het OAuth-eindpunt om een toegangstoken te krijgen dat u bij elke API-transactie als inloggegevens kunt gebruiken.
Dit zijn de verplichte invoergegevens die gekoppeld zijn aan het OAuth-verzoek:
- grant_type – Type klant. (Geldige waarden: client_credentials, csp_credentials, client_pc_credentials)
- client_id – Refereert aan de API-sleutel van het project.
- client_secret – Refereert aan de geheime API-sleutel van het project.
Voor FedEx®-klanten (interne, compatibele of eigen bovenliggende en onderliggende klanten) moeten de onderstaande extra inputs worden meegestuurd:
- child_id – Geretourneerde klantsleutel via aanvraag voor gegevensregistratie-API.
- child_secret – Geretourneerd klantwachtwoord via aanvraag voor gegevensregistratie-API.
Het resultaat van deze aanvraag hoort het volgende weer te geven:
- access_token – Het versleutelde OAuth-token dat gebruikt moet worden in de API-transactie.
- token_type – Type token. In dit geval is het bearer-verificatie.
- expires_in – Vervaltijd van token in milliseconden. De vervaltijd van een token is standaard een uur.
- Scope – Omvang van de aan de consument verstrekte autorisatie.
Voorbeelden
Verzoek:
POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=uw klant-id&client_secret=uw geheim
Antwoord:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Aanvraag voor FedEx ® interne or compatibele klanten:
POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=klant-id&client_secret= klant geheim&child_key=onderliggende sleutel&child_secret=onderliggend geheim
Antwoord:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Aanvraag voor FedEx® eigen bovenliggende en onderliggende klanten:
POST /oauth/token HTTP/1.1
grant_type= client_pc_credentials&client_id=klant-id&client_secret= klantgeheim&child_key=onderliggende sleutel&child_secret=onderliggend geheim
Antwoord:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Opmerking: Het toegangstoken verloopt na een uur. Het kan opnieuw worden gegenereerd met behulp van een POST-verzoek naar het oauth/token-eindpunt.
Response