Pedidos
Status do pedido
Retorna o estado atual de um pedido ou de até 100 pedidos no formato padrão, mais campos extras claros: o reembolso, o motivo e se cancelar ou repor é possível agora. A mesma projeção alimenta order_details e os webhooks, então eles sempre concordam.
https://notpanel.com/api/v3action=status- Chave de API obrigatória
- Limite de requisições atingido
- Corpo:
application/x-www-form-urlencoded
Parâmetros
Sempre enviado
keystringObrigatório- Sua chave de API.
actionstringObrigatóriostatusDeve ser a string literal "status".
Envie order ou orders.
orderintegerUm destes- Um número de pedido. Pedidos feitos antes de 2026-08-25 ainda podem ser lidos com o ID que tinham então; a resposta usa o número do pedido.
ordersstring (CSV)Um destes- Até 100 números de pedido separados por vírgula. Se ambos forem enviados,
ordersprevalece.
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));
Substitua YOUR_API_KEY pela chave da sua página de 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"
}Erros
- 400
{"error":"Missing required parameter: order","error_code":"MISSING_PARAMETER","retryable":false,"details":{"param":"order"}}Nem order nem orders foi enviado.
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}Mais de 100 números de pedido em orders.
- 404
{"error":"Order not found","error_code":"ORDER_NOT_FOUND","retryable":false}O pedido não existe ou pertence a outra conta. Os dois casos dão a mesma resposta.
Campos da resposta
Os cinco primeiros campos mantêm o formato padrão que os scripts de painéis leem, e order repete o número. Os demais são acréscimos.
Campos da resposta
chargestring- O que o pedido custa a você agora, em USD, como string. É o valor líquido de qualquer reembolso.
start_countstring- A contagem quando a entrega começou, ou
"0"quando não é conhecida. statusstring- A palavra de status. Veja Valores de status.
remainsstring- Quantidade ainda não entregue. Um pedido concluído sempre mostra
"0". currencystring- Sempre
USD. orderinteger- O número do pedido.
status_keystring- Forma estável em minúsculas do status, para a lógica.
refundstring- Dinheiro devolvido à sua carteira por este pedido, como texto;
0.00quando nada foi devolvido. reason_codestring | null- Por que o pedido terminou como terminou, ou
null. Veja Códigos de motivo. reasonstring | null- Uma frase fixa em inglês para
reason_code, ounull. can_cancelbooleantruequando é possível cancelar agora, de forma instantânea ou como solicitação.cancel_availablebooleantrueenquanto o pedido pode ser cancelado agora com reembolso total: nos primeiros segundos após a criação ou enquanto aguarda sem ter sido enviado.cancel_statestring | nullrequestedourefusedapós uma solicitação de cancelamento; caso contrárionull.can_refillbooleantruequando uma reposição pode ser solicitada agora.refill_available_atstring | null- Quando a próxima reposição será possível, ou
null. updated_atstring- Quando o pedido mudou pela última vez.
Valores de status
- Pending
status_key=pendingPending— aceito e ainda não enviado. Durante os primeiros 15 segundos o pedido pode ser cancelado de graça. - Processing
status_key=processingProcessing— enviado e aguardando o início da entrega. Um pedido cujo envio não foi confirmado também aparece como em processamento. - In progress
status_key=in_progressEntrega em andamento.
- Completed
status_key=completedCompleted— totalmente entregue.remainsé sempre"0". - Partial
status_key=partialPartial— parte do pedido foi entregue e o restante foi reembolsado. A reposição pode estar disponível. - Canceled
status_key=cancelledCanceled— nada mais será entregue e a cobrança foi reembolsada total ou parcialmente.reason_codediz por quê.
Códigos de motivo
Quando um pedido termina antes do previsto, reason_code diz por quê e reason traz a frase fixa. O dinheiro está em refund, nunca na frase. Trate um código desconhecido como um motivo genérico: novos códigos podem ser adicionados.
Códigos de motivo e frases
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.
Reembolsos e cobrança
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"
}Vários pedidos de uma vez
Com orders, a resposta é um objeto indexado por cada ID solicitado. Cada ID recebe seu objeto de status ou um objeto de erro, e o status HTTP continua 200. Até 100 IDs por requisição.
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"
}
}