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:

  1. Keamanan: Kredensial basic auth (FSCM_Cirebon:noberiC_MCSF) dan base URL Infor disembunyikan di layer backend.
  2. CORS: Kebanyakan API internal vendor tidak mengizinkan akses direct dari browser.
  3. 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 di VendorApiRepository.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_GetVendorPO
  • sp_BersihkanDataHarian
  • sp_InsertDojoBtb
  • sp_UpdInsStatusBTB

Mekanisme ini digunakan agar sistem tidak membebani server Infor dengan query database yang rumit atau berulang-ulang dari banyak pengguna sekaligus.