Sinkronisasi Infor (Vendor API)
Mekanisme sinkronisasi data Infor ERP dengan Database Lokal FSCM
Sinkronisasi Infor (Vendor API)
Sistem database lokal (FSCM) berintegrasi dengan Infor (Vendor API) sebagai System of Record / Master Data pusat.
Apakah Frontend Akses Infor Langsung?
Tidak. Secara arsitektur, frontend (fscm_frontend) tidak boleh melakukan request HTTP langsung ke Infor. Semua komunikasi dengan Infor wajib dijembatani oleh backend (btb_backend). Alasannya:
- Keamanan: Kredensial basic auth (
FSCM_Cirebon:noberiC_MCSF) dan base URL Infor disembunyikan di layer backend. - CORS: Kebanyakan API internal vendor tidak mengizinkan akses direct dari browser.
- Data Formatting: Backend bertugas merapikan dan memformat response JSON dari Infor agar sesuai kebutuhan visual frontend.
Pemetaan Implementasi API (Berdasarkan Dokumen Spesifikasi)
Berdasarkan dokumen spesifikasi API Specification FSCM 29062026.DOCX, berikut adalah status implementasi endpoint pada kelas VendorApiRepository.cs di backend:
| No | Nama API | Endpoint | Method | Status di Backend | Nama Fungsi Backend |
|---|---|---|---|---|---|
| 1 | Get PO | /Api/GetPO |
GET | ✅ Terimplementasi | GetPoAsync() |
| 2 | Get Data Supplier | /Api/GetDataSupplier |
GET | ✅ Terimplementasi | GetSupplierAsync() |
| 3 | Get Data Employee | /Api/GetDataEmployee |
GET | ✅ Terimplementasi | GetEmployeeAsync() |
| 4 | Get Data Item | /Api/GetDataItem |
GET | ✅ Terimplementasi | GetItemAsync() |
| 5 | Insert Data GRPO | /Api/InsertGRPO |
POST | ✅ Terimplementasi | InsertGRPOAsync() |
| 6 | Get Data Surat Jalan | /Api/GetDataSuratJalan |
GET | ✅ Terimplementasi | GetSjAsync() |
| 7 | Get Data Std Cost Item | /Api/GetDataStdCostItem |
GET | ✅ Terimplementasi | GetStdCostItemAsync() |
| 8 | Get Data Actual Receipt | /Api/GetDataActualReceipt |
GET | ✅ Terimplementasi | GetActualReceiptAsync() |
| 9 | Get Data BOM Multi Level | /Api/GetDataBOMMultiLevel |
GET | ✅ Terimplementasi | GetDataBOMAsync(int iPage) |
| 10 | Get Data Price Book | /Api/GetDataPriceBook |
GET | ✅ Terimplementasi | GetPriceBookAsync(int iPage) |
| 11 | Get Data DN Outstanding | /Api/GetDeliveryOutstanding |
GET | ❌ BELUM ADA | Belum diimplementasikan |
⚠️ Catatan Penting:
- Endpoint
/Api/GetDeliveryOutstanding(Get Data DN Outstanding) belum diimplementasikan diVendorApiRepository.cs. Anda perlu menambahkan fungsi ini jika fitur delivery outstanding ingin diintegrasikan langsung secara real-time ke Infor.- Ada sedikit kesalahan pengetikan (typo) pada dokumen spesifikasi di bagian Get Data Item, di mana ia menuliskan URL
/Api/GetDataEmployee. Di backend, hal ini sudah disesuaikan dengan benar ke/Api/GetDataItem.
Hubungan Staging Database (DojoInforRepository)
Selain jalur HTTP Client langsung (VendorApiRepository), sistem juga menyediakan jalur lokal melalui DojoInforRepository.cs untuk modul yang datanya disinkronisasikan ke database lokal terlebih dahulu (menggunakan SQL Server Agent).
Jalur ini memanfaatkan Stored Procedure (Dapper):
sp_GetVendorPOsp_BersihkanDataHariansp_InsertDojoBtbsp_UpdInsStatusBTB
Mekanisme ini digunakan agar sistem tidak membebani server Infor dengan query database yang rumit atau berulang-ulang dari banyak pengguna sekaligus.