Skip to content

Pull a shop's catalogue

POST
/shops/{id}/pull
curl --request POST \
--url https://example.com/shops/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/pull \
--cookie bottle.session_token=<bottle.session_token>

Creates what is new and updates what is already here, matched on the shop’s own id. Prices are taken for products this is the first sight of, and left alone afterwards: Bottle holds the rates agreed with particular customers and the shop knows nothing about them.

id
required

UUID v7

string format: uuid
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f

UUID v7

What the pull did

Media typeapplication/json
object
added
required
integer
updated
required
integer
skipped
required
Array<object>
object
externalId
required
string
reason
required
string
Examplegenerated
{
"added": 1,
"updated": 1,
"skipped": [
{
"externalId": "example",
"reason": "example"
}
]
}

Not signed in

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

Not allowed to manage shops, or asking for a key to do it

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

No such shop

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

The shop could not be reached, or refused the credentials

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