Ana içeriğe geç

Kimlik Doğrulama ve API Anahtarları

API anahtarı nedir

API anahtarı, kodunuzun Cognivo'ya gönderdiği ve bir isteğin size ait olduğunu anlamamızı sağlayan gizli bilgidir. Her Developer API çağrısı bir anahtar taşır. Anahtarlar bir projenin içinde yer alır ve proje, anahtarlarınızı ve kullanımlarını bir arada gruplar.

Bu sayfayı ilk çağrınızdan önce, bir anahtarın neleri yapmasına izin verildiğini bilmeniz gerektiğinde ya da bir anahtar sızmış olabileceği için onu devre dışı bırakmanız gerektiğinde okuyun.

Nerede bulunur

Cognivo dApp'te oturum açın, sol kenar çubuğunda Account bölümünü, ardından Developers sayfasını açın. Oturum açmadığınızda sayfa yalnızca bir tanıtım ekranı gösterir.

Developers sayfasında dört sekme vardır: Keys, Usage, Endpoints ve Quickstart. Bu sayfadaki her şey Keys sekmesinde gerçekleşir.

Canlı erişim ve kredi bakiyeniz

Sayfanın üst kısmındaki bir banner erişim modelini açıkça belirtir: bazı endpoint'ler etkin herhangi bir anahtarla ücretsizdir, diğerleri ise başarılı çağrı başına Cognivo kredi bakiyenizden ücretlendirilir. Daha aşağıda yer alan Live API access kartı, canlı bir anahtarın oluşturduğunuz anda çalıştığını teyit eder. Onay adımı ya da bekleme listesi yoktur.

Sayfanın yanında güncel kredi bakiyeniz, bir Top up credits düğmesi ve bir Enterprise access düğmesi görünür. Enterprise, özel fiyatlandırma ya da daha yüksek limitler için talep üzerinden ilerleyen tek erişim yoludur. Geri kalan her şey self servistir.

Geliştiriciler sayfasında biraz daha aşağıda yer alan Canlı API erişimi paneli.Görseli büyüt

Her Cognivo hesabı ayrıca her gün 5 ücretsiz kredi alır; bunlar UTC gece yarısında sıfırlanır. Bakiyenin nasıl işlediği için Billing ve Krediler, endpoint başına fiyatlar için Hız limitleri, hatalar ve faturalandırma sayfasına bakın.

Keys sekmesi

Project açılır menüsünden bir proje seçin ya da New project ile bir tane oluşturun. Keys sekmesi ardından o projeye ait tüm anahtarları listeler.

Geliştiriciler sayfasındaki Anahtarlar sekmesi, seçili projeye ait her anahtarı listeler.Görseli büyüt

Her anahtar satırı, verdiğiniz adı, anahtarın Test mi Live mı olduğunu, geçerli saatlik limiti, taşıdığı izinleri ve ne zaman oluşturulup en son ne zaman kullanıldığını gösterir. Last used: Never ifadesi, o anahtarla hiç çağrı yapılmadığı anlamına gelir.

Bir anahtarın yalnızca öneki ve son dört karakteri gösterilir. Cognivo geri okunabilecek başka hiçbir şey saklamaz; tam anahtarın tam olarak bir kez görünmesinin nedeni budur.

Bir anahtar oluşturma

+ New key seçin. Form üç şey ister: anahtarlarınızı birbirinden ayırt etmenize yardımcı olacak isteğe bağlı bir ad, Test ya da Live modu ve en az bir izin.

Geliştiriciler sayfasında Yeni anahtar düğmesiyle açılan yeni anahtar formu.Görseli büyüt

Live seçmek, mod açılır menüsünün altında kredi bakiyenizi gösterir; bu, canlı çağrıların gerçek çağrılar olduğunu ve bu bakiyeden ücretlendirildiğini hatırlatır. Test seçmek ise hiçbir zaman ücretlendirilmeyen ve dar limitleri olan bir sandbox anahtarı oluşturur.

Create key seçtiğinizde tam anahtar bir kez, bir iletişim kutusunda görünür.

  1. Tam anahtar hâlâ ekrandayken kopyalama simgesiyle kopyalayın, çünkü bir daha gösterilmez.
  2. Anahtarı daha sonra bulabileceğiniz bir yere kaydettikten sonra Tamam'ı seçin.
Anahtarlar sekmesindeki tek seferlik anahtar iletişim kutusu, yeni bir anahtar oluşturulduğu anda görünür.Görseli büyüt

Anahtarı kaybederseniz geri kurtaramazsınız. Bunun yerine anahtarı döndürün; bu işlem aşağıda anlatılıyor.

Anahtarınızı gönderme

Kanonik başlık X-API-Key şeklindedir:

curl -X POST 'https://api.cognivolabs.io/v1/api/intel/risk' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"chain":"eth","address":"0xTOKEN_CONTRACT"}'

Authorization: Bearer YOUR_API_KEY biçimi, bunu tercih eden istemci kütüphaneleri için bir alternatif olarak kabul edilir. Anahtarı sunucunuzda tutun. Asla tarayıcı koduna koymayın.

API bugün Ethereum, Base ve BNB Chain'i kapsar.

İzinler

Anahtarlar varsayılan olarak reddeder. Bir anahtar yalnızca oluştururken verdiğiniz endpoint gruplarını çağırabilir. Üç izin vardır ve her biri bir endpoint kümesinin kilidini açar.

Intelligence (intel:read) günlük kullanım iznidir. "Bu token ya da cüzdanda neler oluyor?" sorusunu yanıtlar: fiyat düşüşünün nedenleri, risk sinyalleri, ekip cüzdanı davranışı, gerçekleşmiş PnL ve tam hareketler. POST /v1/api/intel/why-down, POST /v1/api/intel/team-wallets, POST /v1/api/intel/risk, POST /v1/api/wallet/pnl ve POST /v1/api/wallet/exact-movements endpoint'lerinin kilidini açar.

Security (security:read) bir anahtarın, bir cüzdanın neleri onayladığını kontrol etmesini sağlar; hangi kontratların token'larını harcayabildiği ve hangi izinlerin sınırsız olduğu dahil. Yalnızca okumadır. Bu izne sahip bir anahtar asla fon hareket ettiremez ya da bir onayı iptal edemez. POST /v1/api/wallet/approvals endpoint'inin kilidini açar.

Liquidity (liquidity:read) bir anahtarın havuz bağlamını, LP saklama durumunu ve kilit ile yakma bağlamını okumasını sağlar. POST /v1/api/intel/liquidity endpoint'inin kilidini açar.

GET /v1/api/health hiçbir anahtar gerektirmez. GET /v1/api/me ve GET /v1/api/discover, izinleri ne olursa olsun geçerli herhangi bir anahtarla çalışır.

İzinler anahtar oluşturulduğunda sabitlenir. Bunları değiştirmek için ihtiyacınız olan izinlerle yeni bir anahtar oluşturun ve eskisini iptal edin. 403 scope_denied ile başarısız olan bir çağrı, anahtarın o endpoint'in gerektirdiği izni taşımadığı anlamına gelir.

Test anahtarları ve canlı anahtarlar

ÖnekNe için kullanılırFaturalandırmaHız üst sınırı
cogv_test_API'yi denemek için. Portalda Test ve Sandbox olarak etiketlenir. Canlı istihbarat çalıştıramaz.asla ücretlendirilmezsaatte 25 istek, günde 100, saniyede 1
cogv_live_Gerçek trafik için. Self servistir, hemen çalışır.Başarılı çağrı başına Cognivo kredisi. Başarısız çağrılar asla ücretlendirilmez.başlangıçta saatte 1.000 istek, bkz. hız limitleri

Test anahtarı ücretsiz bir üretim anahtarı değildir. Bununla yapılan canlı çağrılar 403 sandbox_limited yanıtı verir. Developer API çağrıları için ücretlendirme bugün kapalıdır, bu yüzden başarılı bir çağrı hiçbir şey düşmez ve bakiyeniz değişmez.

Portal ayrıca her anahtarda bir erişim modu gösterir. Paid sıradan kullandıkça öde modelidir. Trial, bitiş tarihi olan geçici bir değerlendirme hakkıdır. Partner ve Enterprise, Cognivo ile kurulan düzenlemelerdir. Suspended, anahtarın hiçbir şey çalıştıramayacağı anlamına gelir ve portal nedenini gösterir. Az sayıda eski anahtar, self servis faturalandırmadan önce oluşturulmuştur ve yalnızca metadata endpoint'lerini çağırabilir; bu yüzden canlı çağrılar 403 access_required yanıtı verir. Bunları kullandıkça öde modeline taşımak için yeni bir canlı anahtar oluşturun.

GET /v1/api/me, anahtarınızın erişim modunu, izinlerini, credits_balance değerinizi ve kredi yükleme yönergelerini bildirir. Bakiyeniz bir çağrıyı karşılayamıyorsa 402 payment_required alırsınız ve hiçbir ücret kesilmez. Kredi yükleyip yeniden deneyin.

Döndürme ve iptal etme

Her iki kontrol de her anahtar satırının sağında yer alır.

  1. Bunun ne tür bir anahtar olduğunu görmek için adın yanındaki Test ve Sandbox etiketlerine ve yanlarında yazan saatlik limite bakın.
  2. Bu anahtarı yenisiyle değiştirmek için Yenile'yi seçin; yeni anahtar bir kez gösterilir ve eski anahtar hemen çalışmayı durdurur.
  3. Bir anahtarı kalıcı olarak kapatmak için İptal et'i seçin, örneğin artık gerekmiyorsa veya başkasının onu gördüğünü düşünüyorsanız.
Geliştiriciler sayfasının Anahtarlar sekmesindeki anahtar satırları.Görseli büyüt

Döndürme işlemi önce onay ister ve iletişim kutusu tam olarak ne olacağını söyler.

Anahtarlar sekmesinde bir anahtar için Yenile'yi seçtikten sonra görünen yenileme onayı.Görseli büyüt

Döndürülen bir anahtar adını, izinlerini, katmanını, varsa ağ kısıtlamasını, varsa son kullanma tarihini ve kalan hakkını korur; bu yüzden döndürme güvenlidir ve anahtarın yapabileceklerini sessizce genişletmez. Yeni anahtar, tıpkı yeni bir anahtar gibi aynı iletişim kutusunda bir kez gösterilir. İptal etme kalıcıdır ve anahtarın her endpoint üzerinde çalışmasını hemen durdurur.

Sızma şüphesi duyduğunuz her durumda ve düzenli bir takvimle anahtarları döndürün.

Cognivo'nun bir anahtara uygulayabileceği kısıtlamalar

Bunlar portal formunda değil anahtar kaydında ayarlanır ve her istekte uygulanır. Kendi anahtarınız için nelerin geçerli olduğunu GET /v1/api/me ile teyit edebilirsiniz.

  • Ağ kısıtlaması. Bir anahtar belirli ağlarla sınırlandırılabilir. Farklı bir ağ belirten bir istek 403 chain_denied ile reddedilir. Reddetme, Cognivo herhangi bir yukarı akış çağrısı yapmadan ve herhangi bir hak kullanılmadan önce gerçekleşir; böylece anahtarınızın yapmasına izin verilmeyen bir çağrı size hiçbir zaman bir şeye mal olmaz. allowed_chains olarak bildirilir; burada null kısıtlama olmadığı anlamına gelir.
  • Son kullanma. Bir anahtara bitiş tarihi verilebilir. Bu tarih geçtikten sonra anahtar GET /v1/api/me dahil her yerde çalışmayı durdurur ve 403 key_expired döndürür. expires_at olarak bildirilir; burada null süresinin dolmadığı anlamına gelir. Bir deneme hakkının da bitiş tarihi varsa hangisi önce gelirse o geçerli olur.
  • Origin ve IP izin listeleri. Bir anahtar belirli origin'lerle (https://*.yourapp.com gibi joker alt alan adları dahil) ya da belirli IP adresleri ve CIDR aralıklarıyla sınırlandırılabilir. Başka her yerden gelen istekler 403 origin_denied ile reddedilir. Boş listeler kısıtlama olmadığı anlamına gelir.

Sonraki adımlar

Elinizde bir anahtarla, Hızlı Başlangıç sayfasında ilk çağrınızı yapın, ardından her endpoint'in ne döndürdüğünü ve ne kadara mal olduğunu görmek için Endpoint referansına göz atın. Bir çağrı tanımadığınız bir hata koduyla dönerse Hız limitleri, hatalar ve faturalandırma sayfası bunların tamamını listeler.