Show personal shopper
curl --request GET \
--url https://{host}/v1/personal-shopper \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/v1/personal-shopper', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/v1/personal-shopper",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "https://{host}/v1/personal-shopper"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"jsonapi": {
"version": "1.0"
},
"data": {
"type": "personal-shopper",
"id": "wristler",
"attributes": {
"intro": "Need some help finding the perfect match? Reach out to your personal shopper from Wristler",
"shoppers": [
{
"name": "Leon Noordanus",
"image": "https://cdn.wristler.eu/square-xlarge/94649d103b4bacfe6f3840bdf334fdf9-4Are.png"
},
{
"name": "Timo Klinge",
"image": "https://cdn.wristler.eu/square-xlarge/ff3b5f2217b74c0b93b1535b7664bb50-5Ym4.png"
}
],
"whatsapp": "+31850068745",
"whatsappUrl": "https://wa.me/31850068745",
"phone": "+31 85 0068 745",
"phoneUrl": "tel:+31850068745",
"email": "support@wristler.eu"
}
}
}{
"errors": [
{
"status": "404",
"code": "watch_reserved",
"title": "Not Found",
"detail": "<string>",
"meta": {},
"source": {
"pointer": "/data/attributes/reference",
"parameter": "<string>"
}
}
],
"jsonapi": {
"version": "1.0"
}
}Content (Pages)
Show personal shopper
Scope: content:read — a guest token may read it.
The account page’s “Personal shopper” block: who a buyer can ask for help finding a watch, and how to reach them. The website reads the same settings, so draw it from here rather than writing names or numbers into the app.
| Attribute | |
|---|---|
intro | The line above the block, in the language of Accept-Language |
shoppers | Each a name and an image: a square portrait, 2x the size the website shows |
whatsapp | The WhatsApp number |
whatsappUrl | WhatsApp’s own link to that number (https://wa.me/…), which opens WhatsApp |
phone | The phone number, written for people |
phoneUrl | The same as a tel: link |
email | Where to write |
One resource with a fixed id, wristler. The website’s chat button opens a live-chat
widget that only exists on the website, and no opening hours are kept, so neither is
here: WhatsApp is the chat in the app.
GET
/
v1
/
personal-shopper
Show personal shopper
curl --request GET \
--url https://{host}/v1/personal-shopper \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/v1/personal-shopper', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/v1/personal-shopper",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "https://{host}/v1/personal-shopper"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"jsonapi": {
"version": "1.0"
},
"data": {
"type": "personal-shopper",
"id": "wristler",
"attributes": {
"intro": "Need some help finding the perfect match? Reach out to your personal shopper from Wristler",
"shoppers": [
{
"name": "Leon Noordanus",
"image": "https://cdn.wristler.eu/square-xlarge/94649d103b4bacfe6f3840bdf334fdf9-4Are.png"
},
{
"name": "Timo Klinge",
"image": "https://cdn.wristler.eu/square-xlarge/ff3b5f2217b74c0b93b1535b7664bb50-5Ym4.png"
}
],
"whatsapp": "+31850068745",
"whatsappUrl": "https://wa.me/31850068745",
"phone": "+31 85 0068 745",
"phoneUrl": "tel:+31850068745",
"email": "support@wristler.eu"
}
}
}{
"errors": [
{
"status": "404",
"code": "watch_reserved",
"title": "Not Found",
"detail": "<string>",
"meta": {},
"source": {
"pointer": "/data/attributes/reference",
"parameter": "<string>"
}
}
],
"jsonapi": {
"version": "1.0"
}
}Authorizations
oauth2bearerAuth
Headers
The language to answer in: specificationLabels, translatedDescription, facet
and label names, the content pages, and every other translated word in the
answer. Read on every request, whatever the endpoint. One we do not have falls
back to English rather than failing.
Available options:
en, nl, de, es, fr, it, pt, fi, pl