API ile SMM Siparişi: Otomasyon Kuranlar için Rehber
Standart API şeması
Sektörde yaygın olan API, tek uç noktaya form verisiyle istek atılan basit bir yapı: action=services listeyi, action=add siparişi, action=status durumu döndürüyor.
Cevaplar JSON; hata durumunda gövdede error alanı geliyor. Bu basitlik, entegrasyonu kolaylaştırırken hata yönetimini geliştiriciye bırakıyor.
Refill ve cancel çağrıları da aynı şemayı takip ediyor ve panellerin bir kısmı bunları desteklemiyor; entegrasyonda bu farkı ele almak gerekiyor.
Kritik nokta: belirsizlik
Ağ hatası veya zaman aşımı aldığında siparişin oluşup oluşmadığını bilemiyorsun. Bu durumda otomatik tekrar denemek, aynı siparişi iki kez göndermeye yol açıyor.
Doğru yaklaşım, her sipariş isteğine kendi ürettiğin tekil bir anahtar bağlamak ve aynı anahtarla gelen ikinci isteği yeni sipariş saymamak.
İkinci kural: belirsiz durumda müşteriden tahsil edilen tutarı hemen iade etmemek. Sipariş sağlayıcıda çalışıyor olabilir; durum sorgusu sonucu belirlemeli.
Durum sorgusu
Durumlar sağlayıcıya göre farklı isimlendirilebiliyor (Pending, In progress, Completed, Partial, Canceled). Eşleştirme tablosu tutmak, sonradan çıkacak sürprizleri engelliyor.
Toplu durum sorgusu desteklenmiyorsa tek tek sorgu gerekiyor; istek sayısını sınırlamak için gruplama ve aralık yönetimi şart.
Sipariş kimlikleri yalnızca kendi sağlayıcısı içinde tekil; birden çok sağlayıcı kullanıyorsan kimlikleri asla tek bir sorguda karıştırmamak gerekiyor.
Kısmi teslimat ve iade
Partial durumunda teslim edilmeyen adedin ücreti iade edilmeli. Bu hesabı otomatikleştirmeyen sistemler, en çok şikâyet üreten yerdir.
İade kayıtlarının tekrarlanmasını engellemek için her iade kaydının tekil bir referansa bağlanması gerekiyor; aynı sipariş için iki iade kaydı oluşması en pahalı hata.
Telafi akışı da benzer: talep tekrarını engellemek ve sağlayıcı cevabını kayıt altına almak gerekiyor.
Güvenlik
API anahtarı yalnızca sunucu tarafında tutulmalı. İstemciye düşen anahtar herkese açıktır ve bakiyeni harcamak için yeterlidir.
Sağlayıcıdan gelen hata metinleri müşteriye gösterilmeden önce temizlenmeli: anahtar içerebiliyor, HTML içerebiliyor ve çok uzun olabiliyor.
İstek hızı sınırlaması da gerekli; sağlayıcılar aşırı istek durumunda geçici olarak erişimi kesiyor.
Sık sorulan sorular
API anahtarımı istemcide kullanabilir miyim?
Hayır. Anahtar yalnızca sunucu tarafında tutulmalı; istemciye düşen anahtar herkese açıktır.
Hız sınırı var mı?
Sağlayıcıya göre değişir; toplu sorgularda gruplama ve bekleme uygulamak gerekiyor.
Aynı siparişi iki kez göndermeyi nasıl engellerim?
Her sipariş isteğine kendi ürettiğin tekil bir anahtar bağlayarak. Aynı anahtarla gelen ikinci istek yeni sipariş sayılmamalı.