Seluruh endpoint harus mengembalikan format response yang konsisten, sehingga Frontend tidak perlu menangani banyak variasi response.
Format ini berlaku untuk seluruh endpoint, baik success, error, maupun pagination.
{
"success": true,
"status": 200,
"code": "PROJECT_GET_SUCCESS",
"message": "Projects retrieved successfully",
"data": {},
"meta": {}
}
| Field | Keterangan |
|---|---|
| success | Status request (true / false) |
| status | HTTP Status Code |
| code | Internal Response Code |
| message | Pesan untuk developer / debugging |
| data | Data utama response |
| meta | Metadata tambahan (pagination, dll) |
{
"success": false,
"status": 400,
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"errors": [
{
"field": "email",
"message": "Email is required"
}
]
}
{
"field": "email",
"message": "Email is required"
}
Apabila terdapat lebih dari satu error validasi, seluruhnya dikembalikan dalam array errors.
Selain HTTP Status Code, backend juga mengirimkan Internal Response Code.
Contoh
AUTH_LOGIN_SUCCESS
AUTH_INVALID_CREDENTIALS
AUTH_TOKEN_EXPIRED
USER_NOT_FOUND
PROJECT_CREATED
PROJECT_UPDATED
PROJECT_DELETED
PAYMENT_SUCCESS
PAYMENT_FAILED
BLOCKCHAIN_TRANSACTION_FAILED
VALIDATION_ERROR
INTERNAL_SERVER_ERROR