Lewati ke konten utama

Referensi API

Halaman ini adalah peta endpoint utama. Spesifikasi lengkap Go tersedia di apps/api/docs/openapi.yaml dan, saat server berjalan, di /docs/swagger. OpenAPI OCR tersedia di /openapi.json atau Swagger /docs pada port OCR.

Autentikasi Go​

POST /api/auth/login dan alias POST /auth/login menerima username serta password:

curl -X POST http://localhost:8082/api/auth/login \
-H 'Content-Type: application/json' \
-d '{"username":"<username>","password":"<password>"}'

Respons Go memakai envelope dengan data.token. Untuk route bisnis /api/* gunakan header Authorization: Bearer <token>:

curl http://localhost:8082/api/auth/me \
-H 'Authorization: Bearer <token>'

Kelompok route Go​

RouteKegunaanAutentikasi
GET /health, GET /readyLiveness dan kesiapan DBPublik
POST /api/auth/loginLogin penggunaPublik
GET /api/auth/meProfil token saat iniJWT
/api/memo, /api/memo/inbox/*Memo dan persetujuanJWT
/api/memo/attachment/*Metadata dan upload lampiranJWT; route file berdasar ID terpisah dan publik
/api/bank, /api/company, /api/supplier, /api/employeeMaster dataJWT
/api/notification/*, /api/report/*Notifikasi dan laporanJWT
POST /api/api-keyMembuat API key perusahaanJWT
/api/v2/memoIntegrasi memo v2X-API-Key
POST /webhook/ocrCallback hasil OCRBearer token webhook

Route /api/memo/attachment/file/:id dapat digunakan mengambil lampiran berdasarkan ID. Route baru /api/memo/attachment/file/by-filename/:filename berada di grup JWT.

API key perusahaan​

curl -X POST http://localhost:8082/api/api-key \
-H 'Authorization: Bearer <jwt>' \
-H 'Content-Type: application/json' \
-d '{"company_no":"<company_no>","expires_at":"2026-12-31"}'

curl http://localhost:8082/api/v2/memo \
-H 'X-API-Key: <api_key>'

API key mentah ditampilkan ketika dibuat; database menyimpan hash. Tanggal kedaluwarsa menerima YYYY-MM-DD atau RFC3339. company_no harus merujuk perusahaan yang ada.

API OCR​

RouteKegunaan
GET /healthLiveness layanan
POST /api/v1/ocr/processMembuat job OCR, mengembalikan HTTP 202
GET /api/v1/ocr/jobsDaftar job
GET /api/v1/ocr/jobs/{job_id}Status dan hasil job
POST /api/v1/ocr/jobs/{job_id}/process-localHelper pemrosesan lokal
curl -X POST http://localhost:8015/api/v1/ocr/process \
-H 'Authorization: Bearer <SERVICE_AUTH_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"image_url":"http://memo_minio:9000/memos/<object-key>","storage":"s3","source":"web","user_id":"<user_id>","metadata":{}}'

curl http://localhost:8015/api/v1/ocr/jobs/<job_id> \
-H 'Authorization: Bearer <SERVICE_AUTH_TOKEN>'

URL gambar harus dapat dijangkau dari container OCR. Header Bearer diperlukan jika SERVICE_AUTH_TOKEN diisi. Respons job berisi job_id, status, tahap, hasil atau detail kegagalan.