● Live v1.0.0 .NET 8 REST JSON KVKK Uyumlu

Dijimago
Enterprise API

Dijital kimlikten CRM'e, ödeme event'lerinden bayi tahsilatına, e-ticaretten KVKK uyumuna — kurumsal engagement data platformunun tüm katmanları tek API'de.

Base URL https://dijimago-enterprise-backend.onrender.com
Toplam Endpoint
66+
12 modül
Event Tipi
40+
first-party schema
Postman Testi
70/70
0 hata · %100
Yanıt Süresi
306ms
ortalama

Platform Mimarisi

Dijimago; dijital kimlik, engagement data, AI karar desteği ve kurumsal uyum katmanlarını tek platformda birleştirir.

🪪 Dijital Kimlik

NFC/QR kartvizit, public profil, vCard, team yönetimi, document paylaşımı.

📡 Event Collector

40+ event tipi, first-party data, KVKK uyumlu, AI skor zenginleştirmesi, batch API.

🤖 AI & Insight

Lead skoru, bayi riski, ödeme riski, commerce insight, yönetim özeti. decisionType: advisory.

💳 Payment Events

Ödeme link yaşam döngüsü, başarı/hata event'leri, tutar ve lead bağlantısı.

+
🏪 Dealer Events

Bayi tahsilat sinyalleri, risk skorlama, zaman çizelgesi, gecikmeli tahsilat takibi.

+
⚖ KVKK & Audit

Rıza yönetimi, Madde 7 silme/anonimleştirme, tam izlenebilirlik log katmanı.

Authentication & Format

Tüm yanıtlar standart ApiEnvelope formatındadır. Public endpoint'ler auth gerektirmez.

🔑 API Key

Admin endpoint'leri için X-API-KEY header zorunludur. Public profil, NFC ve health endpoint'leri herkese açıktır.

X-API-KEY: your-api-key
Content-Type: application/json

📦 Yanıt Formatı

Tüm endpoint'ler standart ApiEnvelope döner. Hata durumunda success: false ve message açıklaması gelir.

{"success": true,
 "message": "Açıklama",
 "data": { ... }}
KodAnlamÇözüm
200Başarılı GET
201Kayıt oluşturuldu
400Hatalı istek / eksik alanmessage alanını kontrol et
401API key eksikX-API-KEY header ekle
404Kayıt bulunamadıID veya slug'ı kontrol et

🪪 Dijital Kimlik

NFC/QR destekli dijital kartvizit yönetimi. Her kart için benzersiz public profil, vCard indirme ve doküman paylaşımı.

GET /api/cards POST /api/cards GET /api/public/{slug} GET /api/public/{slug}/vcard POST /api/public/{slug}/lead POST /api/nfc/link
GET
/api/public/{slug}
Public profil — auth gerektirmez
Yanıt (özet)
{"slug":"dervis-paymago",
 "fullName":"Derviş Ahmet Aydın",
 "title":"CEO & Founder",
 "socialLinks":[...],
 "sharedDocuments":[...]}
İş Değeri: QR/NFC tarandığında açılan dijital profil. Ziyaretçi bilgilerini lead formuna dönüştürür, document paylaşımı ile satış sürecini dijitalleştirir. Profile erişim otomatik olarak event kaydeder.
200 OK404 Not Found
POST
/api/cards
Dijital kartvizit oluştur
Request Body
{"fullName":"Derviş Ahmet Aydın",
 "title":"CEO & Founder",
 "companyName":"Paymago",
 "email":"info@paymago.com.tr",
 "slug":"dervis-paymago",
 "socialLinks":[
   {"type":"LinkedIn","url":"...","isPublic":true}
 ]}
İş Değeri: Kurumsal ekip için sınırsız dijital kartvizit. Her kart NFC/QR ile eşleştirilir, team modülüyle senkronize çalışır. fullName zorunlu, slug boş bırakılırsa otomatik üretilir.
201 Created400 Bad Request
GET
/api/public/{slug}/vcard
vCard 3.0 indir — rehbere ekle
İş Değeri: .vcf formatında kişi dosyası döner. Telefona doğrudan rehbere eklenebilir. Profile erişimde vcard_download event'i otomatik kaydedilir. Content-Type: text/vcard.
200 OK · text/vcard

🎯 Lead Yönetimi

Müşteri adayı toplama, skorlama ve pipeline yönetimi. QR/NFC temasından satış fırsatına dönüşüm.

POST
/api/public/{slug}/lead
Lead formu — public, auth gerektirmez
Request Body
{"fullName":"Ahmet Çelik",
 "email":"ahmet@firma.com",
 "phone":"+90 533 100 11 22",
 "company":"Firma A.Ş.",
 "consentKvkk":true}
İş Değeri: QR/NFC teması satış fırsatına dönüşür. En az bir alan (fullName, email veya phone) zorunlu. consentKvkk kaydedilir. Lead oluşturulunca lead_submitted event otomatik üretilir.
201 Created400 Bad Request
GET
/api/leads/pipeline
Pipeline görünümü — statü bazlı gruplama
Yanıt
[{"status":"Hot","count":4,"avgScore":85.2},
 {"status":"New","count":12,"avgScore":52.0},
 {"status":"Converted","count":3,"avgScore":91.5}]
İş Değeri: CRM pipeline görünümü. Statüse göre gruplar, ortalama skor hesaplar. Satış ekibi hangi lead'lerin öncelikli olduğunu görür.
200 OK
POST
/api/leads/{id}/status
Lead statüsü ve skorunu güncelle
Request Body
{"status":"Hot","score":88}
Statü değerleri: New · Hot · Warm · Cold · Converted · Lost. Skor 0-100 arasında. AI lead-score endpoint'i ile birlikte kullanılır.
200 OK

📡 Event Collector

40+ event tipi destekleyen first-party engagement data platformu. KVKK uyumlu, AI skor zenginleştirmeli, batch API destekli.

⚠ KVKK Uyumu: lead_form_submitted, kyc_verified, crm_lead_created gibi kişisel veri içeren event'lerde consentGiven: true zorunludur. Aksi halde 400 döner ve event kaydedilmez.
POST
/api/events/collect
Tekil event gönder
Request Body
{"tenantId":"paymago",
 "eventName":"profile_viewed",
 "source":"dijimago_profile",
 "consentGiven":true,
 "properties":{
   "slug":"dervis-paymago",
   "device":"mobile"
 }}
Yanıt
{"eventId":"uuid",
 "aiScoreHint":"warm",
 "isKnownSchema":true,
 "linkedLeadId":"uuid"}
İş Değeri: Her müşteri teması, doküman görüntüleme, ödeme tıklaması ve e-ticaret aksiyonu first-party data olarak kaydedilir.

aiScoreHint değerleri:
hot → lead_form_submitted, payment_link_clicked
warm → qr_scanned, nfc_tapped, cart_abandoned
cold → profile_viewed, catalog_viewed
converted → payment_completed
at_risk → payment_failed
high_risk → fraud_risk_detected
201 Created400 Consent Required
POST
/api/events/batch
Toplu event — max 100
Request Body
{"tenantId":"paymago",
 "events":[
   {"eventName":"profile_viewed","consentGiven":true},
   {"eventName":"whatsapp_clicked","consentGiven":true},
   {"eventName":"qr_scanned","consentGiven":true}
 ]}
İş Değeri: Sayfa görüntüleme, tıklama gibi yüksek hacimli event'ler için tek HTTP isteğiyle toplu gönderim. 100 event limiti, session bazlı batch için optimize edilmiştir.
200 OK
GET
/api/events/analytics
Analitik özet — kaynak, saat, KVKK oranı
Döndürdüğü veriler: totalEvents, uniqueSessions, uniqueUsers, hotLeadSignals, bySource (kaynak dağılımı), byEventName (event dağılımı), byHour (saatlik dağılım), consentRate (KVKK onay oranı %).
200 OK

📄 Dokümanlar

Teklif, sunum ve resmi evrak yönetimi. Güvenli paylaşım linkleri, görüntüleme limiti ve şifre koruması.

POST
/api/docs/{id}/share
Güvenli paylaşım linki oluştur
Request Body
{"allowDownload":true,
 "passwordProtected":false,
 "maxViews":10,
 "expiresAt":"2026-06-30T00:00:00Z"}
İş Değeri: Teklif ve sunum dosyaları güvenli token ile paylaşılır. Görüntüleme sayısı, son kullanma tarihi ve şifre koruması ayarlanabilir. Her erişim document_share_opened event'i üretir.
201 Created
GET
/api/docs/share/{token}
Paylaşılan dokümanı aç — auth gerektirmez
Kontroller: Token geçerliliği, görüntüleme limiti aşımı, süre dolması otomatik kontrol edilir. Geçersiz veya süresi dolmuş token'lar 400 veya 404 döner.
200 OK400 Expired404 Not Found

🔁 Engage & CRM

Engagement sinyalleri, segment analizi ve Paymago CRM entegrasyonu.

POST
/api/engage/followup-suggestion
AI destekli takip önerisi üret
Request Body
{"leadId":"uuid","signalType":"offer_opened"}
Yanıt
{"subject":"Dijimago paylaşımımız hakkında",
 "message":"...",
 "recommendedAction":"Teklif üzerinden 24 saat içinde arama oluştur."}
signalType değerleri:
offer_opened → 24 saat içinde arama
video_watched → Demo toplantısı öner
document_share_opened → Onboarding checklist gönder
default → Genel takip e-postası
200 OK
POST
/api/engage/create-crm-task
Paymago CRM görevi oluştur
Request Body
{"leadId":"uuid",
 "title":"Demo Takip",
 "description":"Lead ile demo sonrası görüşme",
 "dueAt":"2026-06-01T10:00:00Z"}
Not: Mevcut implementasyon stub'dır. Production'da Paymago CRM API'ye HttpClient ile bağlanır. Base URL environment'tan okunur.
200 OK

🤖 AI Endpoints

Lead, ödeme, bayi ve commerce verilerinden karar destek skorları ve yönetici özetleri üretir.

⚖ AI Advisory Notice: Dijimago AI çıktıları karar destek niteliğindedir. Tüm yanıtlarda decisionType: "advisory" alanı bulunur. Nihai karar kullanıcıya veya kurum yetkilisine aittir. Bu yapı KVKK, AB AI Act ve kurumsal uyum gereklilikleri açısından zorunludur.
POST
/api/ai/lead-score
Lead skorunu hesaplar
Request / Response
// Request
{"leadId":"uuid"}

// Response
{"score":86,
 "level":"hot",
 "recommendation":"24 saat içinde satış temsilcisi tarafından aranmalı.",
 "explanation":"Lead skoru 86 üzerinden hesaplandı.",
 "decisionType":"advisory"}
İş Değeri: Profil görüntüleme, doküman ilgisi, form doldurma, ödeme linki tıklaması gibi event'lerden satış önceliği üretir.

level değerleri:
hot → skor ≥ 80 → 24 saat takip
warm → skor 50-79 → 3 gün takip
cold → skor < 50 → besleyici içerik
200 OK
POST
/api/ai/dealer-risk-score
Bayi risk skorunu hesaplar
Request / Response
{"dealerId":"BAY-001","overdueDays":75}

{"riskLevel":"high",
 "recommendation":"Bayi ile acil iletişime geçin.",
 "decisionType":"advisory"}
Risk eşikleri:
high → overdueDays > 60
medium → overdueDays 31-60
low → overdueDays ≤ 30

İş Değeri: Bayi portföyündeki risk dağılımını otomatik sınıflandırır, tahsilat önceliğini belirler.
200 OK
POST
/api/ai/payment-risk
Ödeme riskini değerlendirir
Risk Eşikleri
amount > 50.000 TRY  → high   (manuel onay önerilir)
amount > 10.000 TRY  → medium (otomatik onaylanabilir)
amount ≤ 10.000 TRY  → low    (rutin işlem)
İş Değeri: Yüksek tutarlı işlemlerde manuel onay sürecini tetikler, fraud risk sinyallerini payment event'leriyle ilişkilendirir.
200 OK
GET
/api/ai/management-summary
Yönetici özeti üretir
Döndürdüğü veriler: totalLeads, hotLeads (skor ≥ 80), avgLeadScore, totalEvents, conversionHint (kaç lead takip bekliyor). Yönetim dashboard'u için hazır özet. decisionType: advisory.
200 OK
GET
/api/ai/recommendations
AI önerilerini listeler
Öneri tipleri: lead_followup (sıcak lead takibi), cart_recovery (terk edilen sepet kampanyası). Tüm önerilerde decisionType: advisory.
200 OK

💳 Payment Events

Ödeme linki oluşturulmasından tamamlanmasına veya başarısızlığa kadar tüm adımları event olarak izler.

⚠ Regülasyon Notu: Payment Events modülü ödeme hizmeti sunmaz. Lisanslı ödeme kuruluşu veya ödeme altyapısı tarafından yürütülen işlemlerden doğan event'leri takip eder, raporlar ve karar destek süreçlerine veri sağlar.
POST
/api/payment-events/link-created
Ödeme linki oluşturuldu event'i
Request Body
{"paymentId":"PAY-2026-001",
 "amount":15000,
 "currency":"TRY",
 "metadata":{"description":"CRM Lisans"}}
İş Değeri: CRM, proforma veya bayi tahsilat süreçlerinde ödeme linki üretildiğini event olarak kaydeder. Ödeme funnel'ının başlangıç noktasıdır.
201 Created
POST
/api/payment-events/payment-completed
Ödeme tamamlandı event'i
İş Değeri: Satış kazanımı, tahsilat kapanışı ve müşteri dönüşüm metriklerini besler. totalAmount summary'de birikir.
201 Created
POST
/api/payment-events/payment-failed
Ödeme başarısız event'i
İş Değeri: Başarısız ödeme sonrası hatırlatma, alternatif ödeme yöntemi veya satış takibi önerileri için kullanılır. AI payment-risk ile birlikte değerlendirilir.
201 Created
GET
/api/payment-events/summary
Ödeme event özetini döndürür
Yanıt
{"total":24,"completed":18,"failed":4,
 "clicked":22,"totalAmount":270000}
İş Değeri: Ödeme funnel dönüşüm oranı (tıklama → tamamlama), toplam tahsilat tutarı ve başarısız ödeme sayısı tek endpoint'ten görülebilir.
200 OK

🏪 Dealer Events

Bayi tahsilat süreçlerinden doğan sinyalleri takip eder ve AI risk skorlarına veri sağlar.

POST
/api/dealer-events/collection-overdue
Tahsilat gecikti event'i
Request Body
{"dealerId":"BAY-IST-001",
 "amount":30000,
 "daysOverdue":75}
Risk Skorlama: Aynı dealerId için 4+ overdue event → high risk. 2-3 → medium. 0-1 → low. Risk seviyesi /api/dealer-risk/scores endpoint'inden sorgulanabilir.
201 Created
GET
/api/dealer-risk/scores
Bayi risk skorlarını getirir
Yanıt
[{"dealerId":"BAY-ANK-002",
  "overdueCount":4,
  "totalAmount":120000,
  "riskLevel":"high"}]
İş Değeri: Bayi portföyündeki risk dağılımını tek bakışta gösterir. AI dealer-risk-score endpoint'i ile birlikte detaylı skor ve aksiyon önerisi alınabilir.
200 OK
GET
/api/dealers/{id}/timeline
Bayi zaman çizelgesini getirir
İş Değeri: Bir bayinin tahsilat, ödeme, gecikme ve risk geçmişini kronolojik sırada gösterir. Bayi görüşmesi öncesi durum değerlendirmesi için kullanılır.
200 OK

🛒 Commerce Events

E-ticaret davranışlarını first-party engagement verisine dönüştürür. Görüntülemeden siparişe tam funnel takibi.

POST
/api/commerce-events/cart-abandoned
Sepet terk edildi — kritik sinyal
Request Body
{"sessionId":"sess_abc123",
 "productId":"CRM-PRO",
 "amount":1200}
İş Değeri: AI commerce-insight endpoint'i sepet terk sayısını kullanarak dönüşüm oranı hesaplar ve kampanya önerisi üretir. Sepet kurtarma akışlarının temel sinyalidir.
201 Created
GET
/api/commerce-events/summary
Commerce özeti — funnel metrikleri
Yanıt
{"productViews":142,"cartsCreated":38,
 "cartsAbandoned":21,"ordersCompleted":17,
 "totalRevenue":45600}
Dönüşüm oranı: ordersCompleted / (cartsAbandoned + ordersCompleted) × 100. Bu oran AI commerce-insight endpoint'inde otomatik hesaplanır ve aksiyon önerisi üretir.
200 OK

⚖ KVKK / Consent

First-party data platformlarında veri işleme onayı, veri talepleri ve saklama/silme süreçleri kritik önemdedir.

KVKK Notu: Veri silme ve anonimleştirme endpoint'leri ilgili kişi taleplerinin teknik karşılığını sağlar. Gerçek ortamda bu işlemler kurum içi hukuki değerlendirme, saklama yükümlülüğü kontrolü ve işlem kayıtlarıyla birlikte yürütülmelidir. Her silme/anonimleştirme işlemi audit log'a düşürülmelidir.

Önerilen Consent Tipleri

KvkkDisclosureAccepted LeadFormConsent TrackingConsent AnalyticsConsent MarketingConsent CommercialCommunicationConsent DocumentViewConsent DataProcessingConsent

KVKK Endpoint'leri

POST /api/consents GET /api/consents/{subjectId} POST /api/data-requests GET /api/data-requests POST /api/data-retention/delete POST /api/data-retention/anonymize
POST
/api/consents
Kullanıcı onayını kaydet
Request Body
{"subjectId":"kullanici@email.com",
 "consentType":"KvkkDisclosureAccepted",
 "isGranted":true}
İş Değeri: IP adresi ve User-Agent otomatik kaydedilir. subjectId olarak email veya benzersiz kullanıcı kimliği kullanılabilir. Onay geri alınabilir (isGranted: false).
201 Created
POST
/api/data-retention/delete
Kişisel verileri sil — KVKK Madde 7
Request Body
{"subjectEmail":"kullanici@email.com"}
Dikkat: Geri alınamaz işlemdir. Kişiye ait tüm lead ve consent kayıtları kalıcı olarak silinir. İşlem öncesi audit log oluşturulması önerilir. Anonimleştirme alternatif olarak değerlendirilebilir.
200 OK
POST
/api/data-retention/anonymize
Kişisel verileri anonimleştir — Madde 7
İş Değeri: Ad, email, telefon, şirket bilgileri anonim hale getirilir; istatistiksel veriler korunur. Silme yerine tercih edilebilir — analitik bütünlüğü korur. Email "anon_[id]@deleted.local" formatına dönüştürülür.
200 OK

📋 Audit Log

Enterprise seviyede güven, izlenebilirlik ve denetlenebilirlik için tüm kritik işlemler audit log'a düşmelidir.

POST
/api/audit-logs
Manuel audit log oluştur
Request Body
{"userId":"user-001",
 "action":"lead_viewed",
 "entityType":"lead",
 "entityId":"uuid",
 "detail":"Lead detay sayfası açıldı",
 "ipAddress":"192.168.1.10"}
Önerilen action değerleri
login · profile_created · lead_viewed
lead_exported · document_shared
ai_score_generated · crm_task_created
data_export · data_deletion · data_anonymization
İş Değeri: Kart, lead, event, AI, KVKK, ödeme ve bayi işlemlerinin izini verir. Denetim, uyumluluk ve güvenlik incelemeleri için kullanılır.
201 Created
GET
/api/audit-logs/by-entity/{entityType}/{entityId}
Entity bazlı loglar
entityType değerleri: lead · card · document · payment · dealer · user. Belirli bir kaydın tüm işlem geçmişini ve kimin ne zaman ne yaptığını kronolojik sırada gösterir.
200 OK

📲 NFC

Fiziksel kart, QR ve dijital profil deneyimini birleştiren temas katmanıdır.

POST
/api/nfc/link
NFC kodunu profile bağlar
Request Body
{"nfcCode":"PMGO-000123","cardId":"uuid"}
İş Değeri: Fiziksel NFC kartı bir Dijimago dijital profile eşleştirir. Birden fazla kart farklı profillere yönlendirilebilir.
200 OK404 Not Found
GET
/api/nfc/{nfcCode}
NFC kodundan profile yönlendir
İş Değeri: NFC tap aksiyonundan public profile yönlendirme. nfc_opened event'i otomatik kaydedilir. Auth gerektirmez. 302 Redirect döner.
302 Redirect404 Not Found

📚 Event Taxonomy

Dijimago'da event isimleri standartlaştırıldığında AI, analytics ve audit katmanları daha tutarlı çalışır.

🪪 Digital Identity

  • profile_viewed
  • qr_scanned
  • nfc_tapped
  • vcard_downloaded
  • whatsapp_clicked
  • phone_clicked
  • email_clicked

🎯 Lead Events

  • lead_form_started
  • lead_form_submitted
  • lead_form_abandoned
  • lead_status_updated
  • crm_task_created
  • crm_meeting_scheduled

💳 Payment Events

  • payment_link_created
  • payment_link_clicked
  • payment_started
  • payment_completed
  • payment_failed
  • payment_refunded

🏪 Dealer Events

  • collection_link_sent
  • collection_clicked
  • collection_completed
  • collection_overdue
  • dealer_risk_flagged
  • dealer_limit_exceeded

🛒 Commerce Events

  • product_viewed
  • cart_created
  • cart_abandoned
  • checkout_started
  • order_completed
  • product_returned

🤖 AI Events

  • ai_score_generated
  • ai_recommendation_created
  • ai_summary_generated
  • ai_risk_flag_created
  • ai_report_generated

▶ Demo Akışı

MVP demo sırasında teknik detaydan önce iş değerini göstermek için önerilen uçtan uca akış.

AdımAksiyonEndpoint / Modülİş Değeri
1Health check gösterGET /healthSistem canlı, hazır.
2Dijital profil oluşturPOST /api/cardsTemas noktası oluşturulur.
3Public profil ve vCard gösterGET /api/public/{slug}QR/NFC deneyimi başlar.
4Lead oluşturulurPOST /api/public/{slug}/leadTemas satış fırsatına dönüşür.
5Profile event gönderPOST /api/events/collectFirst-party data oluşur.
6AI lead skoru üretPOST /api/ai/lead-scoreSatış önceliği belirlenir.
7Follow-up önerisi alPOST /api/engage/followup-suggestionSatış aksiyonu netleşir.
8Ödeme event'leri gönderPayment EventsGelir sinyalleri birleşir.
9Bayi gecikme event'i gönderDealer EventsTahsilat riski görülür.
10KVKK onayı kaydetPOST /api/consentsUyum sağlanır.
11Audit log gösterGET /api/audit-logsİzlenebilirlik kanıtlanır.
12Yönetim özetiGET /api/ai/management-summaryC-suite için hazır özet.

🚀 Deployment & Monitoring

API Render Cloud üzerinde, dokümantasyon GitHub Pages üzerinde çalışır. Demo öncesinde health endpoint'iyle servis uyandırılmalıdır.

Backend

Render Web Service · .NET 8 · Docker · Auto Deploy from GitHub main branch.

Live Free Tier ~50s cold start

Docs

GitHub Pages · docs.dijimago.com · HTTPS · Auto Deploy from dijimago/dijimago-docs main branch.

Live Free

Monitoring

/health endpoint, Postman Runner (70/70 pass), Render event logs ve audit logs ile izlenebilir.

70/70 Pass 306ms avg