- AdminCP
- #1
REST • JSON • Webhook • OAuth • Üçüncü Parti API’lar
API (Application Programming Interface), yazılımların birbirine veri göndermesi ve iletişim kurmasını sağlayan temel yapıdır. Bu rehber, API kullanımını, entegrasyon tekniklerini ve hazır script örneklerini tablolar hâlinde açıklar.
OAuth akışı:
API (Application Programming Interface), yazılımların birbirine veri göndermesi ve iletişim kurmasını sağlayan temel yapıdır. Bu rehber, API kullanımını, entegrasyon tekniklerini ve hazır script örneklerini tablolar hâlinde açıklar.
API Temelleri – HTTP Metodları
| Metod | Kullanım Alanı | Örnek |
|---|---|---|
| GET | Veri alma | Profil bilgisi çekme |
| POST | Veri gönderme | Giriş / kayıt işlemleri |
| PUT | Veri güncelleme | Profil güncelleme |
| DELETE | Veri silme | Hesap silme |
| PATCH | Kısmi update | Kullanıcı bilgisi kısmi değişim |
JavaScript – Fetch API Scriptleri
| Senaryo | Kod | Açıklama |
|---|---|---|
| GET Request | ```js | |
| fetch('/api/user') | ||
| .then(r=>r.json()) | ||
| .then(console.log) |
Kod:
| POST Request | ```js
fetch('/api/login',{
method:'POST',
headers:{'Content-Type':'application/json'},
body:JSON.stringify({email,pass})
})
``` | Form gönderme |
| Token ile istek | ```js
fetch('/api/data',{
headers:{'Authorization':'Bearer '+token}
})
``` | JWT/Token doğrulama |
---
# 🟧 **3️⃣ Axios – Gelişmiş JS API Scriptleri**
| **Senaryo** | **Kod** | **Açıklama** |
|--------------|---------|--------------|
| GET | `axios.get('/users')` | En basit kullanım |
| POST | `axios.post('/login',{email,pass})` | Body gönderme |
| Header ile | ```js
axios.get('/data',{headers:{token}})
``` | Custom header |
| Global Config | ```js
axios.defaults.baseURL="/api";
``` | Tüm API ayarları |
---
# 🟩 **4️⃣ Node.js API Scriptleri (Backend)**
| **Script** | **Kod** | **Açıklama** |
|------------|----------|--------------|
| Basit API | ```js
app.get('/api', (req,res)=>res.json({ok:true}));
``` | Express API endpoint |
| JSON Gönderme | `res.json({name:"Ali"})` | JSON formatında cevap |
| Parametre | `req.params.id` | /user/12 gibi URL param |
| Body | `req.body` | POST verisini alma |
---
# 🟦 **5️⃣ Node.js – Dış API Entegrasyonları**
| **API Türü** | **Kod** | **Ne İşe Yarar?** |
|---------------|----------|--------------------|
| Hava Durumu API | ```js
const r = await axios.get('https://api.weather.com/...')``` | Hava bilgisi |
| Ödeme API (Stripe) | `stripe.charges.create({...})` | Kart ödeme alma |
| SMS API (Twilio) | `client.messages.create({...})` | SMS gönderme |
| Global REST API | `axios.get('https://jsonplaceholder.typicode.com/posts')` | Örnek veri çekme |
---
# 🟨 **6️⃣ Python – API Scriptleri**
| **Senaryo** | **Kod** | **Açıklama** |
|--------------|---------|--------------|
| GET Request | ```python
import requests
r=requests.get("https://api.test")
print(r.json())
``` | Veri çekme |
| POST Request | ```python
requests.post(url,json={"a":1})
``` | Veri gönderme |
| Token ile | ```python
requests.get(url,headers={"Authorization":token})
``` | Token doğrulama |
---
# 🟪 **7️⃣ PHP – cURL API Scriptleri**
| **Script** | **Kod** | **Açıklama** |
|------------|----------|--------------|
| GET | ```php
curl_setopt($ch, CURLOPT_URL, $url);
``` | API’den veri çekme |
| POST | ```php
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
``` | JSON gönderme |
| Token | ```php
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $token"]);
``` | Yetkili istek |
---
# 🔔 **8️⃣ Webhook Sistemleri**
| **Sistem** | **Açıklama** |
|------------|--------------|
| GitHub Webhook | Repo push → Sunucuya bildirim |
| Discord Webhook | Oyun / sistem olayları aktarma |
| Stripe Webhook | Ödeme sonrasında tetikleme |
| Telegram Bot | API → Telegram kanalına mesaj |
Webhook yapısı:
```js
app.post('/webhook', (req,res)=>{
console.log("Webhook geldi:", req.body);
res.sendStatus(200);
});
API Güvenlik Yapıları
| Güvenlik Katmanı | Açıklama |
|---|---|
| API Key | Sabit anahtar doğrulaması |
| JWT Token | Kullanıcı doğrulama & yetki |
| Rate Limit | Flood, DDoS önleme |
| IP Whitelist | Sadece izinli IP erişimi |
| HTTPS | Veri şifreleme |
API Rate Limit Sistemi (DDoS korumalı)
JavaScript:
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
windowMs: 60*1000,
max: 50
});
app.use('/api/', limiter);

OAuth 2.0 (Google, Discord, GitHub Login)
| Servis | Endpoint Türü |
|---|---|
| Google OAuth | /auth/google |
| Discord OAuth | /oauth2/authorize |
| GitHub OAuth | /login/oauth/authorize |
- Kullanıcı sağlayıcıya yönlendirilir
- Kullanıcı izin verir
- API → server’a
codegönderir - Server
codeile access token alır - Server kullanıcı bilgilerini çekip hesap oluşturur

En Popüler Üçüncü Parti API Entegrasyon Tabloları
| API | Kullanım Alanı | Örnek |
|---|---|---|
| Stripe | Ödeme | Kart tahsilat |
| PayPal | Ödeme | Abonelik / shop |
| Google Maps | Harita | Konum gösterme |
| YouTube API | Video | Kanal verisi çekme |
| OpenAI API | AI | Chatbot / otomasyon |
| Firebase | Auth / DB | Mobil backend |
| SendGrid | Doğrulama maili |

API Hata Yönetimi & Response Kodları
| Kod | Anlamı |
|---|---|
| 200 OK | Başarılı |
| 201 CREATED | Veri oluşturuldu |
| 400 BAD REQUEST | Eksik veri |
| 401 UNAUTHORIZED | Token yok |
| 403 FORBIDDEN | Yetki yok |
| 404 NOT FOUND | Endpoint yok |
| 429 TOO MANY REQUESTS | Rate-limit |
| 500 INTERNAL ERROR | Sunucu hatası |