API Anahtarı Nedir?
API anahtarı, Giizo AI asistanlarınızı kendi uygulamanızdan, web sitenizden veya harici sistemlerden kullanmanızı sağlayan özel bir kimliktir. API anahtarı ile programatik olarak asistanlarınızla etkileşime girebilirsiniz.
API Anahtarı Kullanım Alanları
Ne İçin Kullanılır?
- Mobil Uygulamalar: iOS, Android uygulamalarınızda
- Web Uygulamaları: Kendi web sitenizde özel entegrasyon
- Backend Sistemler: Sunucu taraflı entegrasyonlar
- Otomasyon: Otomatik işlemler ve scriptler
- Üçüncü Parti Entegrasyonlar: Diğer platformlarla bağlantı
API Anahtarı Oluşturma
Adım 1: Ayarlar Sayfasına Gidin
- Sağ üst köşedeki profil simgesine tıklayın
- "Ayarlar" seçeneğine tıklayın
Adım 2: API Anahtarları Sekmesi
- "API Anahtarları" sekmesine tıklayın
- Mevcut anahtarlarınızı (varsa) görürsünüz
Adım 3: Yeni Anahtar Oluştur
- "+ Yeni API Anahtarı Oluştur" butonuna tıklayın
- Modal pencere açılır
Adım 4: Anahtar Bilgilerini Doldurun
Anahtar Adı
- Anahtarı tanımlayıcı bir isim verin
- Örnek: "Mobil Uygulama", "Web Sitesi", "Test Anahtarı"
- Birden fazla anahtarınız varsa ayırt etmenizi kolaylaştırır
Açıklama (Opsiyonel)
- Anahtarın ne için kullanıldığını açıklayın
- Örnek: "iOS uygulaması için production anahtarı"
Adım 5: Oluştur ve Kopyala
- "Oluştur" butonuna tıklayın
- API anahtarı oluşturulur
- Anahtar sadece bir kez gösterilir!
- "Kopyala" butonuna tıklayarak kopyalayın
- Güvenli bir yere kaydedin
ÖNEMLİ UYARI: API anahtarı sadece oluşturma anında gösterilir. Kaybederseniz yeni bir tane oluşturmanız gerekir!
API Anahtarı Formatı
Anahtar Yapısı
API anahtarları şu formatta olur:
sk_live_abc123def456ghi789jkl012mno345
Prefix Anlamları:
- sk_live_ - Canlı (production) ortam anahtarı
- sk_test_ - Test ortamı anahtarı (varsa)
API Anahtarını Kullanma
HTTP Header ile Gönderme
API isteklerinizde anahtarı header olarak gönderin:
Authorization: Bearer sk_live_abc123def456ghi789jkl012mno345
Örnek API İsteği (cURL)
curl -X POST https://api.giizo.ai/v1/chat \
-H "Authorization: Bearer sk_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"agent_id": "your-agent-id",
"message": "Merhaba!"
}'
Örnek API İsteği (JavaScript)
const response = await fetch('https://api.giizo.ai/v1/chat', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_live_abc123...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
agent_id: 'your-agent-id',
message: 'Merhaba!'
})
});
const data = await response.json();
console.log(data);
Örnek API İsteği (Python)
import requests
headers = {
'Authorization': 'Bearer sk_live_abc123...',
'Content-Type': 'application/json'
}
data = {
'agent_id': 'your-agent-id',
'message': 'Merhaba!'
}
response = requests.post(
'https://api.giizo.ai/v1/chat',
headers=headers,
json=data
)
print(response.json())
API Anahtarı Yönetimi
Anahtarları Görüntüleme
- Ayarlar > API Anahtarları sayfasına gidin
- Tüm anahtarlarınız listelenir
Her Anahtar İçin Gösterilen Bilgiler:
- Anahtar Adı
- Anahtar (Kısmi): İlk ve son 4 karakter (örn: sk_li...o345)
- Oluşturulma Tarihi
- Son Kullanım Tarihi
- Kullanım Sayısı (varsa)
Anahtar Silme
- Silmek istediğiniz anahtarın yanındaki "Sil" butonuna tıklayın
- Onay penceresinde "Evet, Sil" butonuna tıklayın
- Anahtar kalıcı olarak silinir
- Bu anahtarı kullanan uygulamalar artık çalışmaz
Dikkat: Silinen anahtarlar geri getirilemez!
Güvenlik İpuçları
✅ Yapılması Gerekenler
- Güvenli Saklama: Anahtarları şifreli ortamlarda saklayın
- Environment Variables: Kodda hardcode etmeyin, env değişkenlerinde tutun
- HTTPS Kullanımı: Sadece güvenli bağlantılarla gönderin
- Düzenli Rotasyon: Periyodik olarak yeni anahtar oluşturun
- Farklı Ortamlar: Test ve production için ayrı anahtarlar kullanın
- İzleme: Kullanım loglarını düzenli kontrol edin
❌ Yapılmaması Gerekenler
- Public Repolar: GitHub, GitLab gibi yerlerde paylaşmayın
- Frontend Kodu: Client-side JavaScript'te açıkça kullanmayın
- E-posta/Chat: Güvensiz kanallardan paylaşmayın
- Ekran Görüntüsü: Anahtarın göründüğü ekran görüntüsü almayın
- Hardcode: Kodun içine doğrudan yazmayın
Ortam Değişkenleri ile Kullanım
Node.js (.env dosyası)
# .env
GIIZO_API_KEY=sk_live_abc123def456ghi789jkl012mno345
# .gitignore'a ekleyin
.env
// Kullanım
require('dotenv').config();
const apiKey = process.env.GIIZO_API_KEY;
Python (.env dosyası)
# .env
GIIZO_API_KEY=sk_live_abc123def456ghi789jkl012mno345
# Kullanım
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv('GIIZO_API_KEY')
API Dokümantasyonu
Endpoint'lere Erişim
Detaylı API dokümantasyonu için:
- URL: https://docs.giizo.ai/api
- Swagger UI: https://api.giizo.ai/docs
Temel Endpoint'ler:
- POST /v1/chat - Mesaj gönderme
- GET /v1/agents - Asistan listesi
- GET /v1/conversations - Konuşma geçmişi
- POST /v1/knowledge-base - Bilgi tabanı ekleme
Rate Limiting (Hız Limitleri)
Limit Değerleri:
- Ücretsiz Plan: 10 istek/dakika
- Başlangıç Plan: 60 istek/dakika
- Profesyonel Plan: 300 istek/dakika
- Kurumsal Plan: Özel limit
Limit Aşımı
Limit aşıldığında:
- HTTP 429 hatası döner
- Retry-After header'ı ile bekleme süresi belirtilir
- Bir süre bekleyip tekrar deneyin
Hata Yönetimi
Yaygın Hatalar:
401 Unauthorized
- Neden: API anahtarı geçersiz veya eksik
- Çözüm: Anahtarı kontrol edin, doğru header kullanın
403 Forbidden
- Neden: Yetki yok veya plan limiti
- Çözüm: Planınızı kontrol edin, yükseltin
429 Too Many Requests
- Neden: Rate limit aşıldı
- Çözüm: Bekleyin veya planı yükseltin
Sık Sorulan Sorular
Kaç API anahtarı oluşturabilirim?
Plan limitinize bağlı olarak birden fazla anahtar oluşturabilirsiniz.
API anahtarımı kaybettim, ne yapmalıyım?
Eski anahtarı silin ve yeni bir tane oluşturun. Eski anahtar artık çalışmaz.
API anahtarı çalınırsa ne olur?
Hemen anahtarı silin ve yeni bir tane oluşturun. Kullanım loglarını kontrol edin.
Frontend'de API anahtarı kullanabilir miyim?
Hayır! API anahtarları backend'de kullanılmalıdır. Frontend için widget kullanın.
API kullanımı ücrete dahil mi?
Evet, API kullanımı token ve konuşma limitinizden düşer.
İpuçları
- Her uygulama için ayrı anahtar oluşturun
- Anahtarları güvenli saklayın
- Environment variables kullanın
- Düzenli olarak anahtarları yenileyin
- Kullanılmayan anahtarları silin
- API dokümantasyonunu inceleyin
- Rate limit'lere dikkat edin
- Hata yönetimi yapın