Ga naar de inhoud
ShopentlyLearn

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

JSON
{
  "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 getalOptioneel

Maximaal aantal records op deze pagina.

minimum: 1maximum: 100
Standaard: 50Voorbeeld: 20
cursorTekenreeks nullOptioneel

Ondoorzichtige 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 > Verplicht

Gegevens van een geslaagd antwoord.

Velden · data

shopently_engine__domains__orders__adapters__public_http__orders__schemas__StatusDefinitionData

created_atTekenreeksVerplicht

Tijdstip van aanmaak.

format: "date-time"
idTekenreeksVerplicht

Resource-identificatie; bewaar deze zoals teruggegeven.

is_initialBooleaanse waardeVerplicht

Of dit de beginstatus is.

nameTekenreeksVerplicht

Resourcenaam in de betreffende context.

positionGeheel getalVerplicht

Positie in de geordende verzameling.

metaContextPageMeta ContextMeta PageMeta RequestMeta Verplicht

Metadata van het antwoord.

Velden · meta

ContextPageMeta

localeTekenreeksVerplicht

Taal die voor dit verzoek is geselecteerd.

market_codeTekenreeksVerplicht

Marktcode die het contextendpoint teruggeeft.

market_idTekenreeksVerplicht

Marktidentificatie die het contextendpoint teruggeeft.

paginationPagination Verplicht

Metadata voor cursorpaginering.

request_idTekenreeksVerplicht

Aanvraagidentificatie; in antwoordmetadata identificeert dit het HTTP-verzoek.

minLength: 1maxLength: 100

ContextMeta

localeTekenreeksVerplicht

Taal die voor dit verzoek is geselecteerd.

market_codeTekenreeksVerplicht

Marktcode die het contextendpoint teruggeeft.

market_idTekenreeksVerplicht

Marktidentificatie die het contextendpoint teruggeeft.

request_idTekenreeksVerplicht

Aanvraagidentificatie; in antwoordmetadata identificeert dit het HTTP-verzoek.

minLength: 1maxLength: 100

PageMeta

paginationPagination Verplicht

Metadata voor cursorpaginering.

request_idTekenreeksVerplicht

Aanvraagidentificatie; in antwoordmetadata identificeert dit het HTTP-verzoek.

minLength: 1maxLength: 100

RequestMeta

request_idTekenreeksVerplicht

Aanvraagidentificatie; in antwoordmetadata identificeert dit het HTTP-verzoek.

minLength: 1maxLength: 100
Voorbeeldantwoord

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-AuthenticateTekenreeksOptioneel

Authenticatieschema dat de server vereist.

405

AllowTekenreeksOptioneel

HTTP-methoden die deze resource ondersteunt.

429, 503

Retry-AfterGeheel getalOptioneel

Minimale wachttijd voordat u het opnieuw probeert, in seconden.

minimum: 0