Giriş
FedEx API'leri, API taleplerinizi FedEx kaynaklarıyla yetkilendirmek için OAuth 2.0 (taşıyıcı belirteci) kimlik doğrulama yöntemini kullanır. Bu OAuth erişim belirtecinin her 60 dakikada bir yeniden oluşturulması ve FedEx kaynaklarına erişiminizi doğrulamak ve yetkilendirmek için her API işlemiyle birlikte sağlanması gerekir.
Yetkilendirme API'si Ayrıntıları
Bu API, API isteklerini yetkilendirmenize izin verir ve FedEx kaynaklarının kimliğini doğrulamak için gereklidir. Aşağıdaki bölümde API için ön gereksinimler anlatılmıştır:
FedEx Developer Portal'a kayıt olurken FedEx projenizle ilgili API isteklerinin kimliğini doğrulamak için bir İstemci Kimliği (API Anahtarı) ve İstemci Gizli Anahtarı (Gizli Anahtar) kombinasyonu verir. Kurumunuzdaki her proje, API kimlik bilgileri olarak adlandırılan bir İstemci Kimliği ve İstemci Gizli Anahtarı kombinasyonuyla ilişkilidir.
Not: Müşteriler (Internal, Compatible veya Proprietary Parent Child) API ve Gizli Anahtarları elde etmek için FedEx temsilcisiyle iletişime geçebilir.
Ekstra güvenlik katmanı için FedEx® (Internal, Compatible veya Proprietary Parent Child), bir OAuth belirteci oluştururken API Anahtarına ve Gizli Anahtara ek olarak Alt Anahtar (Müşteri Gizli Anahtarı) ve Alt Gizli Anahtar (Müşteri parolası) gönderebilir. Bu belirteç her API isteğinde kimlik doğrulama için kullanılır.
Unutulan Gizli Anahtarı, FedEx Developer Portal'daki Projeler sayfasından yeniden oluşturabilirsiniz.
Not: Yeni anahtarların oluşturulması, uygulamanızda kod değişikliğiyle sonuçlanacaktır.
Bu belgedeki önemli bilgiler:
- API Anahtarı olarak İstemci Anahtarı
- Gizli Anahtar olarak İstemci Anahtarı
- Müşteri Anahtarı olarak Alt Anahtar
- Müşteri Parolası olarak Alt Gizli Anahtar
API kimlik bilgileri aşağıdaki amaçlara hizmet eder:
- API'lere arama yapan projeyi tanımlarlar.
- Projenizde etkinleştirilen API'lere erişim yetkisi verirler.
API Kimlik Bilgileri nasıl alınır?
Kimlik bilgileri, FedEx Developer Portal'daki girdilere göre oluşturulur:
- İstemci Kimliği – FedEx Developer Portal'da bir proje oluşturulduğunda API Anahtarı (Müşteri Kimliği) oluşturulur. Aynı zamanda projeyle ilişkili API Anahtarını Projeye Genel Bakış sayfasından da görebilirsiniz.
- İstemci Gizli Anahtarı – FedEx Developer Portal'da bir proje oluşturulduğunda onay sayfasında Gizli Anahtarı (Müşteri Sırrı) görebilirsiniz. Gerekirse Gizli Anahtar, Projeye Genel Bakış sayfasından yeniden oluşturulabilir.
Not: FedEx® müşterilerinin (Internal, Compatible veya Proprietary Parent Child) OAuth belirteci oluşturmak için API Anahtarına ve Gizli Anahtara ek olarak Alt Anahtarı (Müşteri Sırrı) ve Alt Gizli Anahtarı (Müşteri parolası) göndermesi gerekir. Alt Anahtar ve Alt Gizli Anahtarın nasıl alınacağıyla ilgili bilgi için Kimlik Bilgisi Kaydı API'sine başvurun.
Yetkilendirme API'si Nasıl Çalışır?
API Yetkilendirme
FedEx Developer Portal'da API kimlik bilgilerini güvene aldığınızda her bir API işlemiyle kimlik bilgileri olarak kullanmak üzere bir erişim belirteci almak için OAuth uç noktası kullanılır.
Bunlar OAuth isteğiyle ilişkili olarak zorunlu girdilerdir:
- grant_type – Müşteri türü. (Geçerli değerler: client_credentials, csp_credentials, client_pc_credentials)
- client_id – Proje API Anahtarına yöneliktir.
- client_secret – Proje API Gizli Anahtarına yöneliktir.
FedEx® Internal, Compatible veya Proprietary Parent Child müşterileri için aşağıdaki ek bilgileri gönderin:
- child_id – Kimlik Bilgisi Kaydı API isteğiyle verilen Müşteri Anahtarı.
- child_secret – Kimlik Bilgisi Kaydı API isteğiyle verilen müşteri parolası
Bu isteğin sonucunda aşağıdakiler verilmelidir:
- access_token – API işleminde kullanılması gereken şifrelenmiş OAuth belirteci.
- token_type – Belirtecin türü. Bu durumda taşıyıcı kimlik doğrulamasıdır.
- expires_in – Milisaniye cinsinden belirteç sona erme süresi. Bir saat, standart Belirteç sona erme süresidir.
- Kapsam – Tüketiciye sağlanan yetkilendirme kapsamı.
Örnekler
İstek:
POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=istemci kimliğiniz&client_secret=Gizli anahtarınız
Yanıt:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
FedEx® Internal veya Compatible müşterileri için istek:
POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=İstemci Kimliği&client_secret= İstemci gizli anahtarı&child_key=Alt anahtar&child_secret=Alt Gizli Anahtar
Yanıt:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
FedEx® Proprietary Parent Child müşterileri için istem:
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
Yanıt:
{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}
Not: Erişim belirtecinin süresi bir saat içinde sona erer, oauth/belirteç uç noktasına bir POST isteği kullanılarak yeniden oluşturulabilir.
Response