Sales
๐๏ธ Where a buyer may collect an order (the seller's own active warehouses).
Where a buyer may collect an order (the seller's own active warehouses).
๐๏ธ RFQs newest first, paged server-side; a plain rep sees only their territory.
RFQs newest first, paged server-side; a plain rep sees only their territory.
๐๏ธ adminGetRfq
adminGetRfq
๐๏ธ Close an open request nobody will quote (a duplicate, or one the buyer withdrew). It moves to cancelled, the reason is posted on the buyer-visible thread and the buyer is notified. 409 invalid_state once it has a quote or is already closed.
Close an open request nobody will quote (a duplicate, or one the buyer withdrew). It moves to cancelled, the reason is posted on the buyer-visible thread and the buyer is notified. 409 invalid_state once it has a quote or is already closed.
๐๏ธ adminQuoteFromRfq
adminQuoteFromRfq
๐๏ธ Catalogue products for a request line nobody matched, one group per part of a set, in the size asked.
Catalogue products for a request line nobody matched, one group per part of a set, in the size asked.
๐๏ธ Quotes newest first, paged server-side; a plain rep sees only their territory.
Quotes newest first, paged server-side; a plain rep sees only their territory.
๐๏ธ adminCreateQuote
adminCreateQuote
๐๏ธ adminGetQuote
adminGetQuote
๐๏ธ adminEditQuote
adminEditQuote
๐๏ธ Delete a draft quote; a sent quote is the buyer's record and cannot be deleted.
Delete a draft quote; a sent quote is the buyer's record and cannot be deleted.
๐๏ธ The record's message thread (staff view โ includes internal notes).
The record's message thread (staff view โ includes internal notes).
๐๏ธ Post to the thread; visibility 'internal' keeps it staff-only.
Post to the thread; visibility 'internal' keeps it staff-only.
๐๏ธ The buyer's latest counter-offer (note + proposed lines) behind a 'countered' status.
The buyer's latest counter-offer (note + proposed lines) behind a 'countered' status.
๐๏ธ Negotiation history โ one immutable snapshot per sent version (lines + subtotal + actor).
Negotiation history โ one immutable snapshot per sent version (lines + subtotal + actor).
๐๏ธ adminSendQuote
Sends the current lines as the next version and emails the buyer. A quote that is already sent (or revised) with no edits since is refused with 409 `already_sent` so the buyer is not emailed twice; editing a line withdraws it to draft, and a lapsed quote or a new valid_until is re-sent as a renewal. 422 `unpriced_lines` / `empty_quote` cover zero-priced and all-N/A quotes.
๐๏ธ Replace who the quote goes to on Send; numbers are written the way WhatsApp needs them, addresses lower-cased, duplicates dropped.
Replace who the quote goes to on Send; numbers are written the way WhatsApp needs them, addresses lower-cased, duplicates dropped.
๐๏ธ Delivery services (and cost) available for the quote's destination.
Delivery services (and cost) available for the quote's destination.
๐๏ธ Set delivery-vs-pickup on a quote; shipping is re-priced server-side.
Set delivery-vs-pickup on a quote; shipping is re-priced server-side.
๐๏ธ Set the commercial terms on a quote. Editing a live offer withdraws it to draft for re-send.
Set the commercial terms on a quote. Editing a live offer withdraws it to draft for re-send.
๐๏ธ Files attached to a quote (datasheets, certificates).
Files attached to a quote (datasheets, certificates).
๐๏ธ Attach a file to a quote. Multipart with `file` and an optional `label`; PDF, images, spreadsheets and Word documents up to 25 MB, kept in the private store.
Attach a file to a quote. Multipart with `file` and an optional `label`; PDF, images, spreadsheets and Word documents up to 25 MB, kept in the private store.
๐๏ธ adminDeleteQuoteAttachment
adminDeleteQuoteAttachment
๐๏ธ Orders newest first, paged server-side; a plain rep sees only their territory.
Orders newest first, paged server-side; a plain rep sees only their territory.
๐๏ธ adminCreateOrder
adminCreateOrder
๐๏ธ adminGetOrder
adminGetOrder
๐๏ธ Delete a cancelled order nothing moved on. Refused with 409 `invalid_state` unless the order is cancelled, and with 409 `has_records` when it has a shipment, payment, return, credit note or an invoice that is not void; void invoices and the conversation are removed with it.
Delete a cancelled order nothing moved on. Refused with 409 `invalid_state` unless the order is cancelled, and with 409 `has_records` when it has a shipment, payment, return, credit note or an invoice that is not void; void invoices and the conversation are removed with it.
๐๏ธ adminPatchOrderStatus
adminPatchOrderStatus
๐๏ธ The buyer's own RFQs, newest first, a page at a time.
The buyer's own RFQs, newest first, a page at a time.
๐๏ธ storefrontCreateRfq
storefrontCreateRfq
๐๏ธ storefrontGetRfq
storefrontGetRfq
๐๏ธ storefrontSubmitRfq
storefrontSubmitRfq
๐๏ธ storefrontGetQuote
storefrontGetQuote
๐๏ธ storefrontAcceptQuote
storefrontAcceptQuote
๐๏ธ storefrontDeclineQuote
storefrontDeclineQuote
๐๏ธ Propose a counter-offer on a quote (buyer side of multi-round negotiation)
Records a buyer counter (note + optional per-line proposed qty/price) as an auditable revision and sets the quote to 'countered' for the rep to revise.
๐๏ธ The buyer's view of the negotiation history for their quote (versions + what each contained).
The buyer's view of the negotiation history for their quote (versions + what each contained).
๐๏ธ Live shipping + tax estimate for the active cart
Returns shipping options and per-line VAT for a destination country. Advisory โ amounts are re-resolved server-side at placement.
๐๏ธ The buyer's own orders, newest first, a page at a time.
The buyer's own orders, newest first, a page at a time.
๐๏ธ Place an order from the active cart
Converts the customer's active cart into a pending order in one transaction. Addresses default to the customer's defaults when omitted. Lines priced on request never check out; they go to a quote.
๐๏ธ storefrontGetOrder
storefrontGetOrder
๐๏ธ Quotes sent to the buyer (never unsent drafts), newest first, a page at a time.
Quotes sent to the buyer (never unsent drafts), newest first, a page at a time.