e-Envanter Defteri

API

Entegrasyon API Endpoint Referansı

Client ve API arasındaki aktarım, oluşturma, onay, durum ve GİB sonucu sözleşmeleri.

e-Envanter Defteri API'sinde açılış ve kapanış aynı endpoint zincirini kullanır. İşlem türünü endpoint adı değil, PeriodStart/PeriodEnd tarihi belirler. Her iki tarih açılışta 1 Ocak, kapanışta 31 Aralık olmalıdır.

Önerilen Çağrı Sırası

SıraÇağrıÖn koşulBaşarı kanıtıSonraki adım
1Session/LoginYetkili kullanıcıToken ve firma UUID'si alındı.Header'ları oluşturun.
2InventoryState/TransferParsedFileVBT Client analizi başarılıParça doğru açılış/kapanış kaydıyla ilişkilendirildi.Kalan parçaları aktarın.
3InventoryState/GetProcessReportTüm parçalar aktarıldıTeşhis listesi boş; kayıt ve XML üretim hazırlıkları olumlu.Envanteri oluşturun.
4InventoryState/CreateInventoryRapor üretime hazırİstek kabul edildi; özet WaitingForApprove durumuna ilerledi.Envanter ve berat önizlemesini kontrol edin.
5InventoryApproval/InventoryApprovalGüncel özet WaitingForApproveÖzet WaitingForSign durumuna ilerledi.İmza sonucunu izleyin.
6InventoryGib/BulkSendGibQueueÖzet WaitingForSendingToGibGönderim isteği kabul edildi; aynı Uuid ilerliyor.Paket ve özet durumunu sorgulayın.
7InventoryGib/GetBatchStatus / ReceiveFilePlatformun döndürdüğü gerçek paket adıGİB sonucu olumlu ve onaylı berat alınabilir.İmzalı envanter ve onaylı beratı arşivleyin.

VBT Client → API

POST/api/InventoryState/TransferParsedFile

Analiz edilmiş tek envanter parçasını firma ve açılış/kapanış tarihiyle aktarır. Çok parçalı kaynaklarda her parça ayrı çağrılır.

RequestTransferParsedInventoryPartCredentials, ParsedFile.Key, ParsedFile.Value
ResponseServiceResponse<InventorySummaryViewModel>
TekilleştirmeAynı firma, şube, açılış/kapanış tarihi ve gerçek parça adı kullanılır.
Başarı sonrasıSon parça aktarılana kadar üretim çağrılmaz.
POST/api/InventoryState/GetProcessReport

Aktarım özetini, teşhis mesajlarını ve envanter kayıt/XML üretim hazırlığını döndürür.

RequestFirmCredentials
ResponseServiceResponse<TempInventory_ProcessReport>
KontrolDescriptive, DiagnoseMessages, IsReadyForInventoryEntityCreation ve IsReadyForInventoryUblCreation birlikte değerlendirilir.
BaşarısızsaTeşhis mesajındaki parça, kayıt ve satır kaynakla eşleştirilir; CreateInventory çağrılmaz.
Client sözleşmesi: TransferParsedFile doğrudan kaynak envanter JSON'u kabul etmez. ParsedFile, VBT Client'ın ürettiği ad/Base64 byte çifti olarak taşınır.

Üretim ve Onay API'si

POST/api/InventoryState/CreateInventory

Hazır aktarım için açılış veya kapanış envanteri ile beratının üretimini başlatır.

RequestInventoryCredentials
ResponseServiceResponse<bool>
Ön koşulSüreç raporu üretime hazır, teşhis listesi boş ve tarihler desteklenen açılış/kapanış gününde olmalıdır.
Başarı anlamıData=true isteğin kabul edildiğini gösterir; XML ve beratın tamamlandığını göstermez.
POST/api/InventoryApproval/InventoryApproval

Kontrol edilen envanter özetini onaylar ve imza aşamasına taşır.

RequestInventorySummaryViewModel
ResponseServiceResponse<bool>
Ön koşulEnvanter/berat, firma, tarih, parça ve kayıt özetleri mutabık; durum WaitingForApprove.
Model kaynağıGüncel GetEntity veya özet cevabındaki Data nesnesinin tamamı.

Durum ve GİB Sonucu

MetotEndpointAmaç
GET/api/InventorySummary/GetEntity?uuid={uuid}Tek bir açılış/kapanış özetini döndürür.
POST/api/InventorySummary/GetCurrentInventorySummaryFirma için güncel envanter dönemini döndürür.
POST/api/InventorySummary/GetPreviousInventorySummaryBir önceki açılış/kapanış dönemini döndürür.
POST/api/InventoryGib/BulkSendGibQueueInventoryCredentials ile hazır açılış/kapanış kaydının GİB gönderim sürecini başlatır.
POST/api/InventoryGib/GetBatchStatusGetBatchStatusRequestModel içindeki gerçek FileName için GİB durumunu döndürür.
POST/api/InventoryGib/ReceiveFileReceiveDocumentRequestModel ile GİB onaylı berat dosyasını alır.
Çağrı sırası: GİB gönderimi yalnız WaitingForSendingToGib durumunda başlatılır. Aynı tarih için yeni gönderim açmadan önce güncel özet ve paket durumu kontrol edilir.

Belirsiz Sonuç ve Güvenli Tekrar

OlayYapılmaması gerekenGüvenli kontrol
Parça aktarımında timeoutDosya adını değiştirip yeni parça gibi göndermekGüncel özeti ve süreç raporundaki parça/kayıt sayılarını kontrol edin.
CreateInventory cevabı alınamadıAynı açılış/kapanış kaydını doğrudan yeniden oluşturmakGetCurrentInventorySummary veya GetEntity ile durum ve Uuid'yi doğrulayın.
Onay cevabı alınamadıEski özet gövdesiyle tekrar onay vermekGüncel özeti alın; durum hâlâ WaitingForApprove ise güncel Data nesnesini kullanın.
GİB sonucu belirsizYeni paket veya tarih oluşturmakAynı Uuid, gerçek paket adı ve güncel durum üzerinden sorgulayın.