Lijst ophalen · Statussen — Bestellingen
Lees gegevens uit ‘Bestellingen’. Het resultaat hangt af van de parameters van deze bewerking.
GET/api/v1/order-statuses
- Authenticatie
Bearer- Beschikbaar vanaf
- BASIC
- Vereiste rechten
orders.order:read
Codevoorbeelden
Voorbeeldverzoek
cURL
: "${SHOPENTLY_SHOP_URL:?}"
curl --disable --globoff --fail-with-body --silent --show-error \
--proto '=https' --connect-timeout 5 --max-time 30 \
--request GET \
--header "Authorization: Bearer ${SHOPENTLY_ACCESS_TOKEN:?}" \
--url "${SHOPENTLY_SHOP_URL%/}"'/api/v1/order-statuses?limit=20'
PHP
<?php
declare(strict_types=1);
$baseUrl = rtrim(getenv('SHOPENTLY_SHOP_URL') ?: '', '/');
$origin = parse_url($baseUrl);
if (!$origin || ($origin['scheme'] ?? '') !== 'https' || empty($origin['host']) ||
isset($origin['user'], $origin['pass']) || isset($origin['user']) || isset($origin['path']) ||
isset($origin['query']) || isset($origin['fragment'])) {
throw new RuntimeException('SHOPENTLY_SHOP_URL must be an HTTPS origin');
}
$credential = getenv('SHOPENTLY_ACCESS_TOKEN') ?: '';
if ($credential === '' || strpbrk($credential, "\r\n") !== false) {
throw new RuntimeException('Invalid credential');
}
$headers = [];
$headers[] = 'Authorization: Bearer ' . $credential;
$responseHeaders = [];
$handle = curl_init($baseUrl . '/api/v1/order-statuses?limit=20');
curl_setopt_array($handle, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_PROTOCOLS => CURLPROTO_HTTPS,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 30,
CURLOPT_HEADERFUNCTION => static function ($handle, string $line) use (&$responseHeaders): int {
if (str_contains($line, ':')) {
[$name, $value] = explode(':', $line, 2);
$responseHeaders[strtolower(trim($name))] = trim($value);
}
return strlen($line);
},
]);
$raw = curl_exec($handle);
$status = curl_getinfo($handle, CURLINFO_RESPONSE_CODE);
$error = curl_error($handle);
curl_close($handle);
if ($raw === false) {
throw new RuntimeException('Transport error: ' . $error);
}
if ($status < 200 || $status >= 300) {
throw new RuntimeException('HTTP ' . $status . '; request_id=' .
($responseHeaders['x-request-id'] ?? '') . '; retry_after=' . ($responseHeaders['retry-after'] ?? ''));
}
$result = $raw === '' ? null : json_decode($raw, true, 512, JSON_THROW_ON_ERROR | JSON_BIGINT_AS_STRING);
echo json_encode($result, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE), PHP_EOL;
Python
from contextlib import ExitStack
import json
import os
from urllib.parse import urlsplit
import requests # python -m pip install requests
base_url = os.environ["SHOPENTLY_SHOP_URL"].rstrip("/")
origin = urlsplit(base_url)
if origin.scheme != "https" or not origin.hostname or origin.username or origin.password or origin.path or origin.query or origin.fragment:
raise ValueError("SHOPENTLY_SHOP_URL must be an HTTPS origin")
credential = os.environ['SHOPENTLY_ACCESS_TOKEN']
if not credential or "\r" in credential or "\n" in credential:
raise ValueError("Invalid credential")
headers = {}
headers["Authorization"] = 'Bearer' + " " + credential
body = None
if body is not None:
headers["Content-Type"] = "application/json"
with ExitStack() as stack:
session = stack.enter_context(requests.Session())
files = None
if False:
image = stack.enter_context(open(os.environ["SHOPENTLY_IMAGE_FILE"], "rb"))
if os.fstat(image.fileno()).st_size > 5242880:
raise ValueError("Image exceeds 5 MiB")
files = {"file": ("article.png", image, "image/png")}
response = session.request(
'GET', base_url + '/api/v1/order-statuses?limit=20', headers=headers,
data=body.encode("utf-8") if body is not None else None, files=files,
timeout=(5, 30), allow_redirects=False,
)
if not 200 <= response.status_code < 300:
raise RuntimeError(f"HTTP {response.status_code}; request_id={response.headers.get('X-Request-ID', '')}; retry_after={response.headers.get('Retry-After', '')}")
if False:
if response.headers.get("Content-Type") != "image/webp" or len(response.content) > 5242880:
raise ValueError("Unexpected image response")
with open(os.environ["SHOPENTLY_OUTPUT_FILE"], "xb") as output:
output.write(response.content)
else:
result = response.json() if response.content else None
print(json.dumps(result, ensure_ascii=False, indent=2))
Voorbeeldantwoord 200
{
"data": [
{
"created_at": "2026-01-01T12:00:00Z",
"id": "example",
"is_initial": false,
"name": "Example",
"position": 1
}
],
"meta": {
"pagination": {
"has_more": false,
"limit": 20,
"next_cursor": null
},
"request_id": "example"
}
}
Werking
- De verzameling biedt besteloverzichten en filters voor nummer, status, betaalstatus en aanmaaktijd.
- Gebruik het detailendpoint voor alle bestelregels, productafbeeldingen, klantgegevens, betaalbedragen, verzendgegevens en vastgelegde datums.
- Haal geldige statusidentificaties op via /api/v1/order-statuses.
- Bestelstatus en betaalstatus hebben afzonderlijke PATCH-endpoints en rechten.
- Een wijziging van de geregistreerde betaalstatus schrijft geen bedrag van een kaart af en voert geen terugbetaling via een betaalprovider uit.
Parameters
Queryparameters
limitGeheel getalOptioneelMaximaal aantal records op deze pagina.
minimum:1maximum:100cursorTekenreeks nullOptioneelOndoorzichtige vervolgwaarde die de vorige pagina heeft teruggegeven.
Tekenreeks:minLength:1maxLength:1024
Deze bewerking accepteert geen JSON-inhoud.
Antwoorden
Antwoord 200
dataArray <shopently_engine__domains__orders__adapters__public_http__orders__schemas__StatusDefinitionData> VerplichtGegevens van een geslaagd antwoord.
Velden ·
datashopently_engine__domains__orders__adapters__public_http__orders__schemas__StatusDefinitionDatacreated_atTekenreeksVerplichtTijdstip van aanmaak.
format:"date-time"idTekenreeksVerplichtResource-identificatie; bewaar deze zoals teruggegeven.
is_initialBooleaanse waardeVerplichtOf dit de beginstatus is.
nameTekenreeksVerplichtResourcenaam in de betreffende context.
positionGeheel getalVerplichtPositie in de geordende verzameling.
metaContextPageMetaContextMetaPageMetaRequestMetaVerplichtMetadata van het antwoord.
Velden ·
metaVolledig model:
ContextPageMetalocaleTekenreeksVerplichtTaal die voor dit verzoek is geselecteerd.
market_codeTekenreeksVerplichtMarktcode die het contextendpoint teruggeeft.
market_idTekenreeksVerplichtMarktidentificatie die het contextendpoint teruggeeft.
paginationPaginationVerplichtMetadata voor cursorpaginering.
request_idTekenreeksVerplichtAanvraagidentificatie; in antwoordmetadata identificeert dit het HTTP-verzoek.
minLength:1maxLength:100
localeTekenreeksVerplichtTaal die voor dit verzoek is geselecteerd.
market_codeTekenreeksVerplichtMarktcode die het contextendpoint teruggeeft.
market_idTekenreeksVerplichtMarktidentificatie die het contextendpoint teruggeeft.
request_idTekenreeksVerplichtAanvraagidentificatie; in antwoordmetadata identificeert dit het HTTP-verzoek.
minLength:1maxLength:100
paginationPaginationVerplichtMetadata voor cursorpaginering.
request_idTekenreeksVerplichtAanvraagidentificatie; in antwoordmetadata identificeert dit het HTTP-verzoek.
minLength:1maxLength:100
request_idTekenreeksVerplichtAanvraagidentificatie; in antwoordmetadata identificeert dit het HTTP-verzoek.
minLength:1maxLength:100
HTTP-status
200- Geslaagd antwoord Schema
400- Ongeldig verzoek
401- Authenticatie vereist
403- Toegang geweigerd
404- Resource niet gevonden
409- Versieconflict
422- Validatie mislukt
429- Verzoeklimiet overschreden
Overige HTTP-statussen (7)
405- Methode niet toegestaan
413- Verzoek te groot
415- Niet-ondersteund formaat
500- Serverfout
502- API-gatewayfout
503- Service niet beschikbaar
504- Gatewaytime-out
Foutencatalogus: ErrorResponse
Headers
401
WWW-AuthenticateTekenreeksOptioneelAuthenticatieschema dat de server vereist.
405
AllowTekenreeksOptioneelHTTP-methoden die deze resource ondersteunt.
429, 503
Retry-AfterGeheel getalOptioneelMinimale wachttijd voordat u het opnieuw probeert, in seconden.
minimum:0