Order
Status order
Mengembalikan status terkini satu order atau hingga 100 order dalam format standar, plus kolom tambahan yang jelas: refund, alasan, dan apakah pembatalan atau isi ulang bisa dilakukan sekarang. Proyeksi yang sama dipakai oleh order_details dan webhook, sehingga selalu sejalan.
https://notpanel.com/api/v3action=status- API key diperlukan
- Batas permintaan tercapai
- Body:
application/x-www-form-urlencoded
Parameter
Selalu dikirim
keystringWajib- API key Anda.
actionstringWajibstatusHarus berupa string literal "status".
Kirim order atau orders.
orderintegerSalah satu dari ini- Satu nomor order. Order yang dibuat sebelum 2026-08-25 masih bisa dibaca dengan ID yang diberikan saat itu; balasan memakai nomor order.
ordersstring (CSV)Salah satu dari ini- Hingga 100 nomor order dipisahkan koma. Bila keduanya dikirim,
ordersyang dipakai.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=status&order=1234568"const res = await fetch("https://notpanel.com/api/v3", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
key: "YOUR_API_KEY",
action: "status",
order: "1234568",
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={
"key": "YOUR_API_KEY",
"action": "status",
"order": "1234568",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'status',
'order' => '1234568',
]);
$response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
'content' => $body,
'ignore_errors' => true,
],
]));
print_r(json_decode($response, true));
Ganti YOUR_API_KEY dengan kunci dari halaman API Anda.
{
"charge": "0.87",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD",
"order": 1234568,
"status_key": "partial",
"refund": "0.13",
"reason_code": "partially_delivered",
"reason": "Part of the order was delivered. The rest was refunded.",
"can_cancel": false,
"cancel_available": false,
"cancel_state": null,
"can_refill": true,
"refill_available_at": null,
"updated_at": "2026-10-03T12:00:00Z"
}Error
- 400
{"error":"Missing required parameter: order","error_code":"MISSING_PARAMETER","retryable":false,"details":{"param":"order"}}Tidak ada order maupun orders yang dikirim.
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}Lebih dari 100 nomor order di orders.
- 404
{"error":"Order not found","error_code":"ORDER_NOT_FOUND","retryable":false}Order tidak ada atau milik akun lain. Kedua kasus memberi jawaban yang sama.
Kolom respons
Lima kolom pertama mempertahankan bentuk standar yang dibaca skrip panel, dan order mengulang nomornya. Sisanya adalah tambahan.
Kolom respons
chargestring- Berapa biaya order sekarang bagi Anda, dalam USD, berupa string. Sudah dikurangi refund apa pun.
start_countstring- Hitungan saat pengiriman dimulai, atau
"0"bila tidak diketahui. statusstring- Kata status. Lihat Nilai status.
remainsstring- Jumlah yang belum terkirim. Order selesai selalu menampilkan
"0". currencystring- Selalu
USD. orderinteger- Nomor order.
status_keystring- Bentuk status yang stabil dalam huruf kecil, untuk logika.
refundstring- Dana yang dikembalikan ke dompet Anda untuk order ini, sebagai teks;
0.00bila belum ada yang dikembalikan. reason_codestring | null- Mengapa order berakhir seperti itu, atau
null. Lihat Kode alasan. reasonstring | null- Kalimat bahasa Inggris tetap untuk
reason_code, ataunull. can_cancelbooleantruebila pembatalan bisa dilakukan sekarang, secara instan atau sebagai permintaan.cancel_availablebooleantrueselama order bisa dibatalkan sekarang dengan pengembalian penuh: pada detik-detik pertama setelah dibuat, atau selama order menunggu dan belum pernah dikirim.cancel_statestring | nullrequestedataurefusedsetelah permintaan pembatalan, selain itunull.can_refillbooleantruebila isi ulang bisa diminta sekarang.refill_available_atstring | null- Kapan isi ulang berikutnya menjadi mungkin, atau
null. updated_atstring- Kapan order terakhir berubah.
Nilai status
- Pending
status_key=pendingPending— diterima dan belum dikirim. Selama 15 detik pertama order bisa dibatalkan gratis. - Processing
status_key=processingProcessing— dikirim dan menunggu pengiriman dimulai. Order yang pengirimannya belum terkonfirmasi juga tampil sebagai diproses. - In progress
status_key=in_progressPengiriman sedang berlangsung.
- Completed
status_key=completedCompleted— terkirim sepenuhnya.remainsselalu"0". - Partial
status_key=partialPartial— sebagian order terkirim dan sisanya di-refund. Isi ulang mungkin tersedia. - Canceled
status_key=cancelledCanceled— tidak ada lagi yang akan dikirim dan biaya di-refund penuh atau sebagian.reason_codemenjelaskan alasannya.
Kode alasan
Saat order berakhir lebih awal, reason_code menjelaskan alasannya dan reason berisi kalimat tetap. Uangnya ada di refund, tidak pernah di kalimat. Perlakukan kode yang tidak dikenal sebagai alasan umum: kode baru bisa ditambahkan.
Kode alasan dan kalimatnya
customer_canceled- You canceled this order. The charge was refunded.
canceled_on_request- Canceled at your request. The charge was refunded.
canceled_on_request_partial- Canceled at your request. Part of the order was delivered. The rest was refunded.
canceled_overdue- Canceled because it took too long. The charge was refunded.
delivery_canceled- This order was canceled. The charge was refunded.
partially_delivered- Part of the order was delivered. The rest was refunded.
link_invalid- The link is wrong or private. The charge was refunded.
link_busy- This link already had an active order. The charge was refunded.
service_unavailable- The service was not available. The charge was refunded.
quantity_rejected- The quantity was not accepted. The charge was refunded.
details_rejected- The order details were not accepted. The charge was refunded.
price_changed- The price changed before the order started. The charge was refunded.
start_failed- The order could not be started. The charge was refunded.
not_started_in_time- The order could not be started in time. The charge was refunded.
admin_refund- Refunded by support.
admin_completed- Marked completed by support.
legacy_canceled- Canceled.
legacy_refunded- Refunded.
Refund dan biaya
key=YOUR_API_KEY&action=status&order=1234569{
"charge": "0.00",
"start_count": "0",
"status": "Canceled",
"remains": "1000",
"currency": "USD",
"order": 1234569,
"status_key": "cancelled",
"refund": "1.20",
"reason_code": "customer_canceled",
"reason": "You canceled this order. The charge was refunded.",
"can_cancel": false,
"cancel_available": false,
"cancel_state": null,
"can_refill": false,
"refill_available_at": null,
"updated_at": "2026-10-03T10:00:09Z"
}Banyak order sekaligus
Dengan orders, balasannya adalah objek yang dikunci oleh setiap ID yang diminta. Setiap ID mendapat objek status atau objek error, dan status HTTP tetap 200. Hingga 100 ID per permintaan.
key=YOUR_API_KEY&action=status&orders=1234567,1234568,999{
"999": {
"error": "Order not found",
"error_code": "ORDER_NOT_FOUND",
"retryable": false
},
"1234567": {
"charge": "1.20",
"start_count": "3572",
"status": "Completed",
"remains": "0",
"currency": "USD",
"order": 1234567,
"status_key": "completed",
"refund": "0.00",
"reason_code": null,
"reason": null,
"can_cancel": false,
"cancel_available": false,
"cancel_state": null,
"can_refill": false,
"refill_available_at": "2026-10-03T18:35:00Z",
"updated_at": "2026-10-03T12:35:00Z"
},
"1234568": {
"charge": "0.87",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD",
"order": 1234568,
"status_key": "partial",
"refund": "0.13",
"reason_code": "partially_delivered",
"reason": "Part of the order was delivered. The rest was refunded.",
"can_cancel": false,
"cancel_available": false,
"cancel_state": null,
"can_refill": true,
"refill_available_at": null,
"updated_at": "2026-10-03T12:00:00Z"
}
}