Sektör terimi
API
Diğer adları: Uygulama programlama arayüzü
Bir yazılımın başka bir yazılımla belirli kurallar çerçevesinde veri alışverişi yapmasını sağlayan arayüz. Web API'lerinde bu alışveriş genellikle HTTP istekleri ve JSON yanıtlarıyla yapılır.
Ayrıntılı açıklama
Bir web API'si uç noktalardan (endpoint) oluşur ve her uç nokta belirli bir işi yapar: bir kaynağı okumak için genellikle GET, bir işlem başlatmak için POST gibi yöntemler kullanılır. Yanıt bir HTTP durum koduyla gelir; 2xx başarıyı, 4xx istemci hatasını, 5xx sunucu hatasını gösterir.
API'ler kimlik doğrulama ister. Yaygın yöntemler API anahtarları, kısa ömürlü erişim jetonları (Bearer token) ve istek imzalamadır. İyi tasarlanmış bir API her istemciye yalnızca ihtiyaç duyduğu yetkileri verir ve aşırı kullanımı hız sınırlarıyla kontrol eder.
LLCBullet'in dış API'sine panelde oluşturulan kişisel API anahtarlarıyla erişilir. Önce imzalı bir istekle 15 dakika geçerli bir erişim jetonu alınır; ardından hesap bilgileri, paketler ve otomasyon görevleri okunabilir ya da görevler tetiklenebilir. Yapılabilecek işlemler anahtarın kapsamlarıyla sınırlıdır.
Nasıl işler?
- İstemci, API'nin belgelenmiş bir uç noktasına HTTP isteği gönderir.
- İstek; anahtar, jeton ya da imza ile kimliğini kanıtlar.
- Sunucu yetkiyi ve girdiyi doğrular, ardından işlemi yapar.
- Sonuç bir durum kodu ve genellikle JSON gövdeyle döner.
Örnek
Kendi sunucundaki bir betik, LLCBullet API'sinden GET /subscriptions ile paketlerinin bitiş tarihlerini okuyabilir ve bitişe yaklaşan paketler için kendi iç sisteminde uyarı oluşturabilir.
Sık sorulan sorular
API ile webhook arasındaki fark nedir?
API'de veriyi sen istersin: istemci sunucuya istek gönderir. Webhook'ta ise sunucu, bir olay ya da zamanlama gerçekleştiğinde veriyi senin adresine kendisi gönderir.
LLCBullet API'sini tarayıcıdan çağırabilir miyim?
Gizli anahtarı tarayıcıda çalışan koda koymamalısın. API'yi yalnızca kendi sunucundan ya da betiklerinden, gizli anahtarı ortam değişkeninde saklayarak çağır.
İlgili terimler
- API anahtarıKendi yazılımından hesabına erişmek için panelde oluşturulan kişisel anahtar.
- WebhookGörev sonucunun belirlediğin HTTPS adresine otomatik olarak POST isteğiyle gönderilmesi.
- Hız sınırıBir istemcinin belirli bir sürede yapabileceği istek ya da deneme sayısına konan üst sınır.
- HMAC imzasıBir mesajın, yalnızca gönderen ve alıcının bildiği gizli bir anahtarla üretilmiş doğrulama kodu.
- 5xx durum kodlarıHTTP yanıtlarında 500 ile 599 arasındaki durum kodları.
- IP izin listesiBir hizmete ya da anahtara yalnızca önceden belirlenmiş IP adreslerinden erişilmesine izin veren liste.