B2B Bayi ve CRM Sistemlerinde Veri Güvenliği ve KVKK Uyumluluğu
Kapalı devre çalışan şirket içi panellerde role tabanlı yetkilendirme (RBAC), SQL injection koruması ve veri şifreleme yöntemleri.
Yazıyı Oku ➔Web ve mobil platformların aynı veritabanını ve iş mantığını tutarlı biçimde paylaşabilmesi için iyi tasarlanmış bir RESTful API mimarisi büyük önem taşır. Net tanımlanmış JSON yanıt formatı, doğru kullanılan HTTP durum kodları ve katmanlı API güvenliği, entegrasyon süreçlerini daha öngörülebilir, bakımı kolay ve hatalara karşı daha dayanıklı hale getirir. Bu yazıda tufiworks olarak web ve mobil projelerimizde temel aldığımız REST API standartlarını adım adım ele alıyoruz.
REST (Representational State Transfer), istemci ile sunucu arasındaki iletişimi kaynaklar (resources) üzerinden tanımlayan bir mimari yaklaşımdır. Her kaynak benzersiz bir URL ile temsil edilir ve bu kaynaklar üzerinde standart HTTP metotlarıyla işlem yapılır. RESTful bir API'nin temel ilkeleri şunlardır:
Web ve mobil istemcilerin aynı API'yi sorunsuz tüketebilmesi için tüm uç noktalarda tutarlı bir JSON yanıt formatı belirlemek gerekir. Tutarlı bir yapı, istemci tarafında tek bir yanıt işleyici yazılmasını sağlar ve hata ayıklamayı kolaylaştırır.
{
"success": true,
"data": {
"id": 42,
"name": "Ayşe Yılmaz",
"email": "[email protected]",
"created_at": "2024-05-14T10:30:00Z"
},
"meta": {
"request_id": "a1b2c3d4"
}
}
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "E-posta adresi geçerli değil.",
"fields": { "email": "Geçerli bir e-posta giriniz." }
}
}
{
"success": true,
"data": [ { "id": 1 }, { "id": 2 } ],
"meta": { "page": 2, "per_page": 20, "total": 135, "next_cursor": "eyJpZCI6NDB9" }
}
Doğru HTTP durum kodları, istemcinin yanıtın gövdesini ayrıştırmadan önce isteğin sonucunu anlamasını sağlar. Her durumda 200 OK döndürüp hatayı yalnızca gövdede belirtmek, önbellekleme, izleme ve hata yönetimini zorlaştırır. Aşağıda en sık kullanılan durum kodlarını ve kullanım senaryolarını bulabilirsiniz:
Mobil uygulamalarda bu ayrım özellikle önemlidir: Örneğin 401 yanıtı alındığında uygulama otomatik olarak belirteç yenileme akışını başlatabilir, 503 veya 429 yanıtlarında ise isteği belirli bir bekleme süresinden sonra yeniden deneyebilir.
API güvenliği, hem web hem mobil istemcilerin aynı veri katmanına eriştiği projelerde tek bir önlemle değil, birbirini tamamlayan katmanlarla sağlanır.
JWT, kullanıcı kimliği ve yetki bilgilerini imzalı bir belirteç içinde taşıyan, durumsuz REST mimarisine uygun bir yöntemdir. İstemci, her istekte belirteci başlıkta gönderir:
GET /api/v1/profile
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
OAuth 2.0, üçüncü taraf girişleri (Google, Apple vb.) ve farklı istemcilere kontrollü erişim vermek için yaygın kabul görmüş bir yetkilendirme çerçevesidir. Mobil ve tek sayfa web uygulamalarında istemci gizli anahtarı güvenle saklanamadığından Authorization Code akışının PKCE ile birlikte kullanılması önerilir.
Mobil uygulama API entegrasyonu, web entegrasyonundan bazı noktalarda ayrışır. Mobil kullanıcılar değişken ağ koşullarında çalışır ve uygulamanın eski sürümleri uzun süre kullanımda kalabilir.
Başarılı bir web ve mobil API tasarımı, iki platformun aynı iş kurallarını ve aynı veritabanını tek bir kaynaktan kullanmasını sağlar. Bu yaklaşımın sağladığı başlıca avantajlar:
Bu sözleşmeyi netleştirmek için OpenAPI (Swagger) gibi bir belgeleme standardı kullanmak, ekipler arasındaki iletişimi kolaylaştırır ve test süreçlerini hızlandırır.
Sağlam bir RESTful API mimarisi; tutarlı JSON yanıtları, anlamlı HTTP durum kodları, katmanlı güvenlik ve mobil odaklı en iyi uygulamalarla birleştiğinde, web ve mobil platformların aynı veritabanını güvenli ve verimli biçimde paylaşmasına zemin hazırlar. tufiworks olarak projelerimizde bu standartları baştan planlayarak, ölçeklenebilir ve bakımı kolay entegrasyonlar kurmayı hedefliyoruz.
Bu yazıyla ilgili en çok merak edilenler, kısa ve net yanıtlarıyla.
REST API, istemci ile sunucu arasında HTTP protokolü üzerinden kaynak odaklı iletişim kuran bir uygulama programlama arayüzüdür. Kaynaklar URL'lerle temsil edilir ve GET, POST, PUT, PATCH, DELETE gibi standart metotlarla yönetilir.
Günlük kullanımda iki terim çoğunlukla aynı anlamda kullanılır. "RESTful" ifadesi, bir API'nin REST mimari ilkelerine (durumsuzluk, tekdüze arayüz, önbelleğe alınabilirlik vb.) uygun tasarlandığını vurgular.
JSON hafif, okunması kolay ve web ile mobil platformların neredeyse tamamında yerleşik olarak desteklenen bir veri formatıdır. Bu sayede aynı yanıt hem tarayıcıda hem iOS ve Android uygulamalarında ek dönüşüm gerektirmeden işlenebilir.
401, isteğin kimlik doğrulaması yapılmadan veya geçersiz bir belirteçle gönderildiğini belirtir. 403 ise kullanıcının kimliği doğrulanmış olmasına rağmen ilgili kaynağa erişim yetkisi bulunmadığını ifade eder.
İkisi birbirinin alternatifi değildir. OAuth 2.0 bir yetkilendirme çerçevesidir; JWT ise bir belirteç formatıdır ve OAuth 2.0 akışlarında erişim belirteci olarak kullanılabilir. Mobil uygulamalarda OAuth 2.0 Authorization Code + PKCE akışı ile kısa ömürlü belirteçlerin birlikte kullanılması yaygın bir yaklaşımdır.
Mobil kullanıcıların tamamı uygulamayı aynı anda güncellemez. API'de yapılan uyumsuz bir değişiklik, eski sürümü kullananların uygulamasını bozabilir. Sürümleme, yeni özellikleri yayınlarken eski istemcilerin çalışmaya devam etmesini sağlar.
Kapalı devre çalışan şirket içi panellerde role tabanlı yetkilendirme (RBAC), SQL injection koruması ve veri şifreleme yöntemleri.
Yazıyı Oku ➔FID yerini alan yeni INP metriğinde yeşil bölgeye geçme, Javascript thread tıkanıklıklarını çözme ve milisaniyelik yanıt verme teknikleri.
Yazıyı Oku ➔Modern kurumsal yazılımlarda ve SaaS projelerinde performans, tip güvenliği ve esnek Filament PHP panel mimarisinin detaylı incelemesi.
Yazıyı Oku ➔Markanız için lüks web tasarımı, özel UI/UX mimarisi veya kurumsal kimlik projesi başlatın.
Proje Başlatın ➔