@extends('master') @section('content')
Semua API endpoint memerlukan API key yang valid. Sertakan key pada header Authorization:
Authorization: Bearer sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{{ url('/api/v1') }}
Semua response menggunakan format JSON envelope yang konsisten:
{
"success": true,
"message": "Data retrieved successfully",
"data": [...],
"meta": {
"current_page": 1,
"per_page": 25,
"total": 150,
"last_page": 6
}
}
{
"success": false,
"message": "Deskripsi error",
"error_code": "ERROR_CODE"
}
| Method | Endpoint | Scope | Deskripsi |
|---|---|---|---|
| Stock | |||
| GET | /stock/master |
stock:read |
Data master stok (semua item) |
| GET | /stock/{lab} |
stock:read |
Stok per sub-lab (mikro/cpo/ci) |
| Items | |||
| GET | /items |
items:read |
Katalog item reference (paginated) |
| GET | /items/{item_code} |
items:read |
Detail item berdasarkan kode |
| Transactions | |||
| GET | /transactions/received/{lab} |
transactions:read |
History penerimaan per lab |
| GET | /transactions/expense/{lab} |
transactions:read |
History pengeluaran per lab |
| Verification | |||
| GET | /verification/{lab} |
verification:read |
Status verifikasi terbaru |
| GET | /verification/{lab}/history |
verification:read |
History verifikasi |
| Expiry | |||
| GET | /expiry-alerts |
expiry:read |
Item mendekati kedaluwarsa (?days=90) |
| Destruction | |||
| GET | /destruction/requests |
destruction:read |
Daftar request pemusnahan |
| GET | /destruction/requests/{poolingreq} |
destruction:read |
Detail request pemusnahan |
| Settings | |||
| GET | /minmax/{lab} |
settings:read |
Setting min/max per lab |
| Staging | |||
| GET | /staging/{lab} |
staging:read |
Daftar staging/pooling |
| GET | /staging/{lab}/{pooling_number} |
staging:read |
Detail item dalam pooling |
mikro, cpo, ci
Semua list endpoint mendukung query parameters berikut:
| Parameter | Default | Keterangan |
|---|---|---|
per_page |
25 | Jumlah item per halaman (max: 100) |
page |
1 | Nomor halaman |
search |
- | Pencarian berdasarkan item_code atau item_description |
sort |
created_at | Field untuk sorting |
order |
desc | Arah sorting: asc atau desc |
| HTTP Code | Error Code | Keterangan |
|---|---|---|
| 401 | MISSING_API_KEY |
Header Authorization tidak ada |
| 401 | INVALID_API_KEY |
API key tidak ditemukan |
| 401 | INACTIVE_API_KEY |
API key nonaktif |
| 401 | REVOKED_API_KEY |
API key telah dicabut |
| 401 | EXPIRED_API_KEY |
API key sudah kedaluwarsa |
| 403 | INSUFFICIENT_SCOPE |
Key tidak memiliki scope yang diperlukan |
| 429 | RATE_LIMIT_EXCEEDED |
Batas rate limit tercapai |
Setiap API key memiliki rate limit per menit. Info rate limit tersedia di response headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
Retry-After: 45 (hanya saat limit tercapai)
{{ $scope }}curl -X GET \
{{ url('/api/v1/stock/master') }} \
-H "Authorization: Bearer sk_your_key_here" \
-H "Accept: application/json"