Ana içeriğe atla
API

Yaşam döngüsü

API, tek ve sürekli gelişen bir GraphQL uç noktası etrafında inşa edilmiştir. Bu mimari, yeni yeteneklerin ve performans iyileştirmelerinin API sürümleri arasında geçiş yapmaya gerek kalmadan sürekli olarak sunulmasını sağlar.

Bu sayfa, API genelindeki farklı kararlılık düzeylerini, kararlı API’nin kararlılık garantilerini, değişiklik türlerini (bozucu ve bozucu olmayan) ve kullanımdan kaldırmaların nasıl yönetildiğini özetler. Şu anda önizlemede olan özellikler için deneysel özelliklere bakın.

Özellik yaşam döngüsü

Her özellik üç kararlılık düzeyinden birindedir: alpha, beta veya kararlı. Çoğu özellik bu düzeylerden sırayla geçer ve kararlı özellikler yalnızca bir kullanımdan kaldırma süreciyle sonlandırılabilir.

Lifecycle
text
[ ALPHA ] ──> [ BETA ] ──> [ STABLE ] ──> [ DEPRECATED ] ──> [ REMOVED ] Opt-in        Enabled                      12+ month               by default                   notice window

Kararlı API

Kararlı işlevler, API’nin üretime hazır çekirdeğini oluşturur. Değişiklikler iki kategoriye ayrılır: bozucu olmayan ve bozucu.

Bozucu olmayan değişiklikler

Mevcut entegrasyonları aksatmayan, geriye dönük uyumlu eklemelerdir. Bunlar önceden bildirim veya kullanımdan kaldırma olmaksızın sürekli olarak yayınlanır.

Bozucu olmayan değişiklikler şunları içerir:

  • Yeni bir sorgu, mutasyon veya abonelik eklemek.
  • Mevcut bir işleme yeni bir isteğe bağlı girdi argümanı eklemek.
  • Mevcut davranışı koruyan bir varsayılan değere sahip yeni bir argüman eklemek.
  • Mevcut bir işlemin çıktısına yeni bir alan eklemek.
  • Zorunlu bir girdi argümanını isteğe bağlı hale getirmek.
  • Mevcut bir enum türüne yeni bir değer eklemek.

Bozucu olmayan değişiklikler için geliştirme

Bozucu olmayan değişiklikler de katı varsayımlarda bulunan istemcileri etkileyebilir. Entegrasyonları dayanıklı tutmak için:

  • Yanıt gövdelerinde ek özellikler göründüğünde başarısız olan katı nesne seri durumdan çıkarmadan (deserialization) kaçının.
  • GraphQL enum türleri kapsamlı değildir ve zamanla genişler. İstemci mantığında her zaman bir yedek varsayılan durum uygulayın.
  • İnsan tarafından okunabilir hata metinleriyle eşleştirme yapmak yerine hataların extensions.exception.code değerlerini inceleyin.

Bozucu değişiklikler ve kullanımdan kaldırmalar

Bozucu bir değişiklik, çalışan mevcut entegrasyonları bozabilir. Bu nedenle her bozucu değişiklik önce 12 aylık bir kullanımdan kaldırma sürecinden geçmelidir.

Bozucu değişiklikler şunları içerir:

  • Mevcut bir sorguyu, mutasyonu, aboneliği, alanı veya girdi argümanını kaldırmak ya da yeniden adlandırmak.
  • Enum değerlerini kaldırmak ya da yeniden adlandırmak.
  • Mevcut bir alanın veya girdi argümanının veri türünü değiştirmek.
  • Yeni bir zorunlu girdi argümanı eklemek.
  • İsteğe bağlı bir girdi argümanını zorunlu hale getirmek.
  • Mevcut bir alanın iş mantığını veya davranışını değiştirmek.
  • Bir çıktı alanını null olamaz (!) durumundan null olabilir duruma değiştirmek.
  • Bir girdi argümanının veya alanın varsayılan değerini değiştirmek.
  • Sayfalandırma varsayılanlarını, maksimum sayfa boyutlarını veya belgelenmiş sıralama düzenini değiştirmek.

Kullanımdan kaldırma zaman çizelgesi

Bozucu bir değişiklik kararlı bir yeteneğin kaldırılmasını veya değiştirilmesini gerektirdiğinde, katı bir üç aşamalı zaman çizelgesi izlenir:

  1. Kullanımdan kaldırma duyurusuİşlev, GraphQL şemasında @deprecated yönergesiyle etiketlenir. Uygunsa bir geçiş yolu sağlanır. Kullanımdan kaldırma ve ilgili kaldırma tarihi, üç izleme kanalında eşzamanlı olarak duyurulur.
  2. Aktif bildirim süresi (1–12. aylar)Kullanımdan kaldırılan işlev tam olarak çalışmaya devam eder. Bir geçiş yolu sağlanmışsa, entegratörler bu 12 aylık süre içinde uygulamalarını güncellemeli ve yeni alanları benimsemelidir.
  3. Kalıcı kaldırmaKaldırma tarihinde işlev kalıcı olarak kaldırılır. İşlevi kullanan sonraki tüm istekler, bir GraphQL hatasıyla şema doğrulamasında başarısız olur.

Kullanımdan kaldırmaları takip etme

Yaklaşan kaldırmaları üç kanaldan belirleyin ve takip edin:

  • Şema araçlarınızdaki @deprecated(reason: "...") yönergelerini inceleyin.
  • Kaldırma tarihlerini ve geçiş rehberlerini API’nin eski bölümünde veya kullanımdan kaldırmalar portalında inceleyin.
  • API yanıtlarında doğrudan döndürülen DEPRECATED_FEATURE uyarılarını izleyin.
Yanıt örneği
Örnek istek ve yanıt
graphql
{  "data": {    "station": {      "id": "5e8c22366f9c5f23ab0eff39",      "amenityList": [        {          "name": "Coffee Shop",          "foursquareUrl": "https://foursquare.com/v/example"        }      ]    }  },  "extensions": {    "warnings": [      {        "code": "DEPRECATED_FEATURE",        "path": ["amenityList", "foursquareUrl"],        "message": "This feature is deprecated and will be removed. To prevent errors and service disruptions, migrate to the recommended alternative before the scheduled removal date. Visit https://developers.chargetrip.com/deprecations for more information."      }    ]  }}

Bu içerik yardımcı oldu mu?

Geliştiriciler

Chargetrip ©

Durum bilinmiyor

Çerezleri yönetin

Yürürlük tarihi: 20 Mart 2024 · Güncellenme tarihi: 25 Ocak 2023

Çerez politikası

developers.chargetrip.com deneyiminizi geliştirmeye yardımcı olmak için çerezler kullanıyoruz. Bu çerez politikası gizlilik politikasının bir parçasıdır ve cihazınız ile sitemiz arasındaki çerez kullanımını kapsar. Ayrıca, kullanabileceğimiz ve hizmetlerinin bir parçası olarak çerez kullanabilecek üçüncü taraf hizmetler hakkında temel bilgiler de sunuyoruz; ancak bunlar politikamızın kapsamında değildir.

Bizden herhangi bir çerezi kabul etmek istemiyorsanız, tarayıcınıza developers.chargetrip.com sitesinden gelen çerezleri reddetmesini söylemelisiniz; ancak bu durumda istediğiniz bazı içerik ve hizmetleri sunamayabileceğimizi unutmayın.

Çerez onayı tercihlerinizi gözden geçirin

Çerez nedir

Çerez, bir web sitesinin siz ziyaret ettiğinizde cihazınızda sakladığı küçük bir veri parçasıdır. Genellikle web sitesinin kendisi hakkında bilgiler, siz geri döndüğünüzde sitenin web tarayıcınızı tanımasını sağlayan benzersiz bir tanımlayıcı, çerezin amacına hizmet eden ek veriler ve çerezin kendi ömrü bulunur.

Çerezler belirli özellikleri etkinleştirmek (ör. oturum açma), site kullanımını izlemek (ör. analizler), kullanıcı ayarlarınızı saklamak (ör. saat dilimi, bildirim tercihleri) ve içeriğinizi kişiselleştirmek (ör. reklam, dil) için kullanılır.

Ziyaret ettiğiniz web sitesi tarafından ayarlanan çerezlere normalde “birinci taraf çerezleri” denir ve bunlar genellikle yalnızca o sitedeki etkinliğinizi izler. Diğer siteler ve şirketler (yani üçüncü taraflar) tarafından ayarlanan çerezler, aynı üçüncü taraf hizmetini kullanan diğer web sitelerinde sizi izlemek için kullanılabilir.

Gerekli çerezler

Ziyaret ettiğiniz web sitesi tarafından ayarlanan çerezlere normalde “birinci taraf çerezleri” denir ve bunlar genellikle yalnızca o sitedeki etkinliğinizi izler. Diğer siteler ve şirketler (yani üçüncü taraflar) tarafından ayarlanan çerezler, aynı üçüncü taraf hizmetini kullanan diğer web sitelerinde sizi izlemek için kullanılabilir.

Performans çerezleri

Hedefleme / reklam çerezleri, hangi promosyon içeriğinin size ve ilgi alanlarınıza daha uygun ve alakalı olduğunu belirlemede kullanılır. Web siteleri bunları hedefli reklam sunmak veya bir reklamı kaç kez gördüğünüzü sınırlamak için kullanabilir. Bu, şirketlerin kampanyalarının etkinliğini ve size sunulan içeriğin kalitesini artırmasına yardımcı olur. Bu çerezler, ziyaret ettiğiniz web sitesi (birinci taraf) veya üçüncü taraf hizmetler tarafından ayarlanabilir. Üçüncü taraflarca ayarlanan hedefleme/reklam çerezleri, aynı üçüncü taraf hizmetini kullanan diğer web sitelerinde sizi izlemek için kullanılabilir. Sitemizde hedefleme/reklam çerezleri kullanıyoruz.

Pazarlama / reklam çerezleri

Hedefleme / reklam çerezleri, hangi promosyon içeriğinin size ve ilgi alanlarınıza daha uygun ve alakalı olduğunu belirlemede kullanılır. Web siteleri bunları hedefli reklam sunmak veya bir reklamı kaç kez gördüğünüzü sınırlamak için kullanabilir. Bu, şirketlerin kampanyalarının etkinliğini ve size sunulan içeriğin kalitesini artırmasına yardımcı olur. Bu çerezler, ziyaret ettiğiniz web sitesi (birinci taraf) veya üçüncü taraf hizmetler tarafından ayarlanabilir. Üçüncü taraflarca ayarlanan hedefleme/reklam çerezleri, aynı üçüncü taraf hizmetini kullanan diğer web sitelerinde sizi izlemek için kullanılabilir. Sitemizde hedefleme/reklam çerezleri kullanıyoruz.

Üçüncü taraf taahhüdü

Üçüncü taraf sağlayıcılarımızın hizmetlerini kullanmadan önce, uygulamalarının bizimkilerle uyumlu olduğundan emin olmak için tüm gizlilik politikalarını inceliyoruz. Kullanıcılarımızın gizliliğini tehlikeye atan veya ihlal eden üçüncü taraf hizmetleri bilerek asla dahil etmeyeceğiz.

Çerez
google-cookie-consent
Açıklama
Çerez tercihlerinizi, yani hangi kategorileri kabul ettiğinizi veya reddettiğinizi saklar; böylece her ziyarette seçiminize saygı gösterebilir ve yalnızca izin verdiğiniz analiz veya pazarlama araçlarını yükleyebiliriz.
Ömür
2 yıl

Çerezleri nasıl kontrol edebilir veya devre dışı bırakabilirsiniz

Bizden çerez kabul etmek istemiyorsanız, tarayıcınıza web sitemizden gelen çerezleri reddetmesini söyleyebilirsiniz. Çoğu tarayıcı varsayılan olarak çerezleri kabul edecek şekilde yapılandırılmıştır, ancak bu ayarları çerezleri tamamen reddedecek veya bir web sitesi çerez ayarlamaya çalıştığında sizi uyaracak şekilde güncelleyebilirsiniz.

Web sitelerine birden fazla cihazdan göz atıyorsanız, ayarlarınızı her bir cihazda ayrı ayrı güncellemeniz gerekebilir.

Bazı çerezler bir web sitesi deneyimini az etkileyerek engellenebilse de, tüm çerezleri engellemek ziyaret ettiğiniz sitelerdeki belirli özelliklere ve içeriğe erişememenize neden olabilir.

Bu Çerez Politikasını, örneğin kullandığımız çerezlerdeki değişiklikleri yansıtmak veya diğer operasyonel, yasal ya da düzenleyici nedenlerle zaman zaman güncelleyebiliriz. Çerez kullanımımız ve ilgili teknolojiler hakkında bilgi sahibi olmak için lütfen bu Çerez Politikasını yeniden ziyaret edin. Bu Çerez Politikasının en üstündeki tarih, en son ne zaman güncellendiğini gösterir.