Kimlik doğrulama

Kullanıcı adıyla oturum aç

Mobil uygulamanın kullandığı oturum açma ucu: kullanıcı adı + şifre (+ iki adımlı doğrulama kodu) karşılığında xk_ ile başlayan bir oturum belirteci verir. Belirteç API_TOKEN_DAYS gün (varsayılan 90) geçerlidir. Sunucudan sunucuya entegrasyonlarda bunun yerine Geliştiriciler sayfasından açılan API anahtarını ya da OAuth'u kullanın.

POST/api/v1/login

Yetkilendirme

Kimlik doğrulama gerekmez.

Gövde application/json

usernamestringzorunlu
Kullanıcı adı.
passwordstringzorunlu
Şifre.
otpstringisteğe bağlı
İki adımlı doğrulama açıksa 6 haneli kod (ilk istekte otp_required döner).
devicestringisteğe bağlı
Cihaz adı; Ayarlar → Güvenlik'teki oturum listesinde görünür.

Hatalar

HTTPerrorAnlamı
401credentialsKullanıcı adı veya şifre hatalı.
401otp_requiredİki adımlı doğrulama kodu gerekli (`otp`).
401otp_invalidDoğrulama kodu hatalı ya da süresi geçmiş.
403ipBu ağdan erişim izni yok (IP kısıtı).
403licenseLisans süresi doldu — yalnız yönetici erişebilir.
429lockedÇok fazla hatalı giriş — 60 sn bekleyin.
İstek
curl -X POST https://ornek.solk.app/api/v1/login \
  -H "Content-Type: application/json" \
  -d '{
  "username": "admin",
  "password": "1234",
  "device": "iPhone 15 · Solk"
}'
Yanıt
{
  "app": {
    "accent": "#0f3a44",
    "accent_dark": "#0b2b33",
    "company": "Örnek Kimya",
    "currencies": [
      "EUR"
    ],
    "currency_base": "EUR",
    "currency_symbol": "€",
    "logo": "",
    "name": "Solk CRM",
    "opp_lifetime_days": 180,
    "site_url": "https://ornek.solk.app",
    "stage_sla": {
      "Expect to Close": 15,
      "Negotiation": 30,
      "Present Solution": 60,
      "Qualify": 30,
      "Viable": 60
    },
    "ticket_sla_hours": {
      "Acil": 4,
      "Düşük": 168,
      "Normal": 72,
      "Yüksek": 24
    },
    "unit_default": "kg",
    "units": [
      "kg"
    ],
    "version": "v22"
  },
  "license": {
    "blocked": false,
    "customer": "Örnek Kimya",
    "days_left": null,
    "end": null,
    "label": "Deneme modu",
    "modules": [
      "calendar"
    ],
    "no": null,
    "state": "trial"
  },
  "ok": true,
  "token": "xk_1dcb806508e33cee8d728d9baafc6eee23b6e2cb16da8afd",
  "user": {
    "email": "deniz@ornekkimya.com.tr",
    "full_name": "Deniz Aksoy",
    "id": 1,
    "modules": [
      "calendar"
    ],
    "role": "admin",
    "role_label": "Yönetici",
    "username": "admin"
  },
  "weak_password": true
}

Örnek yanıt örnek veriyle çalışan bir v22 kurulumundan alındı; listeler en çok iki öğeyle kısaltıldı.