SEZYUM CRM APIs

Mobile ve 3rd party uygulamalar ile veri alışverişinin yapıldığı RESTful servislerin arayüzüdür.

Daha fazla »

REST (REpresentational State Transfer) API Nedir?

RESTful API, iki bilgisayar sisteminin internet üzerinden güvenli bir şekilde bilgi alışverişi yapmak için kullandığı bir arabirimdir. Çoğu iş uygulaması, çeşitli görevleri gerçekleştirmek için diğer dahili ve üçüncü taraf uygulamalarla iletişim kurmak zorundadır. Örneğin, aylık olarak maaş bordroları oluştururken faturalandırmayı otomatik hale getirmek ve dahili bir zaman çizelgesi uygulamasıyla iletişimde olmak için dahili hesap sisteminizin, verileri müşterinin bankacılık sistemiyle paylaşması gerekir. RESTful API'ler; güvenli, güvenilir ve verimli yazılım iletişim standartlarını izlediğinden bu bilgi alışverişini destekler.


API Nedir?

Uygulama programlama arabirimi (API), diğer yazılım sistemleriyle iletişim kurmak için uymanız gereken kuralları tanımlar. Geliştiriciler, diğer uygulamaların kendi uygulamalarıyla programlama yoluyla iletişim kurabilmesi için API'ler sunar veya oluşturur. Örneğin, zaman çizelgesi uygulaması, bir çalışanın tam adını ve bir tarih aralığını soran bir API sunar. Uygulama, bu bilgileri aldıktan sonra çalışanın zaman çizelgesini dahili olarak işler ve söz konusu tarih aralığında tamamlanan çalışma saatlerini bildirir.


REST Nedir?

Temsili Durum Aktarımı (REST), bir API'nin nasıl çalışması gerektiğine ilişkin koşulları uygulamaya koyan bir yazılım mimarisidir. REST, başlangıçta internet gibi karmaşık bir ağdaki iletişimi yönetmek için bir kılavuz olarak oluşturulmuştu. REST tabanlı mimariyi yüksek performanslı ve güvenilir iletişimi doğru ölçekte desteklemek için kullanabilirsiniz. Bu mimariyi kolayca uygulayabilir, değiştirebilir ve böylece, herhangi bir API sistemine görünürlük ve platformlar arası taşınabilirlik sağlayabilirsiniz.

API geliştiricileri, birkaç farklı mimariyi kullanarak API'ler tasarlayabilir. REST mimari stiline uygun API'lere REST API'ler adı verilir. REST mimarisini uygulayan web hizmetlerine RESTful web hizmetleri adı verilir. RESTful API terimi genellikle RESTful web API'lerini ifade eder. Bununla birlikte, REST API ve RESTful API terimlerini birbirinin yerine kullanabilirsiniz.

Tek biçimli arabirim

Tek biçimli arabirim, herhangi bir RESTful web hizmetinin tasarımı için esastır. Sunucunun, bilgileri standart bir formatta aktardığını belirtir. Biçimlendirilen kaynağa REST'te gösterim adı verilir. Bu format, kaynağın sunucu uygulamasındaki dahili gösteriminden farklı olabilir. Örneğin, sunucu, verileri metin olarak saklarken HTML gösterim formatında gönderebilir.

Kısıtlamaları nelerdir ?

  1. İstekler, kaynakları tanımlamalıdır. Bunu, tek biçimli bir kaynak tanımlayıcı kullanarak yaparlar.
  2. İstemciler, istedikleri takdirde kaynağı değiştirmek veya silmek için kaynak gösteriminde yeterli bilgiye sahiptir. Sunucu bu koşulu, kaynağı daha ayrıntılı şekilde açıklayan meta veriler göndererek karşılar.
  3. İstemciler, gösterimi daha fazla işlemeye yönelik bilgiler alır. Sunucu bunu, istemcinin bu bilgileri en iyi nasıl kullanabileceği hakkında meta veriler içeren açıklayıcı mesajlar göndererek gerçekleştirir.
  4. İstemciler, bir görevi tamamlamak için ihtiyaç duydukları diğer tüm ilgili kaynaklar hakkında bilgi alır. Sunucu bunu, istemcilerin dinamik olarak daha fazla kaynak keşfedebilmesi için gösterimde bağlantılar göndererek başarır.

Durumsuzluk

REST mimarisinde durumsuzluk, sunucunun her istemci isteğini önceki tüm isteklerden bağımsız olarak tamamladığı bir iletişim yöntemini ifade eder. İstemciler, kaynakları istedikleri sırada talep edebilir ve her istek ya durumsuzdur ya da diğer isteklerden yalıtılmıştır. Bu REST API tasarımı kısıtlaması, sunucunun isteği her seferinde tam olarak anlayabileceği ve yerine getirebileceği anlamına gelir.

Katmanlı Sistem

Katmanlı bir sistem mimarisinde istemci, kendisiyle sunucu arasındaki diğer yetkili aracılara bağlanabilir ve sunucudan yanıt almaya devam edebilir. Sunucular, istekleri diğer sunuculara da aktarabilir. RESTful web hizmetinizi, istemci isteklerini yerine getirmek için birlikte çalışan güvenlik, uygulama ve iş mantığı gibi birden çok katmana sahip birkaç sunucuda çalışacak şekilde tasarlayabilirsiniz. Bu katmanlar, istemci tarafından görülmez.

Önbelleğe alınabilirlik

RESTful web hizmetleri, sunucu yanıt süresini iyileştirmek için bazı yanıtları istemcide veya bir aracıda saklama süreci olan önbelleğe almayı destekler. Her sayfada ortak üst bilgi ve alt bilgi görüntüleri olan bir web sitesini ziyaret ettiğinizi varsayalım. Yeni bir web sitesi sayfasını her ziyaret ettiğinizde, sunucunun aynı görüntüleri yeniden göndermesi gerekir. Bunu önlemek için istemci, ilk yanıttan sonra bu görüntüleri önbelleğe alır veya depolar ve ardından görüntüleri doğrudan önbellekten kullanır. RESTful web hizmetleri, önbelleğe alma sürecini kendilerini önbelleğe alınabilir veya önbelleğe alınamaz olarak tanımlayan API yanıtlarını kullanarak kontrol eder.

İstek üzerine kod

REST mimari stilinde sunucular, yazılım programlama kodunu istemciye aktararak istemci işlevselliğini geçici olarak uzatabilir veya özelleştirebilir. Örneğin, herhangi bir web sitesindeki bir kayıt formunu doldurduğunuzda, tarayıcınız yaptığınız hataları (örn. yanlış telefon numarası) hemen öne çıkarır. Tarayıcınız bunu, sunucu tarafından gönderilen kod sayesinde yapar.