Files
AbelBirdNest-Stock/docs/project-spec/walet-postman-collection.json

363 lines
12 KiB
JSON

{
"info": {
"name": "Walet Inventory API",
"description": "Postman collection untuk sistem inventory sarang burung walet berbasis lot, traceability, sorting, dan allocation.",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"variable": [
{
"key": "baseUrl",
"value": "http://localhost:3000/api/v1"
},
{
"key": "token",
"value": ""
}
],
"item": [
{
"name": "Auth",
"item": [
{
"name": "Login",
"request": {
"method": "POST",
"header": [
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/auth/login",
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"admin@example.com\",\n \"password\": \"secret\"\n}"
}
}
}
]
},
{
"name": "Master Data",
"item": [
{
"name": "List Suppliers",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/suppliers"
}
},
{
"name": "Create Supplier",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/suppliers",
"body": {
"mode": "raw",
"raw": "{\n \"code\": \"SUP-C\",\n \"name\": \"Supplier C\",\n \"phone\": \"081310000003\",\n \"email\": \"sup-c@walet.local\",\n \"bank_name\": \"BCA\",\n \"bank_account_number\": \"333444555666\",\n \"address\": \"Semarang\"\n}"
}
}
},
{
"name": "List Customers",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/customers"
}
},
{
"name": "Create Customer",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/customers",
"body": {
"mode": "raw",
"raw": "{\n \"code\": \"CUST-C\",\n \"name\": \"Customer C\",\n \"phone\": \"081320000003\",\n \"email\": \"cust-c@walet.local\",\n \"bank_name\": \"Mandiri\",\n \"bank_account_number\": \"777888999000\",\n \"address\": \"Yogyakarta\"\n}"
}
}
},
{
"name": "List Item Types",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/item-types"
}
},
{
"name": "List Item Grades",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/item-grades"
}
}
]
},
{
"name": "Purchasing",
"item": [
{
"name": "Create Purchase",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/purchases",
"body": {
"mode": "raw",
"raw": "{\n \"supplier_id\": 1,\n \"purchase_date\": \"2026-04-28\",\n \"supplier_invoice_no\": \"INV-8891\",\n \"notes\": \"Pembelian campuran\",\n \"lines\": [\n {\n \"item_type_id\": 1,\n \"item_grade_id\": 1,\n \"qty_ordered\": 50,\n \"unit_id\": 1,\n \"unit_price\": 18000000,\n \"classification_status\": \"FINAL\"\n },\n {\n \"item_type_id\": 1,\n \"item_grade_id\": null,\n \"qty_ordered\": 40,\n \"unit_id\": 1,\n \"unit_price\": 17500000,\n \"classification_status\": \"PROVISIONAL\"\n }\n ]\n}"
}
}
},
{
"name": "List Purchases",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/purchases"
}
}
]
},
{
"name": "Receiving",
"item": [
{
"name": "Create Receipt",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/receipts",
"body": {
"mode": "raw",
"raw": "{\n \"purchase_id\": 1,\n \"supplier_id\": 1,\n \"receipt_date\": \"2026-04-28\",\n \"notes\": \"Barang diterima baik\",\n \"lines\": [\n {\n \"purchase_line_id\": 1,\n \"item_type_id\": 1,\n \"item_grade_id\": 1,\n \"qty_received\": 50,\n \"qty_accepted\": 50,\n \"qty_rejected\": 0,\n \"unit_id\": 1,\n \"unit_cost\": 18000000,\n \"warehouse_id\": 1,\n \"warehouse_location_id\": 1\n }\n ]\n}"
}
}
},
{
"name": "Generate Lots",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/receipts/1/generate-lots"
}
}
]
},
{
"name": "Inventory Lots",
"item": [
{
"name": "List Lots",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/lots"
}
},
{
"name": "Lot Detail",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/lots/1"
}
},
{
"name": "Lot Trace",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/lots/1/trace"
}
}
]
},
{
"name": "Sorting & Regrade",
"item": [
{
"name": "Create Sorting Session",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/sorting-sessions",
"body": {
"mode": "raw",
"raw": "{\n \"source_lot_id\": 10,\n \"sorting_date\": \"2026-04-28T15:00:00Z\",\n \"input_qty\": 40,\n \"shrinkage_qty\": 3,\n \"notes\": \"Sortasi batch campuran\",\n \"results\": [\n {\n \"item_type_id\": 1,\n \"item_grade_id\": 1,\n \"qty_result\": 18,\n \"unit_cost\": 17500000\n },\n {\n \"item_type_id\": 1,\n \"item_grade_id\": 2,\n \"qty_result\": 12,\n \"unit_cost\": 17500000\n }\n ]\n}"
}
}
},
{
"name": "Regrade Lot",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/lots/1/regrade",
"body": {
"mode": "raw",
"raw": "{\n \"target_grade_id\": 2,\n \"qty\": 5,\n \"reason_id\": 3,\n \"notes\": \"Turun grade setelah QC\"\n}"
}
}
}
]
},
{
"name": "Sales",
"item": [
{
"name": "Create Sales Order",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/sales",
"body": {
"mode": "raw",
"raw": "{\n \"customer_id\": 1,\n \"sales_date\": \"2026-04-28\",\n \"notes\": \"Order customer X\",\n \"lines\": [\n {\n \"item_type_id\": 1,\n \"item_grade_id\": 1,\n \"qty_sold\": 30,\n \"unit_id\": 1,\n \"selling_price\": 22000000\n }\n ]\n}"
}
}
},
{
"name": "Allocate Sales Lots",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/sales/1/allocate",
"body": {
"mode": "raw",
"raw": "{\n \"lines\": [\n {\n \"sales_line_id\": 1,\n \"allocations\": [\n {\n \"inventory_lot_id\": 1,\n \"qty_allocated\": 20\n },\n {\n \"inventory_lot_id\": 4,\n \"qty_allocated\": 10\n }\n ]\n }\n ]\n}"
}
}
},
{
"name": "Auto Allocate Sales",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/sales/1/auto-allocate",
"body": {
"mode": "raw",
"raw": "{\n \"policy\": \"FIFO\"\n}"
}
}
}
]
},
{
"name": "Adjustment & Returns",
"item": [
{
"name": "Create Stock Adjustment",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/stock-adjustments",
"body": {
"mode": "raw",
"raw": "{\n \"inventory_lot_id\": 11,\n \"adjustment_type\": \"SHRINKAGE\",\n \"reason_id\": 1,\n \"qty_change\": -1.2,\n \"notes\": \"Selisih opname\"\n}"
}
}
},
{
"name": "Create Sales Return",
"request": {
"method": "POST",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"url": "{{baseUrl}}/sales-returns",
"body": {
"mode": "raw",
"raw": "{\n \"sales_id\": 1,\n \"customer_id\": 1,\n \"return_date\": \"2026-04-29\",\n \"lines\": [\n {\n \"sales_line_id\": 1,\n \"inventory_lot_id\": 1,\n \"item_type_id\": 1,\n \"item_grade_id\": 1,\n \"qty_returned\": 2,\n \"return_condition\": \"GOOD\",\n \"resolution\": \"RESTOCK\"\n }\n ]\n}"
}
}
}
]
},
{
"name": "Barcode & Reports",
"item": [
{
"name": "Barcode Lookup",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/barcode/lookup/LOT-260428-SUPA-001"
}
},
{
"name": "Stock Summary Report",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/reports/stock-summary"
}
},
{
"name": "Traceability Report by Sales",
"request": {
"method": "GET",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
],
"url": "{{baseUrl}}/reports/traceability?sales_id=1"
}
}
]
}
]
}