Loading Optiviera...

REST API

Optiviera REST API Referansı

JSON · JWT Kimlik Doğrulama · Çok Kiracılı

Herhangi bir sistemi Optiviera ile tam dokümante edilmiş REST API üzerinden entegre edin. Tüm uç noktalar JWT Bearer token gerektirir ve otomatik olarak kiracınızla sınırlandırılır.

Hızlı Başlangıç

Sıfırdan ilk API çağrınıza üç adımda ulaşın

1

Kimlik Doğrula

Kimlik bilgilerinizi POST /api/auth/login'e gönderin. Yanıt, 24 saat geçerli bir JWT token içerir.

2

Auth Başlığı Ekle

Token'ı her isteğe ekleyin: Authorization: Bearer [token]

3

API'yi Çağır

Tüm uç noktalar https://optiviera.com/api altında bulunur ve JSON ile yanıt verir. Kiracı bağlamı token'ınızdan otomatik çıkarılır.

Kimlik Doğrulama

Her istek, giriş uç noktasından alınan geçerli bir JWT Bearer token taşımalıdır

Nasıl çalışır

  • E-posta ve şifrenizle /api/auth/login'e POST isteği gönderin
  • Token'ı güvenli şekilde saklayın (httpOnly cookie veya bellekte)
  • Her sonraki istekte Authorization: Bearer [token] başlığını ekleyin
  • Token'lar 24 saat sonra sona erer — POST /api/auth/refresh ile yenileyin
Giriş İsteğibash
curl -X POST https://optiviera.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","password":"••••"}'
Başarılı Yanıtjson
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expiresIn": 86400,
  "tokenType": "Bearer"
}
Token Kullanımıhttp
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Temel URL ve Format

İlk çağrınızdan önce bilmeniz gereken her şey

Temel URL: https://optiviera.com/api — Tüm uç noktalar bu temel URL'ye göredir. Her zaman HTTPS kullanın.

JSON Format

Tüm istek ve yanıtlar application/json kullanır. Yazma işlemlerinde Content-Type: application/json ayarlayın.

Kiracı Kapsamı

Veriler, JWT'nizde gömülü TenantId kullanılarak otomatik olarak organizasyonunuzla filtrelenir.

Sayfalama

Liste uç noktaları ?page=1&pageSize=20 parametrelerini destekler. Yanıt totalCount, page ve pageSize içerir.

Filtreleme ve Sıralama

Çoğu liste uç noktası ?status=Open&sortBy=createdAt&sortDir=desc gibi sorgu parametrelerini kabul eder.

API Uç Nokta Grupları

Platformun tüm modüllerini kapsayan 12 kaynak grubu

Kimlik Doğrulama

  • POST/api/auth/login
  • POST/api/auth/refresh
  • POST/api/auth/logout

Biletler ve HelpDesk

  • GET/api/tickets
  • POST/api/tickets
  • GET/api/tickets/{id}
  • PUT/api/tickets/{id}
  • DELETE/api/tickets/{id}
  • POST/api/tickets/{id}/comments

Finans ve Muhasebe

  • GET/api/invoices
  • POST/api/invoices
  • GET/api/journal-entries
  • POST/api/journal-entries
  • GET/api/balance-sheet
  • GET/api/trial-balance

İK ve Çalışanlar

  • GET/api/employees
  • POST/api/employees
  • GET/api/employees/{id}
  • PUT/api/employees/{id}
  • GET/api/positions
  • GET/api/departments

Bordro

  • GET/api/payroll
  • POST/api/payroll/run
  • GET/api/payroll/{id}
  • PUT/api/payroll/{id}/approve

Satış ve Siparişler

  • GET/api/orders
  • POST/api/orders
  • GET/api/quotations
  • POST/api/quotations
  • GET/api/customers
  • POST/api/customers

Satın Alma

  • GET/api/purchase-orders
  • POST/api/purchase-orders
  • GET/api/suppliers
  • POST/api/suppliers
  • GET/api/purchase-orders/{id}

Envanter

  • GET/api/products
  • POST/api/products
  • GET/api/stock-movements
  • POST/api/stock-movements
  • GET/api/warehouses

CRM ve Potansiyel Müşteriler

  • GET/api/leads
  • POST/api/leads
  • GET/api/contacts
  • POST/api/contacts
  • GET/api/pipeline-stages

İş Emirleri

  • GET/api/work-orders
  • POST/api/work-orders
  • GET/api/work-orders/{id}
  • PUT/api/work-orders/{id}
  • DELETE/api/work-orders/{id}

Raporlar ve Analitik

  • GET/api/reports/tickets
  • GET/api/reports/finance
  • GET/api/reports/hr
  • GET/api/reports/sales
  • GET/api/reports/inventory

Ayarlar

  • GET/api/settings/tenant
  • PUT/api/settings/tenant
  • GET/api/settings/users
  • GET/api/sla-configs
  • POST/api/sla-configs

HTTP Durum Kodları

Standart HTTP semantiği tüm API genelinde tutarlı biçimde kullanılır

200Tamam

İstek başarılı. Gövde sonucu içerir.

201Oluşturuldu

Kaynak oluşturuldu. Gövde ID'li yeni nesneyi içerir.

204İçerik Yok

İstek başarılı. Gövde yok (DELETE için kullanılır).

400Hatalı İstek

Hatalı biçimlendirilmiş istek veya eksik zorunlu alanlar.

401Yetkisiz

Eksik, süresi dolmuş veya geçersiz JWT token.

403Yasak

Geçerli token ancak bu işlem için yetersiz izinler.

404Bulunamadı

Kaynak mevcut değil veya başka bir kiracıya ait.

422Doğrulama Hatası

Giriş doğrulaması başarısız. Yanıt gövdesindeki details dizisine bakın.

500Sunucu Hatası

Beklenmedik sunucu hatası. İstek ID'siyle destek ekibiyle iletişime geçin.

Hata Yanıt Formatı

Tüm hata yanıtları tutarlı bir JSON yapısını takip eder

Bir istek başarısız olduğunda, API yapılandırılmış bir JSON gövdesi döndürür. Alan düzeyinde doğrulama geri bildirimi için details dizisini kullanın.

  • status — HTTP status code
  • error — Error type identifier
  • message — Human-readable description
  • details — Field-level validation errors (array)
Örnek Hata Yanıtıjson
{
  "status": 422,
  "error": "ValidationError",
  "message": "Request validation failed",
  "details": [
    { "field": "email", "message": "Email is required" },
    { "field": "password", "message": "Minimum 8 characters" }
  ]
}

Entegrasyona hazır mısınız?

Tam interaktif Swagger dokümantasyonunu keşfedin veya API erişimi için ekibimizle iletişime geçin.