Skip to main content
View as Markdown

Resubmit an order that is on hold

POST 

/orders/:orderId/resubmit

Asks the fulfillment provider to fulfill an order again, with the shipping address and customer details the order carries now. You can resubmit an order that is on hold (holdStatus held), and an order sent with customer details that break the provider's rules (recipientFaults) without waiting for the provider to hold it. Correct the customer first — both kinds of order pick up customer updates — then resubmit. An order on hold is resubmitted for you when you correct its customer's name, phone number or shipping address, unless its holdReasonCode is one such a correction does not fix; calling this after that, before the provider answers, is refused as already resubmitted, and you can treat that refusal as done. The provider takes the change only while it is holding the order, so it may refuse an order it has not held yet; resubmit that one once it does. The provider answers asynchronously: holdStatus becomes resubmitted immediately, then clears once the provider accepts the order, or becomes held with a new holdReason if it holds it. An order held because the provider found no shipping option for it is also re-quoted automatically for a while; resubmitting it ends that and asks at once. An order held because the provider could not charge your prepaid balance for it (holdReasonCode insufficient_funds) is sent again automatically once the balance covers it; resubmit it to send it sooner, for example right after you top up, while the provider has it (externalOrderId is set). When the provider refused it before creating it, externalOrderId is empty and there is nothing to resubmit: use POST /orders/{orderId}/retry-submission instead. Only orders sent to NextSmartShip are resubmitted. ShipBob takes no resubmission, and an order it holds is never sent to it a second time. When ShipBob holds the order because it could not validate the shipping address (holdReasonCode address_invalid), resubmitting sends ShipBob the shipping address the order carries now instead, for the shipments it holds, and ShipBob checks it again. The order stays held until ShipBob releases it. The order's history records ShipBob's answer as a tpl_address_update_requested entry. If ShipBob did not save the address for every shipment it holds, the request is refused with the reason: correct the address in ShipBob. It is also refused if you cancelled some of the order's items or recorded a shipment of it yourself, because ShipBob would still ship those items. Every other order ShipBob holds is refused: resolve the hold in ShipBob, which ships the order itself once it releases the hold.

Request​

Responses​