Skip to content

Check a postcode

POST
/storefront/sites/{host}/postcode
curl --request POST \
--url https://example.com/storefront/sites/northgate.shop.getbottle.app/postcode \
--header 'Content-Type: application/json' \
--data '{ "postcode": "example" }'

Deliberately unauthenticated: the shop’s “do you deliver to me?”. Whether the business delivers there, the area’s name, the delivery charge with VAT in, free delivery and minimum order figures, the first and last day it could come (UK dates, after the shop’s cut-off counting from tomorrow, past the days the business is shut), and whether collection is offered. Never cached.

host
required
string
Example
northgate.shop.getbottle.app
preview
string
<= 2000 characters
Media typeapplication/json
object
postcode
required
string
>= 2 characters <= 10 characters
Examplegenerated
{
"postcode": "example"
}

The answer

Media typeapplication/json
object
deliverable
required
boolean
area
required
string | null
choices
required
Array<object>
object
deliveryOptionId
required

UUID v7

string format: uuid
name
required
string
chargePence
required
integer
chargePenceExVat
integer
earliest
required
string format: date
latest
required
string format: date
orderBy
required
string | null format: date-time
daysOfWeek
Array<integer> | null
freeOverPence
required
integer | null
minimumOrderPence
required
integer | null
collection
required
boolean
Example
{
"choices": [
{
"deliveryOptionId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"name": "Next day"
}
]
}

Not a shop, or not open. No body.

A shop not selling now (shop_closed); its preview works with ?preview=

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"
}
]
}

Too many requests from one address

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}