proposed status, sets it to rejected, and records a confirmed STATUS_CHANGE audit action whose external_note carries the rejection message. Triggered by POST /admin/products/:id/reject. Emits product.rejected with { id, message }.
Usage
Input
Id of the product to reject. Must currently be in
proposed status.Vendor-facing rejection reason, stored as the audit change’s
external_note and included in the emitted event.Actor id recorded on the audit trail entry.
Result
Returns nothing; the product status is updated in place.
Hooks
Runs after rejection with
{ product_id, message }.