OvoCRM API & Webhook dokümantasyonu
REST API, Webhook, SDK’lar (Node/Python/PHP/Go), OAuth2, rate limit, Idempotency-Key, If-Match versiyon kontrolü.
Açık standartlara uygun, geri uyumlu, türkçe örneklerle.
🚀 Hızlı Başlangıç
5 dakikada ilk API çağrını yapabilirsin.
1. API Key oluştur
OvoCRM panelinde Ayarlar → API & Webhook menüsüne git, yeni API key oluştur. (Master role gerekir.)
2. İlk isteği gönder
curl -X GET 'https://api.ovocrm.com/api/companies' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json'
3. Webhook kaydet
curl -X POST 'https://api.ovocrm.com/api/webhooks' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"event": "invoice.created",
"url": "https://yourapp.com/webhooks/invoice",
"secret": "your-hmac-secret"
}'📚 Endpoint Listesi
Authentication
API erişimi için JWT veya OAuth2. API key tek başına yetmez — kullanıcı bağlamı gerekli (multi-tenant).
Companies (Cari)
Müşteri/tedarikçi cari hesap CRUD. Multi-tenant scope otomatik.
Invoices (Fatura)
Satış faturası — e-Fatura/e-Arşiv otomatik ayrım, KDV hesap, UBL-TR üretimi.
Orders (Sipariş)
Sipariş yönetimi — fiyat onayı, stok rezervasyonu, sevkiyat planı.
Products & Inventory (Ürün/Stok)
Ürün katalog + çoklu depo stok + lot/seri takip.
Webhooks
20+ olay için webhook — invoice.created, order.shipped, payment.received vb. HMAC imza ile güvenli.
📦 SDK’lar
Node.js / TypeScript
npm install @ovocrm/sdkPython
pip install ovocrmPHP
composer require ovocrm/sdkGo
go get github.com/ovocrm/sdk-go✅ Best Practices
Idempotency-Key kullan
POST isteğinde header olarak UUID v4 gönder. Aynı key 24 saat içinde tekrar gelirse aynı sonucu döner — duplicate fatura/sipariş riski yok.
If-Match versiyon kontrolü
PUT isteğinde If-Match: 'currentVersion' header gönder. Concurrent edit varsa 409 döner. Veri kaybı önlenir.
Rate limit'i takip et
Standart plan 60 istek/dakika · Profesyonel 200/dk · Enterprise 1000/dk. X-RateLimit-Remaining header'ı oku, 429 alırsan backoff yap.
Pagination
Listeleme endpoint'leri ?page=1&limit=50 kullanır. Max limit 200. cursor-based pagination da var (?cursor=eyJpZCI6...) büyük datasetler için.
Webhook HMAC doğrula
Webhook secret ile X-Ovo-Signature header'ı HMAC-SHA256 doğrula. Replay önlemek için X-Ovo-Timestamp + 5dk pencere kontrol et.
Multi-tenant scope
JWT token'da tenantId var. Cross-tenant istek 403 döner. API key tek tenant'a bağlı.
Sorularını cevaplayalım
Custom entegrasyon, on-prem deployment, white-label SDK — kurumsal kullanım için bizimle iletişime geç.