Commandes
Statut de commande
Renvoie l'état actuel d'une commande ou de jusqu'à 100 commandes au format standard, avec des champs supplémentaires clairs : le remboursement, le motif, et si l'annulation ou la recharge est possible maintenant. La même projection alimente order_details et les webhooks, ils concordent donc toujours.
https://notpanel.com/api/v3action=status- Clé d'API requise
- Limite de requêtes atteinte
- Corps :
application/x-www-form-urlencoded
Paramètres
Toujours envoyé
keystringRequis- Votre clé API.
actionstringRequisstatusDoit être la chaîne littérale « status ».
Envoyez order ou orders.
orderintegerL'un de ceux-ci- Un numéro de commande. Les commandes passées avant le 2026-08-25 peuvent toujours être lues avec l'ID qu'elles avaient alors ; la réponse utilise le numéro de commande.
ordersstring (CSV)L'un de ceux-ci- Jusqu'à 100 numéros de commande séparés par des virgules. Si les deux sont envoyés,
ordersl'emporte.
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));
Remplacez YOUR_API_KEY par la clé de votre page API.
{
"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"
}Erreurs
- 400
{"error":"Missing required parameter: order","error_code":"MISSING_PARAMETER","retryable":false,"details":{"param":"order"}}Ni order ni orders n'a été envoyé.
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}Plus de 100 numéros de commande dans orders.
- 404
{"error":"Order not found","error_code":"ORDER_NOT_FOUND","retryable":false}La commande n'existe pas ou appartient à un autre compte. Les deux cas donnent la même réponse.
Champs de la réponse
Les cinq premiers champs gardent la forme standard lue par les scripts de panel, et order répète le numéro. Les autres sont des ajouts.
Champs de la réponse
chargestring- Ce que la commande vous coûte maintenant, en USD, sous forme de chaîne. C'est net de tout remboursement.
start_countstring- Le compteur au début de la livraison, ou
"0"s'il n'est pas connu. statusstring- Le mot de statut. Voir Valeurs de statut.
remainsstring- Quantité pas encore livrée. Une commande terminée affiche toujours
"0". currencystring- Toujours
USD. orderinteger- Le numéro de commande.
status_keystring- Forme stable en minuscules du statut, pour la logique.
refundstring- Argent rendu à votre portefeuille pour cette commande, sous forme de texte ;
0.00si rien n'a été remboursé. reason_codestring | null- Pourquoi la commande s'est terminée ainsi, ou
null. Voir Codes de motif. reasonstring | null- Une phrase anglaise fixe pour
reason_code, ounull. can_cancelbooleantruelorsqu'une annulation est possible maintenant, instantanée ou sous forme de demande.cancel_availablebooleantruetant que la commande peut être annulée maintenant avec un remboursement complet : dans les premières secondes après sa création, ou tant qu'elle attend sans avoir été envoyée.cancel_statestring | nullrequestedourefusedaprès une demande d'annulation, sinonnull.can_refillbooleantruelorsqu'une recharge peut être demandée maintenant.refill_available_atstring | null- Quand la prochaine recharge devient possible, ou
null. updated_atstring- Quand la commande a changé pour la dernière fois.
Valeurs de statut
- Pending
status_key=pendingPending— acceptée et pas encore envoyée. Pendant les 15 premières secondes, la commande peut être annulée gratuitement. - Processing
status_key=processingProcessing— envoyée et en attente du début de la livraison. Une commande dont l'envoi n'est pas confirmé apparaît aussi comme en traitement. - In progress
status_key=in_progressLivraison en cours.
- Completed
status_key=completedCompleted— entièrement livrée.remainsvaut toujours"0". - Partial
status_key=partialPartial— une partie de la commande a été livrée et le reste remboursé. Une recharge peut être disponible. - Canceled
status_key=cancelledCanceled— plus rien ne sera livré et le montant a été remboursé en totalité ou en partie.reason_codeindique pourquoi.
Codes de motif
Lorsqu'une commande se termine plus tôt que prévu, reason_code indique pourquoi et reason contient la phrase fixe. L'argent se trouve dans refund, jamais dans la phrase. Traitez un code inconnu comme un motif générique : de nouveaux codes peuvent être ajoutés.
Codes de motif et phrases
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.
Remboursements et montant débité
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"
}Plusieurs commandes à la fois
Avec orders, la réponse est un objet indexé par chaque ID demandé. Chaque ID reçoit son objet de statut ou un objet d'erreur, et le statut HTTP reste 200. Jusqu'à 100 ID par requête.
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"
}
}