API Dokümantasyonu

Üsküdar Belediyesi Açık Veri Portalı API'si ile verilerinize programatik erişim sağlayın. RESTful API endpoint'leri, kimlik doğrulama ve örnek kodlarla detaylı rehber.

1 const token = 'your_api_token';
2 const baseURL = 'https://opendata.turkol.com.tr/api-documentation';
3
4 async function fetchData() {
5 const response = await fetch(
6 `${baseURL}/api/datasets/`, {
7 headers: {
8 'Authorization': `Bearer ${token}`
9 }
10 });
11 const data = await response.json();
12 return data;
13 }
14
API bağlantısı başarılı

Genel Bakış

Üsküdar Belediyesi Açık Veri Portalı API'si, açık veri setlerimize programatik erişim sağlayan RESTful bir web servisidir. JSON formatında veri alışverişi yaparak, uygulamalarınızı zengin veri kaynaklarıyla entegre edebilirsiniz.

Zengin Veri

Çeşitli formatlarda ve kategorilerde binlerce veri seti

Güvenli Erişim

Token tabanlı kimlik doğrulama ve yetkilendirme

Yüksek Performans

Optimize edilmiş endpoint'ler ve hızlı yanıt süreleri

Kimlik Doğrulama

API'yi kullanmak için öncelikle hesabınızdan bir API token oluşturmanız gerekmektedir.

API Token Nasıl Alınır?

  1. Hesabınıza giriş yapın
  2. Dashboard sayfasına gidin
  3. "API Yönetimi" bölümünden "Token Oluştur" butonuna tıklayın
  4. Token'ınızı güvenli bir yerde saklayın

Token Kullanımı

API isteklerinizde token'ı Authorization header'ında Bearer token olarak gönderin:

Authorization: Bearer YOUR_API_TOKEN

Hızlı Başlangıç

İlk API İsteğiniz

Mevcut veri setlerini listelemek için basit bir GET isteği:

curl -H "Authorization: Bearer YOUR_TOKEN" \
     https://opendata.turkol.com.tr/api-documentation/api/datasets/

Örnek Yanıt:

{
  "success": true,
  "data": [
    {
      "uuid": "123e4567-e89b-12d3-a456-426614174000",
      "title": "Nüfus Verileri 2024",
      "description": "İlçelere göre nüfus dağılımı",
      "category": "Demografi",
      "created_at": "2024-01-15T10:30:00Z",
      "download_count": 245
    }
  ],
  "pagination": {
    "total": 50,
    "page": 1,
    "limit": 20
  }
}

API Endpoint'leri

Dataset İşlemleri

GET /api/datasets/

Tüm veri setlerini listeler (sayfalama destekli)

GET /api/dataset/{uuid}/

Belirli bir veri setinin detaylı bilgilerini getirir

GET /api/dataset/{uuid}/data/

Veri setinin gerçek verilerini JSON formatında getirir

Kategori İşlemleri

GET /api/categories/

Mevcut tüm kategorileri listeler

Coğrafi Veri İşlemleri

GET /api/geospatial-datasets/

Coğrafi veri içeren veri setlerini listeler

GET /api/geojson/{dataset_id}/

Belirli bir veri setinin GeoJSON verilerini getirir

Kod Örnekleri

JavaScript (Fetch API)

const API_TOKEN = 'your_api_token_here';
const BASE_URL = 'https://opendata.turkol.com.tr/api-documentation';

async function getDatasets() {
    try {
        const response = await fetch(`${BASE_URL}/api/datasets/`, {
            headers: {
                'Authorization': `Bearer ${API_TOKEN}`,
                'Content-Type': 'application/json'
            }
        });
        
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        
        const data = await response.json();
        console.log('Datasets:', data);
        return data;
    } catch (error) {
        console.error('Error fetching datasets:', error);
    }
}

// Kullanım
getDatasets();

Python (Requests)

import requests
import json

API_TOKEN = 'your_api_token_here'
BASE_URL = 'https://opendata.turkol.com.tr/api-documentation'

def get_datasets():
    headers = {
        'Authorization': f'Bearer {API_TOKEN}',
        'Content-Type': 'application/json'
    }
    
    try:
        response = requests.get(f'{BASE_URL}/api/datasets/', headers=headers)
        response.raise_for_status()  # HTTP hatalarını yakalar
        
        data = response.json()
        print('Datasets:', json.dumps(data, indent=2))
        return data
    except requests.exceptions.RequestException as e:
        print(f'Error fetching datasets: {e}')
        return None

# Kullanım
datasets = get_datasets()

cURL

# Veri setlerini listele
curl -H "Authorization: Bearer YOUR_TOKEN" \
     "https://opendata.turkol.com.tr/api-documentation/api/datasets/"

# Belirli bir veri setini getir
curl -H "Authorization: Bearer YOUR_TOKEN" \
     "https://opendata.turkol.com.tr/api-documentation/api/dataset/DATASET_UUID/"

# Veri setinin verilerini getir
curl -H "Authorization: Bearer YOUR_TOKEN" \
     "https://opendata.turkol.com.tr/api-documentation/api/dataset/DATASET_UUID/data/?format=json&limit=100"

Rate Limiting

API'mizde isteklerin adil kullanımını sağlamak için rate limiting uygulanmaktadır.

Saatlik Limit

1,000

istek/saat

Günlük Limit

10,000

istek/gün

Rate Limit Aşıldığında

Limitinizi aştığınızda HTTP 429 Too Many Requests yanıtı alırsınız. Response header'larında kalan limit bilgilerinizi görebilirsiniz.

Hata Kodları

200 OK
İstek başarılı
401 Unauthorized
Geçersiz veya eksik token
403 Forbidden
Erişim izni yok
404 Not Found
Kaynak bulunamadı
429 Too Many Requests
Rate limit aşıldı
500 Internal Server Error
Sunucu hatası

Örnek Hata Yanıtı:

{
  "success": false,
  "error": "Token geçerli değil",
  "code": "TOKEN_INVALID",
  "details": "Token durumu: expired",
  "timestamp": "2024-01-15T10:30:00Z"
}

Yardıma mı İhtiyacınız Var?

API kullanımında sorun yaşıyorsanız veya önerileriniz varsa bizimle iletişime geçin.