Modul Pesanan & Transaksi POS v1.0
Manajemen Transaksi Kasir POS & Pesanan Online
Kirim pesanan baru dari aplikasi mobile / mesin kasir tablet luar, lakukan sinkronisasi histori penjualan, dan update status pembayaran real-time via REST JSON API.
1. Riwayat & Daftar Transaksi Pesanan
GET
https://toko.rumren.id/api?action=external_orders_list&date=2026-10-06&status=all
Parameter Query:
| Parameter | Tipe | Status | Keterangan |
|---|---|---|---|
| date | string | Opsional | Filter tanggal pesanan (YYYY-MM-DD). |
| status | string | Opsional | Filter status: pending, confirmed, processing, ready, completed, cancelled. |
| payment_status | string | Opsional | Filter: paid atau unpaid. |
| order_type | string | Opsional | Filter: dine_in, takeaway, delivery. |
| limit | integer | Opsional | Batas jumlah baris data (default: 20, max: 100). |
Contoh Response Sukses (200 OK):
Status: 200 OK
{
"status": "success",
"total": 1,
"page": 1,
"limit": 20,
"orders": [
{
"id": 142,
"order_no": "2609LKAB",
"customer_name": "Rian Pratama",
"order_type": "dine_in",
"table_number": "Meja 05",
"subtotal": 56000,
"total_amount": 56000,
"payment_method": "qris",
"payment_status": "paid",
"order_status": "confirmed",
"created_at": "2026-09-23 13:40:00"
}
]
}
2. Detail Rincian Lengkap Transaksi Pesanan
GET
https://toko.rumren.id/api?action=external_order_detail&order_no={NO_PESANAN}
Endpoint ini mengembalikan rincian komprehensif transaksi pesanan, status pembayaran, custom fields, dan daftar item/menu yang dipesan.
Parameter Query (Gunakan salah satu):
| Parameter | Tipe | Status | Keterangan |
|---|---|---|---|
| order_no | string | Opsional | Nomor unik pesanan (contoh: 2609LKAB). |
| id | integer | Opsional | ID numerik transaksi pesanan. |
Contoh Response Sukses (200 OK):
Status: 200 OK
{
"status": "success",
"order": {
"id": 142,
"order_no": "2609LKAB",
"customer_name": "Rian Pratama",
"order_type": "dine_in",
"table_number": "Meja 05",
"payment_method": "qris",
"payment_status": "paid",
"order_status": "confirmed",
"subtotal": 56000,
"total_amount": 56000,
"notes": "Less ice, less sugar",
"custom_fields": {
"NOMOR MEJA": "05"
},
"items": [
{
"product_name": "Signature Milk Tea with Boba",
"quantity": 2,
"unit_price": 28000,
"subtotal": 56000,
"notes": "Less sugar"
}
],
"created_at": "2026-09-23 13:40:00"
}
}
3. Pembuatan Transaksi Pesanan Baru dari POS Luar
POST
https://toko.rumren.id/api?action=external_order_create
Contoh Payload JSON (Body):
Content-Type: application/json
{
"customer_name": "Rian Pratama",
"customer_email": "rian@example.com",
"order_type": "dine_in",
"table_number": "Meja 05",
"payment_method": "qris",
"payment_status": "paid",
"order_status": "confirmed",
"notes": "Less ice, less sugar",
"custom_fields": {
"NOMOR MEJA": "05",
"CATATAN TAMBAHAN": "Pisahkan sedotan"
},
"items": [
{
"product_id": 12,
"product_name": "Signature Milk Tea with Boba",
"quantity": 2,
"price": 28000,
"notes": "Less sugar"
}
]
}
Contoh Response Sukses (201 Created):
Status: 201 Created
{
"status": "success",
"message": "Pesanan baru berhasil dibuat.",
"data": {
"order_id": 142,
"order_no": "2609LKAB",
"customer_name": "Rian Pratama",
"total_amount": 56000,
"payment_status": "paid",
"order_status": "confirmed",
"tracking_url": "https://toko.rumren.id/track/2609LKAB"
}
}
4. Update Status Pesanan & Pembayaran
POST
https://toko.rumren.id/api?action=external_order_update_status
Parameter Payload JSON (Body):
| Field | Tipe | Status | Keterangan |
|---|---|---|---|
| order_no | string | Wajib | Nomor transaksi pesanan yang diupdate. |
| order_status | string | Opsional | pending, confirmed, processing, ready, completed, cancelled. |
| payment_status | string | Opsional | paid atau unpaid. |
Contoh Request Payload JSON:
Content-Type: application/json
{
"order_no": "2609LKAB",
"order_status": "completed",
"payment_status": "paid"
}
Contoh Response Sukses (200 OK):
Status: 200 OK
{
"status": "success",
"message": "Status pesanan #2609LKAB berhasil diperbarui.",
"order_no": "2609LKAB"
}