Beyan.pro REST API
Beyan.pro API ile dilekçe oluşturma, kullanıcı yönetimi ve faturalandırma işlemlerini programatik olarak gerçekleştirin.
Hızlı Başlangıç
# 1. Kullanıcı kaydı
curl -X POST https://api.beyan.pro/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"email": "avukat@firma.com", "password": "...", "name": "Av. Mehmet", "phone": "5XXXXXXXXX",
"consent_terms": true, "consent_privacy_kvkk": true, "consent_whatsapp_data": true}'
# 2. E-posta doğrulama: kayıttan sonra gelen e-postadaki bağlantıyı açın (24 saat geçerli). Doğrulanmamış hesap girişte 403 EMAIL_NOT_VERIFIED alır. Aynı işlem, bağlantıdaki token ile:
curl -X POST https://api.beyan.pro/api/v1/auth/verify-email \
-H "Content-Type: application/json" \
-d '{"email": "avukat@firma.com", "token": "..."}'
# 3. Giriş ve token alma
curl -X POST https://api.beyan.pro/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "avukat@firma.com", "password": "..."}'
# 4. API kullanımı
curl https://api.beyan.pro/api/v1/dashboard/stats \
-H "Authorization: Bearer <access_token>"
Kimlik Doğrulama
Beyan.pro API, JWT (JSON Web Token) tabanlı kimlik doğrulama kullanır. Başarılı giriş sonrasında bir access token ve refresh token alırsınız. Bu uçlar Beyan.pro web uygulamasının kullandığı API'dir; ayrıca verilen genel amaçlı bir API anahtarı yoktur (tarayıcı eklentisi anahtarı yalnız eklenti uçlarında geçer).
Access Token
Süre: 24 saat. Her API isteğinin Authorization header'ında gönderilir.
Refresh Token
Süre: 7 gün. Access token süresi dolduğunda yeni token almak için kullanılır; her kullanımda yenisiyle değiştirilir.
Güvenlik: Token'ları güvenli bir şekilde saklayın. Parolalar bcrypt (cost 12) ile özetlenir. İki faktörlü kimlik doğrulama (TOTP) opsiyonel olarak desteklenmektedir.
API Endpoint'leri
| Metod | Endpoint | Auth |
|---|---|---|
| POST | /api/v1/auth/register | Hayır |
| POST | /api/v1/auth/verify-email | Hayır |
| POST | /api/v1/auth/login | Hayır |
| POST | /api/v1/auth/refresh | Hayır |
| GET | /api/v1/auth/me | Evet |
| GET | /api/v1/tenant | Evet |
| GET | /api/v1/tenant/quota | Evet |
| GET | /api/v1/dashboard/stats | Evet |
| GET | /api/v1/dashboard/usage-chart | Evet |
| GET | /api/v1/petitions/full | Evet |
| GET | /api/v1/petitions/:id | Evet |
| GET | /api/v1/billing/subscription | Evet |
| POST | /api/v1/billing/checkout | Evet |
| GET | /api/v1/dashboard/drive-status | Evet |
| GET | /health | Hayır |
Rate Limitleri
Rate limit aşıldığında HTTP 429 (Too Many Requests) yanıtı döndürülür. Retry-After header'ı beklemeniz gereken süreyi saniye cinsinden belirtir.
Yanıt Formatı
Yanıt gövdesinin biçimi uç grubuna göre değişir; tek tip bir zarf yoktur. Başarıyı ve hatayı HTTP durum kodu belirler.
// GET /api/v1/dashboard/stats — başarılı yanıt
{
"success": true,
"data": {
"stats": { … },
"quota": { … }
}
}// GET /api/v1/auth/me — başarılı yanıt (zarfsız)
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "avukat@firma.com",
"name": "Av. Mehmet Yilmaz",
…
}// 401 — JWT isteyen her uç, Authorization başlığı yoksa
{
"error": "missing authentication token"
}// Hata yanıtı — kimlik doğrulama uçları
{
"error": "email, password, and name are required"
}Entegrasyon Desteği
API entegrasyonu hakkında sorularınız mı var? Teknik ekibimiz size yardımcı olmaktan memnuniyet duyar.
Teknik Destek