API Authorization
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 klanten, compatibele klanten, eigen bovenliggende en onderliggende klanten en integraties) kunnen contact opnemen met een FedEx-vertegenwoordiger om API- en geheime sleutels te verkrijgen.
Voor een extra beveiligingslaag kunnen de FedEx®-klanten (interne klanten, compatibele klanten, eigen bovenliggende en onderliggende klanten en integraties) 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 klanten, compatibele klanten, eigen bovenliggende en onderliggende klanten en integraties) 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 interne klanten, compatibele klanten, eigen bovenliggende en onderliggende klanten en integratie-klanten van FedEx® 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 interne klanten, compatibele klanten, eigen bovenliggende en onderliggende klanten en integratie-klanten van FedEx®:
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.
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