e-Envanter Defteri

Başlangıç

API Temelleri

Kimlik doğrulama, ortak istek alanları, yanıt zarfı, firma ve açılış/kapanış dönem kimliği.

Bu sayfa, e-Envanter Defteri endpointlerinin ortak oturum, firma, dönem ve yanıt sözleşmesini açıklar. Açılış ve kapanış aynı API modellerini kullanır; birbirinden yalnız tarihleri ve kaynak envanter içeriğiyle ayrılır.

Başlamadan Önce

HazırlıkGerekli bilgiKontrol
API erişimiOrtamın Gateway API ana adresiTest ve canlı adresleri birbirinden ayrılmalıdır.
KullanıcıE-posta ve parolaParola yalnız oturum açma isteğinde gönderilir.
Firma bağlamıSecurityFirmUuid, VKN/TCKN ve şube koduLogin cevabı, header ve gövde aynı firmayı göstermelidir.
Envanter türü1 Ocak açılış veya 31 Aralık kapanışAra ay, tarih aralığı ve özel hesap dönemi kullanılmaz.

Kimlik Doğrulama

Oturum açma isteğinde yalnızca hesap e-postası ve parola gönderilir. Başarılı cevapta alınan token, sonraki korumalı çağrıların Authorization header'ında kullanılır.

POST/api/Session/Login

API oturumu için yetkilendirme token'ı üretir.

RequestEmail, Password
ResponseToken bilgisi
Oturum açma JSON örneğini görüntüle
{
  "Email": "entegrasyon@firma.com",
  "Password": "GUCLU_PAROLANIZ"
}
HeaderDeğerZorunluluk
AuthorizationBearer {token}Oturum açma dışındaki korumalı endpointlerde zorunlu.
SecurityFirmUUIDİşlem yapılacak firmanın kimliğiFirma bağlamı kullanan işlemlerde gönderilir.
Content-Typeapplication/jsonJSON gövdeli POST isteklerinde gönderilir.

SecurityFirmUUID kullanıcı kimliği değildir. Firma değiştirildiğinde çağrılar yeni firma kimliğiyle sürdürülmelidir.

Güvenlik: Parola, token, envanter içeriği ve kişisel verileri loglamayın. Destek kayıtlarında yalnız gerekli işlem kimliklerini ve maskelenmiş değerleri kullanın.

Firma ve Envanter Dönemi

AlanAçılışKapanış
IdentificationNumberFirmanın VKN/TCKN'si
BranchCodeŞube yoksa 0000
PeriodStartYYYY-01-01YYYY-12-31
PeriodEndYYYY-01-01YYYY-12-31

PeriodStart ve PeriodEnd bir yıllık tarih aralığı değildir. Açılışta iki alan da aynı yılın 1 Ocak gününü, kapanışta iki alan da aynı yılın 31 Aralık gününü taşır. Firma, şube ve bu tek günlük tarih birlikte kayıt anahtarıdır; dönen Uuid sonraki tüm adımlarda saklanır.

Yanıt Zarfı

ServiceResponse<T> içindeki Data, Messages[], StatusCode ve IsSuccessful birlikte değerlendirilir. Sayfalı listelerde TotalRows ve TotalPages alanları bulunur. HTTP 200 yalnızca taşıma katmanının cevabıdır; envanterin GİB'de tamamlandığı anlamına gelmez.

{
  "Data": true,
  "Messages": [],
  "StackTrace": null,
  "StatusCode": 200,
  "TotalRows": 0,
  "TotalPages": 0,
  "IsSuccessful": true
}
Belirsiz sonuç: Timeout veya bağlantı kopmasında yeni kayıt açmadan önce firma, tarih ve Uuid ile mevcut özet sorgulanmalıdır.

Başarı Ölçütü

  1. İstek cevabında IsSuccessful=true olmalı ve hata mesajı bulunmamalıdır.
  2. Özet kaydı beklenen bir sonraki CurrentStatus değerine ilerlemelidir.
  3. Onay öncesinde envanter ve berat önizlemelerindeki firma, şube, tarih, parça ve kayıt özetleri kaynak sistemle mutabık olmalıdır.
  4. GİB sonucu tamamlandığında CurrentStatus=SentToGib olmalı ve GİB onaylı envanter beratı indirilebilmelidir.
  5. İmzalı envanter XML'i ile GİB onaylı berat aynı Uuid altında arşivlenmelidir.