Ana Sayfaya Dön

PredictivS API Entegrasyon Kılavuzu

Müşteri Churn Tahmin API'sini Projenize Entegre Edin

🚀 Hızlı Başlangıç

PredictivS API, REST tabanlı bir servis olup JSON formatında veri alır ve döndürür. API'yi kullanmak için öncelikle bir hesap oluşturmanız ve API token almanız gerekmektedir.

1. Hesap Oluşturma

Öncelikle kayıt olun ve hesabınızı aktifleştirin.

2. API Token Alma

Giriş yapın ve Dashboard > API Tokens bölümünden yeni bir token oluşturun.

# Token'ınızı güvenli bir yerde saklayın
export PREDICTIVS_API_TOKEN="your_api_token_here"

🔐 Kimlik Doğrulama

Tüm API istekleri Bearer token ile doğrulanır. Token'ınızı Authorization header'ında göndermelisiniz:

Authorization: Bearer YOUR_API_TOKEN

Python Örneği

import requests

API_URL = "https://api.predictivs.com"  # Üretim URL'i
TOKEN = "your_api_token_here"

headers = {
    "Authorization": f"Bearer {TOKEN}",
    "Content-Type": "application/json"
}

response = requests.get(f"{API_URL}/health", headers=headers)
print(response.json())

JavaScript Örneği

const API_URL = "https://api.predictivs.com";
const TOKEN = "your_api_token_here";

const headers = {
    "Authorization": `Bearer ${TOKEN}`,
    "Content-Type": "application/json"
};

fetch(`${API_URL}/health`, { headers })
    .then(response => response.json())
    .then(data => console.log(data));

📱 Telekom Churn Tahmini API

POST /telco/predict

Telekom müşterisi için churn tahmini yapar

İstek Parametreleri

Parametre Tip Zorunlu Açıklama
customer_id string EVET Müşteri benzersiz kimliği
gender string EVET Cinsiyet (Male, Female)
senior_citizen integer EVET Yaşlı mı? (0: Hayır, 1: Evet)
partner string EVET Partneri var mı? (Yes, No)
dependents string EVET Bağımlıları var mı? (Yes, No)
tenure integer EVET Müşteri kalma süresi (ay)
phone_service string EVET Telefon hizmeti (Yes, No)
multiple_lines string EVET Çoklu hat (Yes, No, No phone service)
internet_service string EVET İnternet servisi (DSL, Fiber optic, No)
online_security string EVET Online güvenlik (Yes, No, No internet service)
online_backup string EVET Online yedekleme (Yes, No, No internet service)
device_protection string EVET Cihaz koruması (Yes, No, No internet service)
tech_support string EVET Teknik destek (Yes, No, No internet service)
streaming_tv string EVET TV streaming (Yes, No, No internet service)
streaming_movies string EVET Film streaming (Yes, No, No internet service)
contract string EVET Sözleşme tipi (Month-to-month, One year, Two year)
paperless_billing string EVET Kağıtsız fatura (Yes, No)
payment_method string EVET Ödeme yöntemi (Electronic check, Mailed check, Bank transfer, Credit card)
monthly_charges float EVET Aylık ücret
total_charges float EVET Toplam ücret

İstek Örneği

import requests

url = "https://api.predictivs.com/telco/predict"
headers = {
    "Authorization": "Bearer your_api_token_here",
    "Content-Type": "application/json"
}

data = {
    "customer_id": "7590-VHVEG",
    "gender": "Female",
    "senior_citizen": 0,
    "partner": "Yes",
    "dependents": "No",
    "tenure": 34,
    "phone_service": "Yes",
    "multiple_lines": "No",
    "internet_service": "DSL",
    "online_security": "No",
    "online_backup": "Yes",
    "device_protection": "No",
    "tech_support": "No",
    "streaming_tv": "No",
    "streaming_movies": "No",
    "contract": "Month-to-month",
    "paperless_billing": "Yes",
    "payment_method": "Electronic check",
    "monthly_charges": 65.6,
    "total_charges": 1889.5
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)

Yanıt Örneği

{
    "customer_id": "7590-VHVEG",
    "churn_prediction": "No",
    "churn_probability": 0.23,
    "confidence": "High",
    "risk_level": "Low",
    "recommendation": "Müşteri düşük riskli. Mevcut hizmetleri koruyun.",
    "timestamp": "2025-01-10T12:34:56.789Z"
}

🏦 Bankacılık Churn Tahmini API

POST /banking/predict

Banka müşterisi için churn tahmini yapar

İstek Parametreleri

Parametre Tip Zorunlu Açıklama
customer_id string EVET Müşteri benzersiz kimliği
credit_score integer EVET Kredi skoru (300-850)
geography string EVET Coğrafi konum (France, Spain, Germany vb.)
gender string EVET Cinsiyet (Male, Female)
age integer EVET Yaş
tenure integer EVET Banka ile çalışma süresi (yıl)
balance float EVET Hesap bakiyesi
num_of_products integer EVET Ürün sayısı (1-4)
has_cr_card integer EVET Kredi kartı var mı? (0: Hayır, 1: Evet)
is_active_member integer EVET Aktif üye mi? (0: Hayır, 1: Evet)
estimated_salary float EVET Tahmini maaş

İstek Örneği

import requests

url = "https://api.predictivs.com/banking/predict"
headers = {
    "Authorization": "Bearer your_api_token_here",
    "Content-Type": "application/json"
}

data = {
    "customer_id": "15634602",
    "credit_score": 619,
    "geography": "France",
    "gender": "Female",
    "age": 42,
    "tenure": 2,
    "balance": 0.0,
    "num_of_products": 1,
    "has_cr_card": 1,
    "is_active_member": 1,
    "estimated_salary": 101348.88
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)

Yanıt Örneği

{
    "customer_id": "15634602",
    "churn_prediction": "No",
    "churn_probability": 0.15,
    "confidence": "High",
    "risk_level": "Low",
    "recommendation": "Müşteri sadık. Çapraz satış fırsatları değerlendirin.",
    "timestamp": "2025-01-10T12:34:56.789Z"
}

⚠️ Hata Yönetimi

HTTP Durum Kodları

Kod Anlamı Açıklama
200 OK İstek başarılı
400 Bad Request Geçersiz parametreler
401 Unauthorized Geçersiz veya eksik token
403 Forbidden Yetkisiz erişim veya lisans sorunu
429 Too Many Requests Rate limit aşıldı
500 Internal Server Error Sunucu hatası

Hata Yanıtı Örneği

{
    "error": "Invalid token",
    "detail": "The provided API token is invalid or expired",
    "status_code": 401
}

📊 Rate Limits

API kullanımınız lisans tipinize göre sınırlandırılmıştır:

Lisans Tipi Dakika Başı İstek Aylık Tahmin Limiti
Trial 10 100
Starter 60 5,000
Professional 300 50,000
Enterprise Sınırsız Sınırsız

✅ En İyi Uygulamalar

  • 🔒 API token'larınızı asla kaynak kodda saklamayın, environment variables kullanın
  • ⚡ Rate limit'leri aşmamak için istekleri batch halinde gönderin
  • 🔄 Hata durumlarında exponential backoff uygulayın
  • 📝 Tüm istekleri ve yanıtları loglayın
  • 🎯 Üretim ortamında HTTPS kullanın
  • 💾 Yanıtları cache'leyerek API çağrılarını azaltın
  • 🔔 Rate limit aşımları için webhook kullanın

💬 Destek

Sorularınız için: