REST API

Kimlik doğrulama

API anahtarı, OAuth erişim belirteci ve mobil oturum belirteci — hangisini ne zaman kullanmalı, nasıl iptal edilir.

Her istek Authorization başlığında bir Bearer belirteci taşır:

GET /api/v1/me HTTP/1.1
Host: ornek.solk.app
Authorization: Bearer sk_9fQ…

Belirteç yoksa, geçersizse, süresi dolmuşsa ya da iptal edildiyse yanıt 401 unauthorized olur. Belirteci asla adres (query string) içinde göndermeyin.

Belirteç türleri

Tür Önek Kim açar Süre Yetki Ne zaman
API anahtarı sk_ Yönetici, Ayarlar → Geliştiriciler İptal edilene kadar Açan yöneticinin tüm yetkileri Sunucudan sunucuya entegrasyon, Zapier / Make / n8n, betikler
OAuth erişim belirteci mcp_ Kullanıcının onayıyla OAuth akışı 1 saat (yenileme belirteci 60 gün) Onaylayan kullanıcı + kapsam (crm.read, crm.write) Kullanıcı adına çalışan uygulamalar, MCP istemcileri
Mobil oturum belirteci xk_ POST /api/v1/login 90 gün (kurulum ayarı) Giriş yapan kullanıcı Solk mobil uygulaması; kendi mobil istemciniz

API anahtarı

  1. Ayarlar → Geliştiriciler'i açın (yalnız yöneticiler görür).
  2. Anahtara ad verin ve Anahtar oluştur'a basın. Anahtar yalnız bir kez gösterilir.
  3. Anahtarı ortam değişkeninde ya da gizli anahtar kasasında saklayın.

Sayfa her anahtarın adını, oluşturulma ve son kullanım zamanını gösterir; İptal et anahtarı hemen geçersiz kılar. Anahtar onu açan yöneticinin kimliğiyle çalıştığından, o yönetici kapatılırsa anahtar da düşer — kurumsal entegrasyonlar için ayrı bir "entegrasyon" yönetici kullanıcısı açmanızı öneririz.

API anahtarları ve OAuth belirteçleri iki adımlı doğrulama sormaz; IP kısıtı ise geçerlidir. Anahtarla yapılan değişiklikler denetim günlüğüne anahtar sahibinin adıyla yazılır.

OAuth

Uygulamanız birden fazla kullanıcının kendi hesabıyla çalışacaksa (ör. bir masaüstü eklentisi ya da çok kiracılı bir SaaS), her kullanıcıdan OAuth ile izin alın. Kullanıcı bir onay ekranında uygulamanızı ve istenen kapsamları görür; izin verdiği anda erişim belirteci alırsınız. Kullanıcı izni Ayarlar → Uygulama bağlantıları'ndan istediği an kaldırır.

Kapsam Verdiği yetki
crm.read Firma, kişi, fırsat, aksiyon, e-posta yazışması, takvim ve panoları okuma
crm.write Firma, kişi, fırsat, görev, not ve görüşme kaydı açma; görev tamamlama; aşama değiştirme

crm.write olmadan yapılan GET dışı istekler 403 insufficient_scope alır. Akışın tamamı: OAuth uygulaması.

Mobil oturum

Kendi mobil istemcinizi yazıyorsanız kullanıcı adı ve şifreyle oturum açın. İki adımlı doğrulama açık kullanıcılarda ilk istek 401 otp_required döner; kullanıcıdan 6 haneli kodu alıp aynı isteği otp alanıyla tekrarlayın. Aynı IP'den 5 hatalı denemeden sonra giriş 60 saniye kilitlenir (429 locked). Çıkışta POST /api/v1/logout belirteci iptal eder.

Güvenlik önerileri

  • Belirteçleri kaynak koduna, tarayıcıda çalışan JavaScript'e ya da herkese açık depolara koymayın.
  • Her entegrasyona ayrı anahtar açın; birini iptal etmek diğerlerini etkilemesin.
  • İstekleri yalnız https:// üzerinden gönderin; Solk kurulumları HTTP'yi HTTPS'e yönlendirir.
  • Belirteç sızdıysa hemen iptal edin. Kullanıcı kapatılırsa (ya da SCIM ile pasifleşirse) tüm belirteçleri kendiliğinden düşer.