API Authorization
Introduzione
Le API FedEx supportano il metodo di autenticazione OAuth 2.0 (bearer token) per autorizzare le vostre richieste API con le risorse FedEx. Questo token di accesso OAuth deve essere rigenerato ogni 60 minuti e fornito con ogni transazione API per autenticare e autorizzare il vostro accesso alle risorse FedEx.
Dettagli API autorizzazione
Questa API consente di autorizzare le richieste API ed è necessaria per autenticare le risorse FedEx. La sezione seguente descrive i prerequisiti per l'API:
Al momento della registrazione sul FedEx Developer Portal, FedEx fornisce una combinazione di Client ID (Chiave API) e Client Secret (Chiave Segreta) per autenticare le richieste API per il vostro progetto. Ogni progetto nella vostra organizzazione è associato a una combinazione di Client ID e Client Secret, che prende il nome di credenziali API.
Nota: i clienti (Internal, Compatible, Proprietary Parent Child e Integrator) possono contattare il referente Commerciale FedEx per ottenere chiavi API e chiavi segrete.
Per fornire un ulteriore livello di sicurezza, i clienti FedEx® (Internal, Compatible, Proprietary Parent Child e Integrator) possono inviare la chiave secondaria (Customer Secret) e la chiave segreta secondaria (password cliente) oltre alle chiavi API e alle chiavi Segrete per la creazione di un token OAuth. Questo token viene utilizzato in ogni richiesta API per l'autenticazione.
Potete ricreare la Chiave Segreta dimenticata dalla pagina dei Progetti sul FedEx Developer Portal.
Nota: la creazione di nuove chiavi comporterà una modifica di codice nella vostra applicazione.
Informazioni importanti contenute in questo documento:
- Chiave Client come Chiave API
- Client Secret come Chiave Segreta
- Chiave secondaria come Chiave Cliente
- Chiave segreta secondaria come Password Cliente
Le credenziali API sono utilizzate ai seguenti scopi:
- Identificano il progetto che effettua una richiesta alle API.
- Autorizzano l'accesso alle API abilitate nel vostro progetto.
Come ottenere credenziali API
Le credenziali vengono create sulla base dei dati inseriti nel FedEx Developer Portal:
- Client ID – La Chiave API (Client ID) viene generata una volta creato un progetto sul FedEx Developer Portal. Potete anche visualizzare la Chiave API associata al progetto alla pagina Panoramica progetto.
- Client Secret – Visualizzerete la Chiave Segreta (Client Secret) alla pagina di conferma una volta creato un progetto sul FedEx Developer Portal. Se necessario, la Chiave Segreta può essere rigenerata alla pagina della Panoramica progetto.
Nota: i clienti FedEx® (Internal, Compatible o secondari) devono inviare la Chiave secondaria (Customer Secret) e la Chiave segreta secondaria (password cliente) oltre alla Chiave API e alla Chiave Segreta per la creazione del token OAuth. Fate riferimento all'API registrazione credenziali per informazioni su come ottenere la chiave secondaria e la chiave segreta secondaria.
Come funziona l'API autorizzazione
Autorizzazione API
Dopo aver messo in sicurezza le credenziali API sul FedEx Developer Portal, l'endpoint OAuth viene usato per ottenere un token di accesso da utilizzare come credenziali a ogni transazione API.
Di seguito sono riportate le informazioni di input necessarie associate alla richiesta OAuth:
- grant_type – Tipo di cliente. (Valori validi: client_credentials, csp_credentials, client_pc_credentials)
- client_id – Si riferisce alla Chiave API del Progetto.
- client_secret – Si riferisce alla Chiave Segreta API del Progetto.
I clienti FedEx® Internal, Compatible, Proprietary Parent Child e Integrator devono inviare i seguenti input aggiuntivi:
- child_id – Chiave del cliente restituita tramite la richiesta dell'API registrazione credenziali.
- child_secret – Password del cliente restituita tramite la richiesta dell'API registrazione credenziali
Il risultato di questa richiesta dovrebbe restituire quanto indicato di seguito:
- access_token – Il token OAuth crittografato da utilizzare nella transazione API.
- token_type – Tipo di token. In questo caso, si tratta di autenticazione al portatore.
- expires_in – È il tempo di scadenza del token in millisecondi. Un'ora è il tempo di scadenza standard del token.
- Scope – Scopo dell'autorizzazione fornita al consumatore.
Esempi
Richiesta:
POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=your client ID&client_secret=Your secret
Risposta:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Richiesta per clienti FedEx® Internal, Compatible e Integrator:
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
Risposta:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Richiesta per clienti FedEx® Proprietary Parent Child:
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
Risposta:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Nota: il token di accesso scade dopo un'ora, può essere rigenerato utilizzando una richiesta POST all'endpoint 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