Saraksts — Pasūtījumi
Nolasiet datus no “Pasūtījumi”. Rezultāts ir atkarīgs no šīs darbības parametriem.
GET/api/v1/orders
- Autentifikācija
Bearer- Pieejams no
- BASIC
- Nepieciešamās atļaujas
orders.order:read
Koda piemēri
Pieprasījuma piemērs
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))
Atbildes piemērs 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"
}
}
Kā tas darbojas
- Kolekcija piedāvā pasūtījumu kopsavilkumus un numura, statusa, maksājuma statusa un izveides laika filtrus.
- Pasūtījumu saraksts un informācija ietver delivery.dates. Datumi YYYY-MM-DD ir plānoti un neapstiprina nosūtīšanu. Pašreizējiem datumiem ir prioritāte; vecāki pasūtījumi izmanto saglabāto prognozi. Dzēstas vai nezināmas vērtības ir null. Informācija ietver arī visas pasūtījuma pozīcijas un produktu attēlus.
- Derīgos statusu identifikatorus iegūstiet no /api/v1/order-statuses.
- Pasūtījuma un maksājuma statusam ir atsevišķi PATCH galapunkti un atļaujas.
- Reģistrētā maksājuma statusa maiņa neveic kartes maksājumu vai atmaksu ar maksājumu pakalpojuma sniedzēja starpniecību.
Pasūtījums · Kopsummas
Summas un likmes nāk no saglabātā pasūtījuma, ieskaitot pozīciju labojumus. Trūkstošie vēsturiskie dati ir null un netiek aizstāti ar pašreizējām kataloga likmēm. Summas paliek decimālās virknes.
Saraksts atgriež kopsavilkumus. Katram rezultātam iegūstiet GET /api/v1/orders/{order_id}, lai eksportētu pilnus finanšu datus. GET atkārtojumi ir ierobežoti un ievēro Retry-After. Eksports pēc izveides datuma nesinhronizē vēlākus labojumus.
Parametri
Vaicājuma parametri
limitVesels skaitlisNeobligātsMaksimālais ierakstu skaits šajā lapā.
minimum:1maximum:100cursorVirkne nullNeobligātsIepriekšējās lapas atgriezta neinterpretējama turpinājuma vērtība.
Virkne:minLength:1maxLength:1024numberVirkne nullNeobligātsLietotājam paredzēts pasūtījuma vai pieteikuma numurs.
Virkne:minLength:1maxLength:48status_idVirkne nullNeobligātsNo atbilstošās statusu vārdnīcas iegūts identifikators.
Ierobežojumi · Virkne 1
pattern"^[a-z0-9][a-z0-9_-]{0,62}$"
payment_statusVirkne nullNeobligātsReģistrētais maksājuma statuss.
Ierobežojumi · Virkne 1
enum["unpaid", "paid", "failed", "refunded"]
created_fromVirkne nullNeobligātsIzveides laika filtra sākums.
Virkne:format:"date-time"created_toVirkne nullNeobligātsIzveides laika filtra beigas.
Virkne:format:"date-time"
Šī darbība nepieņem JSON saturu.
Atbildes
Atbilde 200
Pilns modelis: ApiResponse_list_OrderSummaryData__
dataMasīvs <OrderSummaryData> ObligātsVeiksmīgas atbildes dati.
Lauki ·
dataPilns modelis:
OrderSummaryDatacreated_atVirkneObligātsIzveides laiks.
format:"date-time"customerCustomerDataObligātsŠim resursam saglabātā klienta informācija.
deliveryShippingDataObligātsPiegādes metode un saistītā informācija.
discount_amountMoneyDataObligātsDecimāla summa JSON virknes formā; null tikai tad, ja atļauts.
idVirkneObligātsResursa identifikators; saglabājiet to atgrieztajā formā.
lifecycle_stateOrderLifecycleStateObligātsBiznesa dzīves cikla stāvoklis.
localeVirkneObligātsŠim pieprasījumam izvēlētā valoda.
market_idVirkneObligātsKonteksta galapunkta atgrieztais tirgus identifikators.
numberVirkneObligātsLietotājam paredzēts pasūtījuma vai pieteikuma numurs.
paymentPaymentDataObligātsPasūtījumā reģistrētās maksājuma detaļas.
prices_include_taxLoģiska vērtībaObligātsVai norādītās cenas ietver nodokli.
shipping_discount_amountMoneyDataObligātsDecimāla summa JSON virknes formā; null tikai tad, ja atļauts.
statusOrderStatusDataObligātsŠai konkrētajai darbībai pieņemamais statuss.
subtotalMoneyDataObligātsSumma pirms atbildē parādītajiem papildu komponentiem.
taxMoneyDataObligātsNodokļu informācija.
tax_country_codeVirkne nullObligātsNodokļu valsts · Saglabātie pasūtījuma dati · ISO 3166-1 alpha-2; null.
totalMoneyDataObligātsKopējā summa.
metaContextPageMetaContextMetaPageMetaRequestMetaObligātsAtbildes metadati.
Lauki ·
metaPilns modelis:
ContextPageMetalocaleVirkneObligātsŠim pieprasījumam izvēlētā valoda.
market_codeVirkneObligātsKonteksta galapunkta atgrieztais tirgus kods.
market_idVirkneObligātsKonteksta galapunkta atgrieztais tirgus identifikators.
paginationPaginationObligātsKursora lapošanas metadati.
request_idVirkneObligātsPieteikuma identifikators; atbildes metadatos tas identificē HTTP pieprasījumu.
minLength:1maxLength:100
localeVirkneObligātsŠim pieprasījumam izvēlētā valoda.
market_codeVirkneObligātsKonteksta galapunkta atgrieztais tirgus kods.
market_idVirkneObligātsKonteksta galapunkta atgrieztais tirgus identifikators.
request_idVirkneObligātsPieteikuma identifikators; atbildes metadatos tas identificē HTTP pieprasījumu.
minLength:1maxLength:100
paginationPaginationObligātsKursora lapošanas metadati.
request_idVirkneObligātsPieteikuma identifikators; atbildes metadatos tas identificē HTTP pieprasījumu.
minLength:1maxLength:100
request_idVirkneObligātsPieteikuma identifikators; atbildes metadatos tas identificē HTTP pieprasījumu.
minLength:1maxLength:100
HTTP statuss
200- Veiksmīga atbilde Shēma
400- Nederīgs pieprasījums
401- Nepieciešama autentifikācija
403- Piekļuve liegta
404- Resurss nav atrasts
409- Versiju konflikts
422- Validācijas kļūda
429- Pārsniegts pieprasījumu limits
Citi HTTP statusi (7)
405- Metode nav atļauta
413- Pieprasījums ir pārāk liels
415- Neatbalstīts formāts
500- Servera kļūda
502- API vārtejas kļūda
503- Pakalpojums nav pieejams
504- Noildze
Kļūdu katalogs: ErrorResponse
Galvenes
401
WWW-AuthenticateVirkneNeobligātsServera pieprasītā autentifikācijas shēma.
405
AllowVirkneNeobligātsŠī resursa atbalstītās HTTP metodes.
429, 503
Retry-AfterVesels skaitlisNeobligātsMinimālā aizkave pirms atkārtošanas sekundēs.
minimum:0