Mükellef Sorgulama
Servisi
GİB e-Fatura ve e-İrsaliye mükellef listelerini senkronize eden ve sorgulatan mikroservis. VKN/TCKN ile mükellef doğrulama, düşük bellek kullanımı ve sıfır kesinti güncelleme.
# Docker Compose ile Çalıştırma
cd docker
docker compose up -d
# PostgreSQL 17, API ve Worker başlar
# API: http://localhost:8080
# Scalar UI: http://localhost:8080/scalar/v1Özellikler
GİB mükellef listesi yönetimi için ihtiyacınız olan her şey
Düşük Bellek Kullanımı
Stream tabanlı XML parsing ile ~200 MB RAM'de milyonlarca kaydı işler
Sıfır Kesinti Güncelleme
PostgreSQL Materialized View ile güncelleme sırasında API kesintiye uğramaz
Veritabanı Bağımsız
Uygulamalarınız hangi DB'yi kullanırsa kullansın, HTTP API ile entegre olur
Delta Sync
/changes endpoint'i ile sadece değişiklikleri takip edin
HMAC Kimlik Doğrulama
Internal servis güvenliği için opsiyonel HMAC-SHA256 desteği
Webhook Bildirimleri
Slack ve HTTP webhook desteği ile sync durumu takibi
İstemci SDK
.NET için hazır NuGet paketi (MERSEL.Services.GibUserList.Client)
Observability
OpenTelemetry + Prometheus metrikleri, hazır Grafana dashboard
Kullanım Örnekleri
REST API veya .NET SDK ile mükellef sorgulayın
# VKN/TCKN ile e-Fatura Mükellef Sorgulama
curl http://localhost:8080/api/v1/einvoice/1234567890
# Ünvana göre arama
curl "http://localhost:8080/api/v1/einvoice?search=MERSEL&page=1&pageSize=20"
# e-İrsaliye mükellefi sorgula
curl http://localhost:8080/api/v1/edespatch/1234567890# Delta Sync — Sadece Değişiklikleri Al
curl "http://localhost:8080/api/v1/einvoice/changes?since=2026-01-01T00:00:00Z"
# Senkronizasyon Durumunu Kontrol Et
curl http://localhost:8080/api/v1/status
# Sağlık Kontrolü
curl http://localhost:8080/health// .NET İstemci SDK Kullanımı
public class MyService(IGibUserListClient gibuserClient)
{
public async Task Example(CancellationToken ct)
{
// VKN/TCKN ile sorgula
var user = await gibuserClient
.GetEInvoiceGibUserAsync("1234567890", ct: ct);
// Ünvana göre ara
var results = await gibuserClient
.SearchEInvoiceGibUsersAsync("MERSEL", ct: ct);
// Toplu sorgulama (maks 100)
var batch = await gibuserClient
.BatchGetEInvoiceGibUsersAsync(
["1234567890", "9876543210"], ct);
// Delta sync
var changes = await gibuserClient
.GetEInvoiceChangesAsync(
since: DateTime.Now.AddHours(-1), ct: ct);
}
}Akıllı Senkronizasyon
GİB'den indirilen mükellef listeleri stream tabanlı XML parsing ile işlenir. PostgreSQL Materialized View kullanılarak güncelleme sırasında API kesintiye uğramaz.
- Stream tabanlı parsing: Milyonlarca kayıt ~200 MB RAM ile
- Materialized View: Güncelleme sırasında kesintisiz API
- Cron tabanlı otomatik senkronizasyon
- Delta sync ile sadece değişiklikleri takip
- Slack ve HTTP webhook ile sync bildirimleri
Performans
Gereksinimler
Hemen Başlayın
Docker Compose ile birkaç dakikada GİB mükellef sorgulama servisi kurun. .NET SDK ile uygulamalarınıza kolayca entegre edin.