Loend — Tellimused
Lugege andmeid ressursist „Tellimused“. Tulemus sõltub toimingu parameetritest.
GET/api/v1/orders
- Autentimine
Bearer- Saadaval alates
- BASIC
- Nõutavad õigused
orders.order:read
Koodinäited
Päringu näide
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/orders?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/orders?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/orders?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))
Vastuse näide 200
{
"data": [
{
"created_at": "2026-10-19T10:00:00Z",
"customer": {
"email": "customer@example.invalid",
"first_name": "Example",
"last_name": "Example",
"phone": null
},
"delivery": {
"amount": {
"amount": "0.00",
"currency": "PLN",
"minor_units": 2
},
"dates": {
"dispatch_timezone": "Europe/Warsaw",
"estimated_delivery_from": "2026-10-20",
"estimated_delivery_to": "2026-10-21",
"planned_dispatch_on": "2026-10-19"
},
"method_code": "shipping-old",
"method_name": "Historic carrier",
"pickup_point": null,
"recipient_mode": "full_address"
},
"discount_amount": {
"amount": "24.60",
"currency": "PLN",
"minor_units": 2
},
"id": "order-0000",
"lifecycle_state": "placed",
"locale": "pl",
"market_id": "market-pl",
"number": "0001",
"payment": {
"amount": {
"amount": "329.40",
"currency": "PLN",
"minor_units": 2
},
"environment": "live",
"method_code": "payment-old",
"method_name": "Historic method",
"paid_at": null,
"status": "unpaid",
"updated_at": "2026-10-19T10:00:00Z",
"version": 0
},
"prices_include_tax": true,
"shipping_discount_amount": {
"amount": "24.60",
"currency": "PLN",
"minor_units": 2
},
"status": {
"id": "status-0",
"name": "Status 0",
"updated_at": "2026-10-19T10:00:00Z",
"version": 1
},
"subtotal": {
"amount": "329.40",
"currency": "PLN",
"minor_units": 2
},
"tax": {
"amount": "49.40",
"currency": "PLN",
"minor_units": 2
},
"tax_country_code": "PL",
"total": {
"amount": "329.40",
"currency": "PLN",
"minor_units": 2
}
}
],
"meta": {
"pagination": {
"has_more": false,
"limit": 20,
"next_cursor": null
},
"request_id": "example"
}
}
Kuidas see toimib
- Kogum annab tellimuste kokkuvõtted ning numbri, oleku, makseoleku ja loomise aja filtrid.
- Tellimuste loend ja üksikasjad sisaldavad delivery.dates. Kuupäevad YYYY-MM-DD on kavandatud ega kinnita saatmist. Praegused kuupäevad on ülimuslikud; vanemad tellimused kasutavad salvestatud hinnangut. Kustutatud või teadmata väärtused on null. Üksikasjad sisaldavad ka kõiki tellimusridu ja tootepilte.
- Loe kehtivad olekuidentifikaatorid /api/v1/order-statuses kaudu.
- Tellimuse ja makse olekul on eraldi PATCH-lõpp-punktid ja õigused.
- Salvestatud makseoleku muutmine ei võta kaardilt raha ega tee makseteenuse kaudu tagasimakset.
Tellimus · Kogusummad
Summad ja maksumäärad pärinevad salvestatud tellimusest koos reaparandustega. Puuduvad ajaloolised andmed on null ja neid ei asendata kataloogi praeguste määradega. Summad jäävad kümnendstringideks.
Loend tagastab kokkuvõtted. Täielike finantsandmete eksportimiseks pärige iga tulemuse kohta GET /api/v1/orders/{order_id}. GET-kordused on piiratud ja järgivad Retry-After väärtust. Loomiskuupäeva järgi eksport ei sünkrooni hilisemaid parandusi.
Parameetrid
Päringu parameetrid
limitTäisarvValikulineKirjete maksimaalne arv sellel lehel.
minimum:1maximum:100cursorString nullValikulineEelmisel lehel tagastatud läbipaistmatu jätkuväärtus.
String:minLength:1maxLength:1024numberString nullValikulineKasutajale mõeldud tellimuse või pöördumise number.
String:minLength:1maxLength:48status_idString nullValikulineVastavast olekusõnastikust saadud identifikaator.
Piirangud · String 1
pattern"^[a-z0-9][a-z0-9_-]{0,62}$"
payment_statusString nullValikulineSalvestatud makseolek.
Piirangud · String 1
enum["unpaid", "paid", "failed", "refunded"]
created_fromString nullValikulineLoomisaja filtri algus.
String:format:"date-time"created_toString nullValikulineLoomisaja filtri lõpp.
String:format:"date-time"
See toiming ei võta vastu JSON-sisu.
Vastused
Vastus 200
Täielik mudel: ApiResponse_list_OrderSummaryData__
dataMassiiv <OrderSummaryData> KohustuslikEduka vastuse andmed.
Väljad ·
dataTäielik mudel:
OrderSummaryDatacreated_atStringKohustuslikLoomise aeg.
format:"date-time"customerCustomerDataKohustuslikSelle ressursi juurde salvestatud klienditeave.
deliveryShippingDataKohustuslikTarneviis ja seotud teave.
discount_amountMoneyDataKohustuslikJSON-stringina kodeeritud kümnendsumma; null ainult lubatud juhtudel.
idStringKohustuslikRessursi identifikaator; säilita see tagastatud kujul.
lifecycle_stateOrderLifecycleStateKohustuslikÄrilise elutsükli olek.
localeStringKohustuslikSelle päringu jaoks valitud keel.
market_idStringKohustuslikKonteksti lõpp-punkti tagastatud turuidentifikaator.
numberStringKohustuslikKasutajale mõeldud tellimuse või pöördumise number.
paymentPaymentDataKohustuslikTellimuse juurde salvestatud makseandmed.
prices_include_taxTõeväärtusKohustuslikKas loetletud hinnad sisaldavad maksu.
shipping_discount_amountMoneyDataKohustuslikJSON-stringina kodeeritud kümnendsumma; null ainult lubatud juhtudel.
statusOrderStatusDataKohustuslikSelle konkreetse toimingu lubatud olek.
subtotalMoneyDataKohustuslikSumma enne vastuses näidatud lisakomponente.
taxMoneyDataKohustuslikMaksuteave.
tax_country_codeString nullKohustuslikMaksuriik · Salvestatud tellimusandmed · ISO 3166-1 alpha-2; null.
totalMoneyDataKohustuslikKogusumma.
metaContextPageMetaContextMetaPageMetaRequestMetaKohustuslikVastuse metaandmed.
Väljad ·
metaTäielik mudel:
ContextPageMetalocaleStringKohustuslikSelle päringu jaoks valitud keel.
market_codeStringKohustuslikKonteksti lõpp-punkti tagastatud turukood.
market_idStringKohustuslikKonteksti lõpp-punkti tagastatud turuidentifikaator.
paginationPaginationKohustuslikKursoripõhise lehekülgjaotuse metaandmed.
request_idStringKohustuslikPöördumise identifikaator; vastuse metaandmetes tähistab see HTTP-päringut.
minLength:1maxLength:100
localeStringKohustuslikSelle päringu jaoks valitud keel.
market_codeStringKohustuslikKonteksti lõpp-punkti tagastatud turukood.
market_idStringKohustuslikKonteksti lõpp-punkti tagastatud turuidentifikaator.
request_idStringKohustuslikPöördumise identifikaator; vastuse metaandmetes tähistab see HTTP-päringut.
minLength:1maxLength:100
paginationPaginationKohustuslikKursoripõhise lehekülgjaotuse metaandmed.
request_idStringKohustuslikPöördumise identifikaator; vastuse metaandmetes tähistab see HTTP-päringut.
minLength:1maxLength:100
request_idStringKohustuslikPöördumise identifikaator; vastuse metaandmetes tähistab see HTTP-päringut.
minLength:1maxLength:100
HTTP-olek
200- Edukas vastus Skeem
400- Vigane päring
401- Autentimine on nõutav
403- Juurdepääs keelatud
404- Ressurssi ei leitud
409- Versioonikonflikt
422- Valideerimine nurjus
429- Päringupiirang ületatud
Muud HTTP olekud (7)
405- Meetod pole lubatud
413- Päring on liiga suur
415- Vormingut ei toetata
500- Serveri viga
502- API lüüsi viga
503- Teenus pole saadaval
504- Ajalimiit ületatud
Veakataloog: ErrorResponse
Päised
401
WWW-AuthenticateStringValikulineServeri nõutav autentimisskeem.
405
AllowStringValikulineSelle ressursi toetatud HTTP-meetodid.
429, 503
Retry-AfterTäisarvValikulineMinimaalne viivitus enne korduskatset, sekundites.
minimum:0