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 o secondari) 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 o secondari) possono inviare la Chiave secondaria (Child Key o Customer Secret) e la Chiave segreta secondaria (Child Secret o 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. Fare 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.
Per i clienti FedEx® Internal, Compatible o Proprietary Parent Child, 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 o Compatible:
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.
Response