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şul | Başarı kanıtı | Sonraki adım |
|---|---|---|---|---|
| 1 | Session/Login | Yetkili kullanıcı | Token ve firma UUID'si alındı. | Header'ları oluşturun. |
| 2 | InventoryState/TransferParsedFile | VBT Client analizi başarılı | Parça doğru açılış/kapanış kaydıyla ilişkilendirildi. | Kalan parçaları aktarın. |
| 3 | InventoryState/GetProcessReport | Tüm parçalar aktarıldı | Teşhis listesi boş; kayıt ve XML üretim hazırlıkları olumlu. | Envanteri oluşturun. |
| 4 | InventoryState/CreateInventory | Rapor üretime hazır | İstek kabul edildi; özet WaitingForApprove durumuna ilerledi. | Envanter ve berat önizlemesini kontrol edin. |
| 5 | InventoryApproval/InventoryApproval | Güncel özet WaitingForApprove | Özet WaitingForSign durumuna ilerledi. | İmza sonucunu izleyin. |
| 6 | InventoryGib/BulkSendGibQueue | Özet WaitingForSendingToGib | Gönderim isteği kabul edildi; aynı Uuid ilerliyor. | Paket ve özet durumunu sorgulayın. |
| 7 | InventoryGib/GetBatchStatus / ReceiveFile | Platformun 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.
| Request | TransferParsedInventoryPart — Credentials, ParsedFile.Key, ParsedFile.Value |
| Response | ServiceResponse<InventorySummaryViewModel> |
| Tekilleştirme | Aynı 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.
| Request | FirmCredentials |
| Response | ServiceResponse<TempInventory_ProcessReport> |
| Kontrol | Descriptive, DiagnoseMessages, IsReadyForInventoryEntityCreation ve IsReadyForInventoryUblCreation birlikte değerlendirilir. |
| Başarısızsa | Teş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.
| Request | InventoryCredentials |
| Response | ServiceResponse<bool> |
| Ön koşul | Sü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.
| Request | InventorySummaryViewModel |
| Response | ServiceResponse<bool> |
| Ön koşul | Envanter/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
| Metot | Endpoint | Amaç |
|---|---|---|
| GET | /api/InventorySummary/GetEntity?uuid={uuid} | Tek bir açılış/kapanış özetini döndürür. |
| POST | /api/InventorySummary/GetCurrentInventorySummary | Firma için güncel envanter dönemini döndürür. |
| POST | /api/InventorySummary/GetPreviousInventorySummary | Bir önceki açılış/kapanış dönemini döndürür. |
| POST | /api/InventoryGib/BulkSendGibQueue | InventoryCredentials ile hazır açılış/kapanış kaydının GİB gönderim sürecini başlatır. |
| POST | /api/InventoryGib/GetBatchStatus | GetBatchStatusRequestModel içindeki gerçek FileName için GİB durumunu döndürür. |
| POST | /api/InventoryGib/ReceiveFile | ReceiveDocumentRequestModel 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
| Olay | Yapılmaması gereken | Güvenli kontrol |
|---|---|---|
| Parça aktarımında timeout | Dosya adını değiştirip yeni parça gibi göndermek | Gü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şturmak | GetCurrentInventorySummary veya GetEntity ile durum ve Uuid'yi doğrulayın. |
| Onay cevabı alınamadı | Eski özet gövdesiyle tekrar onay vermek | Güncel özeti alın; durum hâlâ WaitingForApprove ise güncel Data nesnesini kullanın. |
| GİB sonucu belirsiz | Yeni paket veya tarih oluşturmak | Aynı Uuid, gerçek paket adı ve güncel durum üzerinden sorgulayın. |