Skip to content

Check new-drop prices before adding it

POST
/rounds/{id}/sales/quote
curl --request POST \
--url https://example.com/rounds/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/sales/quote \
--header 'Content-Type: application/json' \
--cookie __Host-bottle.session_token=<__Host-bottle.session_token> \
--data '{ "customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "surchargeChoice": "usual", "deliverToName": "example", "deliverToAddress": "example", "deliveryAddressId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "newDeliveryAddress": { "name": "example", "line1": "example", "line2": "example", "city": "example", "postcode": "example", "notes": "example", "leaveInstruction": "none", "leaveDetail": "example", "dropLatitude": 1, "dropLongitude": 1, "placeToken": "example" }, "fulfilment": "delivery", "pricingAudience": "consumer", "paymentMethod": "cash", "lines": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "quantity": 1 } ], "collect": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "quantity": 1 } ] }'
id
required

UUID v7

string format: uuid

Example

019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f

UUID v7

Media typeapplication/json
object
customerId

UUID v7

string format: uuid

Example

019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f
surchargeChoice
string
Allowed values: usual add remove
deliverToName
string
<= 200 characters
deliverToAddress
string
<= 2000 characters
deliveryAddressId

UUID v7

string format: uuid

Example

019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f
newDeliveryAddress
object
name
string | null
<= 80 characters
line1
required
string
>= 1 characters <= 200 characters
line2
string | null
<= 200 characters
city
string | null
<= 120 characters
postcode
string | null
<= 12 characters
notes
string | null
<= 2000 characters
leaveInstruction
string | null
Allowed values: none neighbour safe_place
leaveDetail
string | null
<= 500 characters
dropLatitude
number | null
>= -90 <= 90
dropLongitude
number | null
>= -180 <= 180
placeToken
string
<= 2000 characters
fulfilment
string
Allowed values: delivery collection
pricingAudience

Consumer: use consumer list prices. trade: use trade prices where set. Agreed rates, customer price lists and price rules still take priority.

string
Allowed values: consumer trade
paymentMethod
required
string
Allowed values: cash link on_account
lines
Array<object>
<= 50 items
object
productId
required

UUID v7

string format: uuid

Example

019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f
quantity
required
integer
> 0 <= 1000
collect
Array<object>
<= 50 items
object
productId
required

UUID v7

string format: uuid

Example

019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f
quantity
required
integer
> 0 <= 1000

Prices including cylinder charges and VAT

Media typeapplication/json
object
amountDuePence
required
integer
lines
required
Array<object>
object
productId
required

UUID v7

string format: uuid
productName
required
string
quantity
required
integer
> 0
unitPrice
required
integer
priceIncludesVat
required
boolean
surchargePence
required
integer

Example

{
"lines": [
{
"productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f"
}
]
}

Not signed in

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Not a member, or without the permission this needs

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Not found

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Validation failed

Media typeapplication/json
object
error
required
string
Allowed values: validation
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string

Example

{
"error": "validation",
"issues": [
{
"path": "email",
"message": "Invalid email"
}
]
}