Showing posts with label API. Show all posts
Showing posts with label API. Show all posts

Wednesday, March 12, 2025

Postman ile Binance API Metotlarını Test Etme

Binance API, kripto para ticaretini otomatikleştirmek ve platformla entegrasyon sağlamak için kapsamlı bir arayüz sunar. Bu rehber, Postman kullanarak Binance API'nin tüm metotlarını nasıl test edeceğinizi ayrıntılı olarak açıklayacaktır.

Gereksinimler:

  • Postman: Postman uygulamasının yüklü olması.
  • Binance API Anahtarları: Binance hesabından oluşturulmuş API anahtarları.
  • API Dokümantasyonu: Binance API dokümantasyonuna erişim.

Adım 1: Postman'de Çalışma Alanı ve Koleksiyon Oluşturma

  1. Postman'i açın ve yeni bir çalışma alanı oluşturun.
  2. Çalışma alanında, "Collections" sekmesine giderek yeni bir koleksiyon oluşturun (örneğin, "Binance API Testleri").

Adım 2: Ortam Değişkenlerini Ayarlama

  1. Koleksiyonunuzun sağ üst köşesindeki "..." simgesine tıklayın ve "Edit"i seçin.
  2. "Variables" sekmesine gidin ve aşağıdaki değişkenleri ekleyin:
    • baseUrl: https://api.binance.com
    • apiKey: API anahtarınız
    • apiSecret: Gizli anahtarınız

Adım 3: API İsteklerini Oluşturma ve Test Etme

Binance API dokümantasyonu, farklı uç noktaları ve metotları kategorilere ayırır. Bu kategorilere göre testleri düzenleyeceğiz.

3.1. Piyasa Verileri (Market Data)

  • GET /api/v3/ping:
    • Sunucunun çalışır durumda olduğunu kontrol eder.
    • URL: {{baseUrl}}/api/v3/ping
  • GET /api/v3/time:
    • Sunucu zamanını alır.
    • URL: {{baseUrl}}/api/v3/time
  • GET /api/v3/ticker/price:
    • Sembolün güncel fiyatını alır.
    • URL: {{baseUrl}}/api/v3/ticker/price?symbol=BTCUSDT
  • GET /api/v3/klines:
    • K-çizgisi/mum verilerini alır.
    • URL: {{baseUrl}}/api/v3/klines?symbol=BTCUSDT&interval=1m

3.2. Hesap Bilgileri (Account)

  • GET /api/v3/account:
    • Hesap bilgilerini alır (imza gerektirir).
    • URL: {{baseUrl}}/api/v3/account
  • GET /api/v3/myTrades:
    • Hesap işlem geçmişini alır (imza gerektirir).
    • URL: {{baseUrl}}/api/v3/myTrades?symbol=BTCUSDT

3.3. Emirler (Orders)

  • POST /api/v3/order:
    • Yeni bir alım/satım emri verir (imza gerektirir).
    • URL: {{baseUrl}}/api/v3/order
  • GET /api/v3/openOrders:
    • Açık emirleri listeler (imza gerektirir).
    • URL: {{baseUrl}}/api/v3/openOrders
  • DELETE /api/v3/order:
    • Bir emri iptal eder (imza gerektirir).
    • URL: {{baseUrl}}/api/v3/order

Adım 4: İmza Oluşturma (Authentication)

  1. Birçok Binance API metodu, isteğin imzalanmasını gerektirir.
  2. Postman'de "Pre-request Script" sekmesini kullanarak imza oluşturma işlemini otomatikleştirebilirsiniz.
  3. İmza oluşturmak için, isteğin parametrelerini ve gizli anahtarınızı kullanarak bir HMAC SHA256 hash'i oluşturmanız gerekir.

Adım 5: Testleri Otomatikleştirme ve Doğrulama

  1. Postman'in "Tests" sekmesini kullanarak API yanıtlarını doğrulayabilirsiniz.
  2. Test senaryoları oluşturarak API'nin beklenen davranışlarını doğrulayın.
  3. Newman gibi araçlarla testlerinizi otomatikleştirebilir ve sürekli entegrasyon (CI) süreçlerinize dahil edebilirsiniz.

Önemli Notlar:

  • Binance API dokümantasyonunu düzenli olarak kontrol edin, çünkü API değişiklik gösterebilir.
  • API anahtarlarınızı ve gizli anahtarlarınızı güvenli bir şekilde saklayın.
  • Binance api'si ile işlem yaparken testnet ağını kullanmanız olası kayıplarınızı engelleyecektir.
  • Hata kodlarına ve mesajlarına dikkat edin.

API Testleri: Yazılım Kalitesinin Temel Taşı (Örneklerle)

API'ler (Uygulama Programlama Arayüzleri), yazılım sistemlerinin birbirleriyle iletişim kurmasını sağlayan kritik bileşenlerdir. Bu nedenle, API'lerin doğru ve güvenilir bir şekilde çalıştığından emin olmak, yazılım kalitesi için hayati önem taşır. API testleri, bu doğruluğu ve güvenilirliği sağlamak için yapılan testlerdir.

API Testlerinin Önemi

  • Erken Hata Tespiti: API testleri, hataların erken aşamalarda tespit edilmesini sağlayarak geliştirme maliyetlerini düşürür.
  • Güvenilirlik: API'lerin doğru çalıştığından emin olarak sistemlerin güvenilirliğini artırır.
  • Güvenlik: API'lerdeki güvenlik açıklarını tespit ederek sistemlerin güvenliğini sağlar.
  • Performans: API'lerin performansını ölçerek sistemlerin verimli çalışmasını sağlar.
  • Entegrasyon: Farklı sistemlerin birbirleriyle sorunsuz bir şekilde entegre olmasını sağlar.

API Test Türleri ve Örnekleri

  1. Fonksiyonel Testler:
    • API'nin beklenen işlevleri doğru bir şekilde yerine getirip getirmediğini kontrol eder.
    • Örnek 1: Bir e-ticaret API'sinde, doğru ürün ID'si ile yapılan bir GET isteğinin, beklenen ürün bilgilerini döndürüp döndürmediğini test etmek.
    • Örnek 2: Bir kullanıcı kayıt API'sinde, geçersiz bir e-posta adresi ile yapılan bir POST isteğinin, uygun hata mesajını döndürüp döndürmediğini test etmek.
  2. Performans Testleri:
    • API'nin hızını, yanıt süresini, kaynak kullanımını ve kararlılığını ölçer.
    • Örnek 1: Bir hava durumu API'sine, aynı anda 1000 kullanıcıdan gelen istekleri simüle ederek, API'nin yanıt süresini ve sunucu yükünü ölçmek.
    • Örnek 2: Bir dosya yükleme API'sine, büyük boyutlu dosyalar göndererek, API'nin yük altında nasıl performans gösterdiğini test etmek.
  3. Güvenlik Testleri:
    • API'deki güvenlik açıklarını (örneğin, yetkisiz erişim, veri sızıntısı) tespit eder.
    • Örnek 1: Bir kullanıcı giriş API'sine, SQL enjeksiyonu saldırısı yaparak, API'nin veritabanına yetkisiz erişimi önleyip önlemediğini test etmek.
    • Örnek 2: Bir API'nin, hassas kullanıcı verilerini (örneğin, kredi kartı bilgileri) şifrelenmemiş olarak gönderip göndermediğini test etmek.
  4. Güvenilirlik Testleri:
    • API'nin kararlılığını ve tutarlılığını test eder.
    • Örnek 1: Bir API'yi, 24 saat boyunca sürekli olarak çağırarak, API'nin kesintisiz çalıştığını ve hata vermediğini test etmek.
    • Örnek 2: Bir API'nin, farklı giriş parametreleri ile tutarlı sonuçlar döndürüp döndürmediğini test etmek.
  5. Birim Testleri:
    • API'nin tek tek bileşenlerinin (örneğin, fonksiyonlar, metotlar) doğru çalıştığını test eder.
    • Örnek 1: Bir API'deki bir fonksiyonun, doğru girişlerle doğru sonuçlar döndürüp döndürmediğini test etmek.
    • Örnek 2: Bir API'deki bir metodun, beklenen istisnaları (exceptions) doğru bir şekilde fırlatıp fırlatmadığını test etmek.
  6. Entegrasyon Testleri:
    • API'nin diğer sistemlerle (örneğin, veritabanları, harici servisler) doğru bir şekilde entegre olup olmadığını test eder.
    • Örnek 1: Bir API'nin, bir veritabanından doğru verileri okuyup yazabildiğini test etmek.
    • Örnek 2: Bir API'nin, bir ödeme sistemi API'si ile doğru bir şekilde iletişim kurabildiğini test etmek.

API Test Araçları

  • Postman: API testleri için popüler ve kullanıcı dostu bir araçtır.
  • JMeter: Performans testleri için yaygın olarak kullanılan açık kaynaklı bir araçtır.
  • SoapUI: SOAP ve REST API'lerini test etmek için kullanılan bir araçtır.
  • Karate DSL: API otomasyonu için açık kaynaklı bir araçtır.
  • Rest Assured: Java tabanlı REST API testleri için kullanılan bir kütüphanedir.

API Test Stratejisi

  • Test senaryolarını ve test verilerini dikkatlice planlayın.
  • Testleri otomatikleştirerek sürekli test yapılmasını sağlayın.
  • Test sonuçlarını düzenli olarak analiz edin ve raporlayın.
  • Geri bildirimleri dikkate alarak API'yi sürekli olarak iyileştirin.