API Tabanlı Platformları Anlama: Ürün Yöneticileri İçin Bir Kılavuz

Yayınlanan: 2022-03-10
Kısa özet ↬ API tabanlı çözümler, modern dijital ürünlerin kritik bir yapı taşı haline geliyor. Onlar neler? Tasarım sürecinizi nasıl etkileyebilirler? Son olarak, yazılım ekibinizi rahatsız etmeden bunları nasıl değerlendirebilirsiniz?

Bugün dijital bir ürün oluşturmak, sayısız çeşitli arka ofis sistemini müşteri temas noktaları ve cihazlarıyla entegre etmektir. Bir yazılım ekibini, onları tek bir çalışan çözümde birbirine bağlamak için görevlendirmenin maliyeti çok yüksek olabilir.

Bu nedenle, modern ürün yöneticileri, satıcıları seçerken, API'yi açığa çıkaran sistemleri seçmeye kadar inebilecek entegrasyon yeteneklerini ilk sıraya koyarlar. API nedir ve teknoloji ekibinizle etkileşim kurmadan nasıl test edilir? Okumaya devam etmek.

Verileri Kucaklayın: Neden API'lere İhtiyacımız Var?

Müşteri verileri, işletmenin çalışma şeklini değiştirir. Düzgün bir şekilde toplanır ve değiştirilirse, şirketlerin müşteri edinme ve elde tutma oranlarını yükseltmelerine yardımcı olabilir ve sonunda gelirde patlamaya yol açabilir.

Ancak veri sıkıştırması sıkıcı bir iştir. Bu yüzden iş, bilgisayar bilimine girdi. 1990'larda, en çok zaman alan veri görevlerini otomatikleştiren veritabanları, pazarlama departmanları arasında büyük ölçüde popüler hale geldi. Bu, pazarlama stratejilerinin nasıl tasarlandığına dair büyük bir değişime yol açtı - bu değişime veriye dayalı yaklaşım adı verildi.

Yine de veritabanlarının büyük bir eksisi vardı. Onları değerli bir şey haline getirmek için bir şirketin yazılım mühendisleri tutması gerekiyordu. Onlar, devasa veri yığınlarını nasıl işleyen içgörülere dönüştüreceğini bilen kahramanlardı. Onlar aynı zamanda veri bütünlüğünü koruyan ve böylece sistemin geleceğe hazır olmasını sağlayan gardiyanlardı.

Ancak yazılım mühendisleri çok pahalıya mal oluyor ve iletişim arayüzleri çaba gerektiriyordu.

Veri toplama kanallarının sayısı birkaç departmana ve hatta harici şirketlere yayıldığında, veritabanları ve operatörleri bir darboğaz haline geldi. İşletmelerin veri depolarına erişmenin otomatik bir yolunu bulması gerekiyordu.

API öncelikli sistemler fikri bu şekilde ortaya çıktı.

Atlamadan sonra daha fazlası! Aşağıdan okumaya devam edin ↓

API, Tech Lingo Olmadan Gerçekte Nedir?

API öncelikli sistemler, günümüzde genellikle API ( A application P rogrammable Interface) olarak kısaltılır, diğer sistemlerin verilerine birleşik ve güvenli bir şekilde erişmesini sağlayan uygulamalardır.

Bir bilgisayar bilimi derecesi olmadan, Uygulama Programlanabilir Arabirimi gerçekten bir zil çalmaz. Daha somut bir açıklamaya bakalım.

Şu ana kadar internette bulduğum en iyi benzetmelerden biri Taija tarafından yazılmıştır:

“Bir restorana müşteri olarak giderseniz, mutfağa girmenize izin verilmez. Neyin mevcut olduğunu bilmeniz gerekir. Bunun için menünüz var. Menüye baktıktan sonra, bir garsona sipariş veriyorsunuz, garson onu mutfağa iletiyor ve daha sonra istediğinizi teslim edecek. Garson sadece mutfağın sağlayabileceği kadarını teslim edebilir.
Bunun bir API ile nasıl bir ilgisi var? Garson API'dir. Sen hizmet isteyen birisin. Başka bir deyişle, bir API müşterisi veya tüketicisisiniz. Menü, API'den ne isteyebileceğinizi açıklayan belgelerdir. Mutfak, örneğin bir sunucudur; alıcının restoran için malzeme olarak ne satın aldığı ve şefin ne sunacağına karar verdiği ve aşçıların nasıl hazırlanacağını bildikleri yalnızca belirli türde verileri tutan bir veri tabanı.

Ve yine:

  • Mutfak
    Veritabanı, hiçbir müşterinin veri bütünlüğünü korumasına izin verilmez.
  • Garson
    API, veritabanından verinin işleyişini bozmadan nasıl sunulacağını bilen bir aracı.
  • Müşteri
    Verilerini almak isteyen harici bir sistem
  • Menü
    Veri formatı referansı, harici sistemlerin işlemlerini gerçekleştirmek için kullanmaları gerekir.
  • Sipariş
    Gerçek bir tek API çağrısı.

Teknolojinin mevcut durumuyla birlikte, “sipariş vermek” için hala bir yazılım geliştiricisi gerekiyor. Ancak çok daha hızlı (okuyun: daha ucuz), çünkü McDonald's gibi menü dünya çapında az çok standart hale getirildi.

Şimdi, bir yazılım geliştiricisinin ayakkabılarını giyeceğiz ve örnek bir API çağırmaya çalışacağız. Merak etme; okuldaki bilgisayar bilimleri derslerinin ötesine geçmeyeceğiz.

Hava Durumu Uygulamanız Verileri Nasıl Alır: API Temelleri

Hava durumu uygulamanızın mevcut sıcaklığı nasıl bildiğini öğreneceğiz. Bu sayede sistemlerle internet üzerinden nasıl iletişim kurulacağının temellerini öğrenmiş olacağız.

İhtiyacımız olan:

  • Bir hava durumu veritabanı
  • tarayıcı
  • Bir tutam irade

Bu kadar! Günümüz teknolojisi, büyük geliştirici araçlarına ihtiyaç duymadan API'yi test etmeyi kolaylaştırıyor.

Tabii ki, tam gelişmiş bir entegrasyon oluşturmak istediğinizde bu farklıdır. Zorlama söz konusu olduğunda, daha gelişmiş araçlar ve programlama dilleri bilmeniz gerekir, ancak kavramların test edilmesi/kanıtlanması için bu kurulum yeterlidir.

Öyleyse, şehriniz için mevcut sıcaklık endeksini almaya çalışalım - veya kodlayıcıların dilinde - ilk API çağrısını çağıralım. Sonuçta, bir sunucuya biraz metin göndermek ve karşılığında bir mesaj almak için kaynar.

Bir API İsteğinin Anatomisi

Bu yazıda https://openweathermap.org API'sini kullanacağız. Siteyi ziyaret edin ve çeşitli konumlardaki hava koşullarını kontrol etmeyi deneyin. Umarım bugün Katowice'de benden daha iyi hissediyorsundur:

Hava Durumu Haritası API widget'ını açın
Hava Durumu Haritası API widget'ını açın (Büyük önizleme)

Tahmin edebileceğiniz gibi, web sitesi verileri almak için API'yi çağırıyor. Geliştiriciler bunu, ara düğmesine her bastığınızda, arka planda uygulamanın API'nin kapısını çalıp “bana <şehir> sıcaklık ver” diyecek şekilde uyguladılar.

Bir hacker şapkası takalım ve bu web sitesinin tarayıcınızla yaptığı API çağrılarını görelim. Arka planda neler olduğunu görmek için Tarayıcınızdaki Geliştirici Araçlarını kullanabilirsiniz:

  1. Chrome'da Menü → Diğer araçlar → Geliştirici Araçları'na gidin;
  2. Ağ sekmesine geçin;
  3. Yukarıdaki widget'ta farklı şehirlerdeki sıcaklığı kontrol etmeyi deneyin;
  4. Alttaki listede, çağrılan bağlantıları fark edeceksiniz:
    Chrome Geliştirici Araçları'nda istek izleme
    Chrome Geliştirici Araçları'nda istek izleme (Geniş önizleme)

    Bağlantıyı kopyalarsanız, konum adını ve birkaç başka parametreyi içerdiğini görebilirsiniz.
     https://openweathermap.org/data/2.5/find?callback=jQuery19103887954878001505_1542285819413&q=Katowice&type=like&sort=population&cnt=30&appid=b6907d289e10d714a6e88b30761fae22&_=1542285819418
  5. Bağlantıyı tarayıcının adres çubuğuna yapıştırdığınızda, API'nin şu şekilde yanıt verdiğini görmelisiniz:
     jQuery19103887954878001505_1542285819413({"message":"accurate","cod":"200","count":1,"list":[{"id":3096472,"name":"Katowice","coord":{"lat":50.2599,"lon":19.0216},"main":{"temp":281.69,"pressure":1031,"humidity":61,"temp_min":281.15,"temp_max":282.15},"dt":1542285000,"wind":{"speed":3.6,"deg":50},"sys":{"country":"PL"},"rain":null,"snow":null,"clouds":{"all":90},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}]}]})
  6. Biraz kaotik, ancak parantezlerin içeriğini çıkarır ve bir veri biçimlendirici ile çalıştırırsanız, mantıklı bir yapı göreceksiniz:
     { "message":"accurate", "cod":"200", "count":1, "list":[ { "id":3096472, "name":"Katowice", "coord":{ "lat":50.2599, "lon":19.0216 }, "main":{ "temp":281.69, "pressure":1031, "humidity":61, "temp_min":281.15, "temp_max":282.15 }, "dt":1542285000, "wind":{ "speed":3.6, "deg":50 }, "sys":{ "country":"PL" }, "rain":null, "snow":null, "clouds":{ "all":90 },
  7. API'den gelen yanıt, mevcut hava koşulları hakkında bilgi içeren bir veri yapısıdır - parametrelerin çoğunun şifresini kolayca çözmelisiniz. Bu veri biçimine JSON denir . Modern API'lerin çoğu bunu kullandığı için bu önemli bir gösterimdir. Bu kimlik ve parantez yığını tek bir amaca hizmet eder - bir uygulamanın iyi yapılandırılmış bir mesajı ayrıştırması rastgele yerleştirilmiş bir metinden daha kolaydır.

Burada yaptığımız şeyin bir açıklaması.

Open Weather Map web sitesinin arkasındaki web uygulaması, API'den verileri alır ve web sitesinde görüntüler.

Şehir adını her yazıp ara tuşuna bastığınızda, web sitesi şehrin adını parametre olarak içeren belirli bir bağlantıyla bir sunucuya bağlanır.

Teknoloji jargonunda aynı cümle: web sitesinin arkasındaki uygulama, şehrin adını argüman olarak sağlayan bir API uç noktasına bir istek gönderir.

Ardından API, JSON olarak biçimlendirilmiş bir metin mesajıyla yanıt verir (bir API yanıtı gönderir).

Webapp - Veritabanı diyagramı
Webapp <—> Veritabanı şeması (Geniş önizleme)

Bir API isteği oluşturmak için adresini bir araya getirmeniz gerekir. Evet, adres güzel bir benzetme. Bir şey göndermek için kuryeye şunları sağlamanız gerekir:

  • Şehir,
  • Sokak ve numara,
  • Bazen ofisinize nasıl gideceğinizle ilgili bazı ek bilgiler.

Ve benzetme yoluyla API'ye bağlanmak için şunlara ihtiyacınız vardır:

  • https://openweathermap.org/ (bağlantı) Şehir veya kök uç noktası — bizim durumumuzda bir başlangıç ​​noktası, bağlanmak istediğiniz sunucunun internet adresi.
  • data/2.5/find (bağlantı) Sokak numarası veya yol — bir API'den almak istediğiniz kaynağı belirler.
  • ?callback=jQuery19103887954878001505 1542285819413&q=Katowice&type=like&sort=population&cnt=30&appid=b6907d289e10d714a6e88b30761fae22& =1542285819418 (bağlantı) Ek bilgi veya belirli veriyi veya sorgu parametrelerini, yapının ve API sunucusunun sahip olmamız gerekenleri bilmesini sağlar.

API'ler bu şekilde tasarlanmıştır. Kök uç noktası genellikle tek bir satıcı için aynı kalır, o zaman hangi yol ve sorgu parametrelerinin mevcut olduğunu ve API geliştirme ekibinin arkalarına hangi bilgileri koyduğunu bulmanız gerekir.

Şimdi hacker şapkasını biraz daha sıkı tutalım. Bizim durumumuzda, hava durumu verilerini almak için tüm sorgu parametreleri gerekli değildir . Soru işaretinden ( ? ) sonra farklı parametreleri kaldırmayı deneyin ve Hava Durumu API'sinin nasıl yanıt verdiğini kontrol edin.

Örneğin, istek bağlantısından callback kaldırarak başlayabilirsiniz:

 https://openweathermap.org/data/2.5/find?callback=jQuery19103887954878001505_1542285819413&q=Katowice&type=like&sort=population&cnt=30&appid=b6907d289e10d714a6e88b30761fae22&_=1542285819418

Sonuç:

 https://openweathermap.org/data/2.5/find?q=Katowice&type=like&sort=population&cnt=30&appid=b6907d289e10d714a6e88b30761fae22&_=1542285819418

Diğerleriyle oynarsanız, bazılarının da isteğe bağlı olduğunu görebilirsiniz. Aslında sadece q ve appid zorunludur:

 https://openweathermap.org/data/2.5/find?q=Katowice&appid=b6907d289e10d714a6e88b30761fae22

Neyin zorunlu neyin isteğe bağlı olduğunu nereden biliyorsunuz? İlk etapta kök uç noktayı ve yolu nereden alacağınızı nereden biliyorsunuz?

API Belgeleri: Başlamadan Önce Mutlaka Okunması Gereken Bir Kitap

İsteğinizi doğru şekilde nasıl oluşturacağınızı öğrenmek için her zaman önce API belgelerini kontrol etmeniz gerekir.

Bizim durumumuzda, https://openweathermap.org/current belgeleri mevcut bitiş noktalarını gösterir. Ayrıca, tüm yanıt veri alanlarını da açıklar; böylece, siz bir istek göndermeden önce bile API'nin hangi bilgileri yanıtlayacağını öğrenebilirsiniz.

İyi bir API dokümantasyonu, basit isteklerin nasıl oluşturulacağı ve daha gelişmiş şeylere nasıl geçileceği konusunda hızlı başlangıç ​​eğitimleri sunar. Neyse ki, Open Weather API'de bir tane var ve şimdi onu kullanacağız.

Sıfırdan API Çağrısı Oluşturma

Bulgularımızı özetleyelim. API'ye zaten bir istek gönderdik. OpenWeatherMap'in perde arkasında ne yaptığını koklayarak doğru bağlantıyı bulduk. Bu yaklaşıma tersine mühendislik denir ve genellikle zordur veya hiç mümkün değildir.

Ayrıca, çoğu zaman API sağlayıcıları, kullanıcıların bu seçeneği aşırı kullanmasını yasaklar. Bu yüzden API'yi kurallara göre (anlamı — belgeler) nasıl “çağıracağımızı” öğrenmeliyiz.

Bunu yapmanın bir yolu, onu kodlamaktır. Ancak kodlayıcı olmadığımız için ( henüz! ), bunu kolaylaştıran araçlar kullanacağız. O kadar kolay ki, yazılım geliştiricilerin bile alet kemerlerinin altında bulunduruyor.

Söz verdiğimiz gibi, tarayıcıdan ayrılmayacağız. Ancak bir uzantı yüklememiz gerekiyor (yalnızca Chrome) - Postacı. Bu basit eklenti, tarayıcınızı bir API bağlayıcısına dönüştürür.

Postacı ana görünümü
Postacı ana görünümü (Büyük önizleme)

Tamam, artık bir aracımız olduğuna göre, belirli bir şehir adı için mevcut hava koşullarını nasıl alabileceğimizi görmek için belgelere bir göz atalım https://openweathermap.org/current#name .

Dokümanlar şu uç noktayı kullanmamız gerektiğini söylüyor: api.openweathermap.org/data/2.5/weather?q={city name}

Parçaladığımızda aşağıdaki unsurları elde ederiz:

  • Kök uç noktası: api.openweathermap.org
  • Yol: data/2.5/weather
  • Sorgu parametresi: q={city name} (bu kavram, parantezleri belirli bir şehir adıyla değiştirmemiz gerektiği anlamına gelir)

Postacıya koyalım. İşlem üç kolay adıma kadar kaynar:

  1. Üst menüden 'Talep' üzerine tıklayın.
    Postacı yeni istek görünümü
    Postacı yeni istek görünümü (Büyük önizleme)
  2. Talebinizi adlandırın ve alttaki bölümde de katalog adını belirtin.
    Postacı istek adı görünümü
    Postacı istek adı görünümü (Geniş önizleme)
  3. Çağırmak istediğiniz API uç noktasını yapıştırın, Gönder'e tıklayın ve Yanıt bölümünde API yanıtını görmelisiniz:
    Postacı ile ilk isteği gönderme
    Postacı ile ilk isteği gönderme (Büyük önizleme)

Tebrikler! Köknarınızı başarıyla çağırdınız… bir saniye bekleyin! API yanıtına dikkat edelim:

Geçersiz yanıt örneği
Geçersiz yanıt örneği (Büyük önizleme)

Daha önce gördüğümüz hava durumu bilgileriyle dolu bir JSON değil. 401 ve Geçersiz API anahtarı ne anlama geliyor? Belgelerimiz yanlış mı?

kimlik doğrulama

Kokteyl dolabınıza izniniz olmadan kimsenin erişmesine izin vermezsiniz, değil mi? Aynı şekilde, API sağlayıcıları da ürünlerini kötü niyetli faaliyetlerden korumak için kullanıcılarını kontrol etmek ister. Kötü amaçlı etkinlik nedir? Örneğin, aynı anda birçok API isteği göndermek, sunucuyu "aşırı ısıtacak" ve diğer kullanıcılar için kesinti süresine neden olacaktır.

Erişimi nasıl kontrol edebilirsiniz? İçkilerinizi koruduğunuz gibi! Anahtarları kullanarak — API anahtarları .

Hava Durumu API belgelerinden Nasıl Başlanır kılavuzunu ziyaret ederseniz, anahtarınızı nasıl alabileceğinizi fark edeceksiniz. Şimdi kaydolun ve gelen kutunuzu kontrol edin.

Şimdi soru, anahtarın nasıl kullanılacağıdır? Belgelere göre kolay, anahtarı kopyalayıp uç nokta URL'nizin sonuna (parantezler olmadan) yapıştırmanız yeterlidir.

 api.openweathermap.org/data/2.5/weather?q=Katowice&appid={your API key}

Ve tekrar gönder'e tıklayın. Buyrun, artık API yanıtını görebiliriz!

Open Weather Map API'den başarılı yanıt
Open Weather Map API'den başarılı yanıt (Büyük önizleme)

Ancak Postman kullanarak API'den alabileceğiniz çok daha fazlası var. Gerçek bir API korsanı olmaya hazır mısınız?

API parametreleri: Uyarlanmış Yanıtlar Alma

Genellikle API uç noktaları, API yanıtını ayarlamak için kullanabileceğiniz bazı yardımcı özelliklere sahiptir, örneğin daha iyi bir veri formatına ihtiyacınız varsa veya verileri belirli bir sırayla almak istiyorsanız. Bu seçenekler genellikle belgelerde bulabileceğiniz bazı parametrelerin arkasına gizlenmiştir.

Sorgu parametreleri, yalnızca aşağıdaki kalıpla uç nokta adresine eklediğiniz yapılandırılmış bir metindir:

  1. Yoldan sonra soru işareti ( ? )
  2. Bir parametrenin adı,
  3. Eşittir ( = ) sembolü,
  4. Parametrenin değeri,
  5. Ve işareti ( & ) ve diğerleri 2-4 noktalarını takip eder (bu şekilde istediğiniz kadar parametre ekleyebilirsiniz).

İlk isteğimizi örnek alın:

 https://openweathermap.org/data/2.5/find?q=Katowice&appid=b6907d289e10d714a6e88b30761fae22

Önemli not: Sorgu paragraflarının sırası önemli değildir.

 ?q=Katowice&appid=b6907d289e10d714a6e88b30761fae22

Yukarıdakiler aşağıdakilerle aynıdır:

 ?appid=b6907d289e10d714a6e88b30761fae22&q=Katowice

Belirtildiği gibi, sorgu parametreleri API belgelerinde açıklanmıştır. Hava durumu API belgelerinden aşağıdaki alıntı, sıcaklığı farklı birimlerde (emperyal veya metrik) nasıl alacağınızı gösterir:

OpenWeatherMap API belgelerinden alıntı
OpenWeatherMap API belgelerinden alıntı (Geniş önizleme)

Sonuçlardaki farkı görmek için bu iki seçeneği Postman ile göndermeyi deneyin. API anahtarınızı uç nokta adresinin sonuna eklemeyi unutmayın.

Not : Her zaman belgeleri incelemek ve size veya geliştirme ekibinize ciddi zaman kazandırabilecek parametreleri bulmak için biraz zaman ayırın.

API İstek Seçenekleri: API'ye Nasıl Veri Gönderilir

Şu ana kadar API'den bilgi alıyoruz. API'nin arkasındaki veritabanına bilgi eklemek veya değiştirmek istersek ne olur? İstek yöntemleri cevaptır.

Postman'a bir kez daha bakalım. API bitiş noktası adresinin yanında büyük harfli bir GET etiketi fark etmiş olabilirsiniz. Bu, dört istek yönteminden birini temsil eder. GET , API'den bir şey almak istediğimiz anlamına gelir (teşekkürler kaptan) ve bu varsayılan bir seçenektir. Diğer seçenekler neler?

Yöntem Adı API ile ne yapar
GET API, istediğiniz verileri arar ve size geri gönderir.
POST API, veritabanında yeni bir giriş oluşturur ve oluşturmanın başarılı olup olmadığını size söyler.
PUT API, veritabanındaki bir girişi günceller ve size güncellemenin başarılı olup olmadığını söyler.
DELETE API, veritabanındaki bir girişi siler ve silme işleminin başarılı olup olmadığını size söyler.

Hala kafa karıştırıcı mı? Örneklere geçelim.

API POST: API'de Kayıt Nasıl Oluşturulur

Weather API ile hiçbir şey oluşturamaz veya güncelleyemiyoruz (çünkü salt okunur olması gerekiyordu), bu nedenle test amacıyla farklı bir tane bulmamız gerekiyor.

Biraz daha iş odaklı bir örnekle gelelim. Aşağıdaki senaryoyu simüle edeceğiz:

Hava yağmurluysa müşterileriniz için "neşelen" bir indirim kuponu oluşturun.

Herhangi bir e-ticaret sistemi için promosyonlar oluşturmak ve izlemek için bir API sağlayan Voucherify'ı kullanacağız.

Feragatname : Voucherify'ın kurucu ortağıyım. Dijital promosyonların tasarlanması ve uygulanması ve tabii ki API'miz hakkındaki sorularınızı yanıtlamaktan memnuniyet duyarım .

Bunları önceki örnekten nasıl alacağımızı zaten biliyoruz, bu yüzden bir fiş oluşturmaya odaklanalım:

  1. Dediğimiz gibi, her zaman belgelerle başlamalıyız.
  2. Hızlı başlangıç ​​kılavuzu, API anahtarımızı almamızı söyler.
    Not : Bir hesap oluşturmak yerine hızlı başlangıç ​​kılavuzundaki test tuşlarını kullanabilirsiniz - nasıl yapılacağını birazdan göstereceğiz.
  3. Şimdi nasıl indirim kuponu oluşturacağımızı bulalım. Voucherify'da bu tür bir promosyon “voucher” olarak temsil edilir.
  4. Belgelerden, fiş oluşturmak için /vouchers uç noktasına bir POST yöntemi çağırmanız gerektiğini öğreneceksiniz.
  5. Postman'da yeni bir İstek oluşturun.
  6. Yöntemi POST olarak değiştirin.
    Postacı - API yöntemleri seçimi
    Postacı - API yöntemleri seçimi (Geniş önizleme)
  7. Kuponu bitiş noktası https://api.voucherify.io/v1/vouchers/ yapıştırın ve Gönder'e tıklayın.
    Eksik kimlik bilgileri
    Eksik kimlik bilgileri (Büyük önizleme)
  8. Oh snap, bu uç noktayı çağırma yetkimiz yok. Tahmin edebileceğiniz gibi, API anahtarlarını sağlamamız gerekiyor.

    Voucherify'ın bunu yapmak için biraz farklı bir yolu vardır. Bunları sorgu parametresi olarak koymak yerine Headers'a koymalısınız. Bu yaygın bir yaklaşımdır çünkü anahtarları bu şekilde uygulamak ve sürdürmek, onları sorgu parametreleri olarak eklemekten daha kolaydır.

    Anahtarları resimdeki gibi ekleyin ve Gönder'e tıklayın. Voucherify'ın iki anahtar gerektirdiğine dikkat edin. İşte bu eğitimin amacı için kullanabilecekleriniz:
    X-App-Id: 8a824b12-0530-4ef4-9479-d9e9b9930176 X-App-Token: 9e322bac-8297-49f7-94c8-07946724bcbc
    Postacı'da API anahtarları sağlama
    Postacı'da API anahtarları sağlama (Büyük önizleme)
  9. Başka bir hata mesajı alıyoruz, bu sefer yükün boş olamayacağını söylüyor.
    Voucherify API 400 hata kodunu döndürüyor
    Voucherify API 400 hata kodunu döndürür (Büyük önizleme)

    Bir yük nedir? GET durumunda olduğu gibi, bazı bilgileri almak istiyoruz, POST ile bir şeyler göndermemiz gerekiyor ve gönderdiğimiz mesaja yük denir ve genellikle bir JSON dosyasıdır.

    Şimdi Voucherify API, bir tane sağlamadığımızdan şikayet ediyor, bu da ne tür bir fiş oluşturması gerektiğini söylemediğimiz için bir fiş oluşturamayacağı anlamına geliyor. Peki şimdi ne olacak? Dokümanlara geri dön!
  10. Bu isteğin başarılı olması için ne tür bilgilere ihtiyacı olduğunu bulalım. Listede birçok seçenek görebiliriz.
    Kupon API dokümantasyon alıntısı
    Voucherify API dokümantasyon alıntısı (Geniş önizleme)

    Bir parametre (tip) gereklidir ve diğeri isteğe bağlıdır. Diyelim ki, bugün sona erecek olan ilk 100 müşteri için geçerli %20 indirim olacak. Şimdi, bu indirim özelliklerinden sorumlu parametreleri bulmamız ve bunları Voucherify API'si için anlaşılmaz bir formatta bir araya getirmemiz gerekiyor. Yukarıdaki örneklerde de görebileceğiniz gibi, kullanmanız gereken JSON notasyonu şuna benzer:
     { "type":"DISCOUNT_VOUCHER", "discount":{ "percent_off":20.0, "type":"PERCENT" }, "expiration_date":"2018-12-03T23:59:59Z", "redemption":{ "quantity":100 }
  11. Postacı'da yükü ayarlamak için JSON mesajını Gövde sekmesine yapıştırın. Kullanılabilir yük biçimleri listesinden "ham" türü ve JSON'u seçin ve Gönder ile onaylayın.
    Postacıda POST yöntemi
    Postacı'da POST yöntemi (Geniş önizleme)
  12. işte! Voucherify, %20 indirim kuponumuzu başarıyla oluşturdu (bir test hesabıyla çalıştığımızdan, oluşturulan tüm kodlar "voucherify.io-" öneki ile başlar). Pazarlama ekibi artık kodu müşterilerle paylaşabilir ve Kupon, kullanmak için mağazanıza geldiklerinde kodu otomatik olarak doğrular.
    Voucherify 200 OK döndürür
    Voucherify, 200 OK döndürür (Büyük önizleme)

    Ancak bunun başarılı bir istek olduğunu nasıl bileceğiz? Her şeyden önce, Voucherify'ın bize belgelerine göre doğru bir API yanıtı gibi görünen bir mesaj gönderdiğini görebiliriz. İkinci olarak, Postacı 200 OK durumunu görüntüler - bu, isteğimizin başarılı olduğu anlamına gelir. Neden 200 ve durum nedir?

API Durum Kodları ve Hata Mesajları

Etkileşim kuracağınız API'lerin çoğu HTTP tabanlı olacaktır. HTTP, İnternet'teki çeşitli istemci uygulamaları ve sunucular arasındaki iletişimi standartlaştıran bir protokoldür.

HTTP'nin temel unsurlarından biri durum kodlarıdır. Durum kodunu anlayarak siz (veya aslında uyguladığınız sistemler) isteğinize ne olduğunu hemen anlayabilirsiniz. Yanlış bağlantıyı yazdığınızda en popüler durum kodlarından biriyle karşılaşma ihtimaliniz var — 404

404 hata kodunu onaylayın
Voucherify 404 hata kodu (Geniş önizleme)

Ancak çok daha fazlası var ve son kullanıcılar genellikle bunları görmez. 100+ ile 500+ arasında değişir. Genel olarak, sayılar aşağıdaki kurallara uyar:

  • 200+, isteğin başarılı olduğu anlamına gelir;
  • 300+, isteğin başka bir URL'ye yönlendirildiği anlamına gelir;
  • 400+, istemci uygulamasından kaynaklanan bir hatanın oluştuğu anlamına gelir;
  • 500+, sunucudan kaynaklanan bir hatanın oluştuğu anlamına gelir.

Adımları bir kez daha gözden geçirebilirseniz, API anahtarlarını sağlamadığımızda Voucherify'ın 401 Yetkisiz olarak yanıt verdiğini görürsünüz. Veya Kupon Oluşturma talebi için gerekli yük olmadığında 400 Hatalı İstek. Sonunda, başarılı bir API çağrısının simgesi olarak 200 aldık.

HTTP durum kodlarının anlamını merak ediyorsanız, HTTP Kedilerinden (veya belki bu makaleden) daha iyi bir yer yoktur.

HTTP Cats 401 Yetkisiz
HTTP Cats 401 (Geniş önizleme)

Özet

Artan miktarda veri ve ürün oluşturmadaki hız ihtiyacı, API'leri dijital ekiplerin ortak dili olmaya itti. API öncelikli sistemlere dayalı sistemler tasarlamak için satıcıların tekliflerini anladığınızdan emin olun. Bu uygulamalı test kılavuzu, bunu yapmak için iyi bir başlangıç ​​noktasıdır. API yeteneklerini öğretim ekibinize atmadan önce bile keşfetmenize yardımcı olacak, hem onların hem de sizin enerjinizden tasarruf sağlayacaktır.

Daha fazla okuma

  • “Geliştirici Olmayanlar İçin E-Ticaret API'lerine Giriş,” Scott Brinker
  • Michal Sedzielewski, Voucherify, "Başsız CMS'nin Ötesine Geçin - Başsız Ticaretle Tanışın"
  • Michal Sedzielewski, Medium, "Web Sitelerinizi Daha Hızlı Oluşturmak için API Öncelikli Platformlar Nasıl Kullanılır?"
  • Michal Sedzielewski, Medium, "Prototip Üretiminizi Hazır Hale Getirmek İçin API-İlk Platformunuzu Nasıl Kullanırsınız?"
  • Michal Sedzielewski, Hacker Noon “Uygulamaları Daha Hızlı Oluşturmak İçin Bulut Nasıl Kullanılır”