انتقل إلى المحتوى
ShopentlyLearn

جلب — طلبات الشراء

اقرأ بيانات «طلبات الشراء». تعتمد النتيجة على معلمات هذه العملية.

GET/api/v1/orders/{order_id}

المصادقة
Bearer
متاح بدءًا من
BASIC
الصلاحيات المطلوبة
orders.order:read

أمثلة الكود

مثال على الطلب

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/example

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/example');
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/example', 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))

مثال على الاستجابة 200

JSON
{
  "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"
      },
      "discount_gross": {
        "amount": "24.60",
        "currency": "PLN",
        "minor_units": 2
      },
      "discount_net": {
        "amount": "20.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "discount_tax": {
        "amount": "4.60",
        "currency": "PLN",
        "minor_units": 2
      },
      "discounts": [
        {
          "amount": {
            "amount": "24.60",
            "currency": "PLN",
            "minor_units": 2
          },
          "campaign_id": "saved-coupon",
          "code": "SAVE",
          "kind": "coupon",
          "name": "Saved coupon",
          "sequence": 1,
          "version": 3
        }
      ],
      "gross": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "method_code": "shipping-old",
      "method_name": "Historic carrier",
      "net": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "original_gross": {
        "amount": "24.60",
        "currency": "PLN",
        "minor_units": 2
      },
      "original_net": {
        "amount": "20.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "original_tax": {
        "amount": "4.60",
        "currency": "PLN",
        "minor_units": 2
      },
      "pickup_point": null,
      "recipient_mode": "full_address",
      "tax": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "tax_category_id": "standard",
      "tax_category_name": "VAT 23%",
      "tax_rate": "0.23"
    },
    "discount_amount": {
      "amount": "24.60",
      "currency": "PLN",
      "minor_units": 2
    },
    "discounts": [
      {
        "amount": {
          "amount": "12.30",
          "currency": "PLN",
          "minor_units": 2
        },
        "campaign_id": "saved-coupon",
        "code": "SAVE",
        "kind": "coupon",
        "name": "Saved coupon",
        "sequence": 1,
        "shipping_amount": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "version": 3
      }
    ],
    "id": "order-0000",
    "invoice": null,
    "invoice_requested": false,
    "lifecycle_state": "placed",
    "lines": [
      {
        "discount_amount": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_gross": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_net": {
          "amount": "20.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_tax": {
          "amount": "4.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "discounts": [
          {
            "amount": {
              "amount": "12.30",
              "currency": "PLN",
              "minor_units": 2
            },
            "campaign_id": "saved-coupon",
            "code": "SAVE",
            "kind": "coupon",
            "name": "Saved coupon",
            "sequence": 1,
            "shipping_amount": null,
            "version": 3
          }
        ],
        "identifiers": {},
        "image": null,
        "line_id": "saved-line-a",
        "manual_discount": {
          "amount": {
            "amount": "12.30",
            "currency": "PLN",
            "minor_units": 2
          },
          "kind": "fixed",
          "value": "12.30"
        },
        "name": "Saved A",
        "original_total": {
          "amount": "246.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_gross": {
          "amount": "246.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_net": {
          "amount": "200.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_tax": {
          "amount": "46.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "position": 1,
        "product_id": "product-api",
        "quantity": 2,
        "sku": "A",
        "tax": {
          "amount": "20.70",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax_category_id": "standard",
        "tax_category_name": "VAT 23%",
        "tax_rate": "0.23",
        "total": {
          "amount": "221.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_gross": {
          "amount": "221.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_net": {
          "amount": "180.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_tax": {
          "amount": "41.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_gross": {
          "amount": "123.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_net": {
          "amount": "100.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_price": {
          "amount": "123.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_tax": {
          "amount": "23.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "variant_id": null,
        "variant_options": []
      },
      {
        "discount_amount": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_gross": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_net": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discount_tax": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "discounts": [],
        "identifiers": {},
        "image": null,
        "line_id": "b548a171-c331-505f-98f8-db3a06070998",
        "manual_discount": null,
        "name": "Saved B",
        "original_total": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_gross": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_net": {
          "amount": "100.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "original_total_tax": {
          "amount": "8.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "position": 2,
        "product_id": "deleted-product",
        "quantity": 1,
        "sku": "B",
        "tax": null,
        "tax_category_id": "reduced",
        "tax_category_name": "VAT 8%",
        "tax_rate": "0.08",
        "total": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_gross": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_net": {
          "amount": "100.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "total_tax": {
          "amount": "8.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_gross": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_net": {
          "amount": "100.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_price": {
          "amount": "108.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "unit_tax": {
          "amount": "8.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "variant_id": null,
        "variant_options": []
      }
    ],
    "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
    },
    "pickup_point": null,
    "prices_include_tax": true,
    "shipping_address": null,
    "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_breakdown": {
      "groups": [
        {
          "gross": {
            "amount": "221.40",
            "currency": "PLN",
            "minor_units": 2
          },
          "net": {
            "amount": "180.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "source": "products",
          "tax": {
            "amount": "41.40",
            "currency": "PLN",
            "minor_units": 2
          },
          "tax_rate": "0.23"
        },
        {
          "gross": {
            "amount": "108.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "net": {
            "amount": "100.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "source": "products",
          "tax": {
            "amount": "8.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "tax_rate": "0.08"
        },
        {
          "gross": {
            "amount": "0.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "net": {
            "amount": "0.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "source": "shipping",
          "tax": {
            "amount": "0.00",
            "currency": "PLN",
            "minor_units": 2
          },
          "tax_rate": "0.23"
        }
      ],
      "unallocated_tax": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      }
    },
    "tax_country_code": "PL",
    "total": {
      "amount": "329.40",
      "currency": "PLN",
      "minor_units": 2
    },
    "totals": {
      "before_discounts": {
        "gross": {
          "amount": "378.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "320.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "58.60",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "discounts": {
        "gross": {
          "amount": "49.20",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "40.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "9.20",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "order": {
        "gross": {
          "amount": "329.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "280.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "49.40",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "product_discounts": {
        "gross": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "20.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "4.60",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "products": {
        "gross": {
          "amount": "329.40",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "280.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "49.40",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "products_before_discounts": {
        "gross": {
          "amount": "354.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "300.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "54.00",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "shipping": {
        "gross": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "0.00",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "shipping_before_discounts": {
        "gross": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "20.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "4.60",
          "currency": "PLN",
          "minor_units": 2
        }
      },
      "shipping_discounts": {
        "gross": {
          "amount": "24.60",
          "currency": "PLN",
          "minor_units": 2
        },
        "net": {
          "amount": "20.00",
          "currency": "PLN",
          "minor_units": 2
        },
        "tax": {
          "amount": "4.60",
          "currency": "PLN",
          "minor_units": 2
        }
      }
    }
  },
  "meta": {
    "request_id": "example-request"
  }
}

آلية العمل

  • توفر المجموعة ملخصات الطلبات ومرشحات حسب الرقم والحالة وحالة الدفع ووقت الإنشاء.
  • تتضمن قائمة الطلبات وتفاصيلها delivery.dates. التواريخ بصيغة YYYY-MM-DD مخططة ولا تؤكد الشحن الفعلي. للتواريخ الحالية الأولوية؛ وتستخدم الطلبات القديمة التقدير المحفوظ. القيم المحذوفة أو غير المعروفة هي null. تتضمن التفاصيل أيضًا جميع بنود الطلب وصور المنتجات.
  • احصل على معرّفات حالات صالحة من /api/v1/order-statuses.
  • تستخدم حالة الطلب وحالة الدفع نقطتي نهاية PATCH وصلاحيات منفصلة.
  • لا يؤدي تغيير حالة الدفع المسجلة إلى خصم مبلغ من بطاقة أو إصدار استرداد عبر مزود دفع.

الطلب · المجاميع

تأتي المبالغ ومعدلات الضريبة من الطلب المحفوظ، بما يشمل تصحيحات البنود⁦.⁩ تكون البيانات التاريخية المفقودة ⁦null⁩ ولا تُستبدل بمعدلات الكتالوج الحالية⁦.⁩ تبقى المبالغ سلاسل نصية عشرية⁦.⁩

تعيد القائمة ملخصات⁦.⁩ اجلب ⁦GET /api/v1/orders/{order_id}⁩ لكل نتيجة لتصدير التفاصيل المالية الكاملة⁦.⁩ محاولات ⁦GET⁩ محدودة وتلتزم بـ ⁦Retry-After.⁩ لا يزامن التصدير حسب تاريخ الإنشاء التصحيحات اللاحقة⁦.⁩

  • ⁦tax_country_code⁩ · بلد الضريبة · بيانات الطلب المحفوظة · ⁦ISO 3166-1 alpha-2; null.⁩
  • ⁦lines[].unit_*⁩ · وحدة واحدة · قبل الخصومات⁦; lines[].original_total_*⁩ · قبل الخصومات⁦; lines[].total_*⁩ · بعد الخصومات⁦.⁩
  • ⁦lines[].discount_*⁩ · الخصومات⁦; manual_discount⁩ · خصم يدوي⁦; percentage "10" = 10%.⁩
  • ⁦delivery.net / tax / gross⁩ · بعد الخصومات⁦; delivery.original_*⁩ · قبل الخصومات⁦; delivery.discount_*⁩ · الخصومات⁦.⁩
  • ⁦tax_rate: "0.23" = 23%; "0" ≠ null.⁩ غير معروف⁦: null⁩؛ صفر معروف⁦: 0.⁩
  • ⁦totals⁩ · المجاميع⁦; tax_breakdown.groups⁩ · مجموعات الضرائب⁦;⁩ ضريبة غير موزعة ⁦= order.tax − Σ groups.tax; ±.⁩

⁦payment.amount⁩ هو إجمالي الطلب⁦.⁩ لا تحدد حالة الدفع المبالغ المدفوعة أو المستردة أو المتبقية⁦.⁩

المعاملات

معلمات المسار

order_idسلسلة نصيةمطلوب

معرّف طلب الشراء المرتبط.

القيود
pattern
"^[a-z0-9][a-z0-9_-]{0,62}$"
مثال: "example"

لا تقبل هذه العملية محتوى JSON.

الاستجابات

الاستجابة 200

dataOrderDetailData مطلوب

محتوى الاستجابة الناجحة.

الحقول · data
created_atسلسلة نصيةمطلوب

وقت الإنشاء.

format: "date-time"
customerCustomerData مطلوب

معلومات العميل المسجلة لهذا المورد.

الحقول · customer
emailسلسلة نصيةمطلوب

عنوان البريد الإلكتروني.

first_nameسلسلة نصية nullمطلوب

الاسم الأول.

last_nameسلسلة نصية nullمطلوب

اسم العائلة.

phoneسلسلة نصية nullمطلوب

رقم الهاتف.

deliveryShippingDetailData مطلوب

طريقة التسليم والمعلومات المرتبطة بها.

الحقول · delivery
amountMoneyData مطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

datesDeliveryDatesData مطلوب

تواريخ الشحن والتسليم

discount_grossMoneyData مطلوب

المبلغ الإجمالي · الخصومات; غير معروف: null؛ صفر معروف: 0.

discount_netMoneyData nullمطلوب

المبلغ الصافي · الخصومات; غير معروف: null؛ صفر معروف: 0.

discount_taxMoneyData nullمطلوب

مبلغ الضريبة · الخصومات; غير معروف: null؛ صفر معروف: 0.

discountsمصفوفة <OrderDeliveryDiscountData > nullمطلوب

الخصومات

grossMoneyData مطلوب

المبلغ الإجمالي · بعد الخصومات; غير معروف: null؛ صفر معروف: 0.

method_codeسلسلة نصية nullمطلوب

رمز طريقة التسليم أو الدفع.

method_nameسلسلة نصية nullمطلوب

اسم طريقة التسليم أو الدفع.

netMoneyData nullمطلوب

المبلغ الصافي · بعد الخصومات; غير معروف: null؛ صفر معروف: 0.

original_grossMoneyData مطلوب

المبلغ الإجمالي · الشحن · قبل الخصومات; غير معروف: null؛ صفر معروف: 0.

original_netMoneyData nullمطلوب

المبلغ الصافي · الشحن · قبل الخصومات; غير معروف: null؛ صفر معروف: 0.

original_taxMoneyData nullمطلوب

مبلغ الضريبة · الشحن · قبل الخصومات; غير معروف: null؛ صفر معروف: 0.

pickup_pointDeliveryPickupPointData nullمطلوب

نقطة الاستلام

recipient_modeسلسلة نصيةمطلوب

صيغة بنية البيانات التي تحددها القيم المسموح بها.

القيود
enum
["full_address", "pickup_contact"]
taxMoneyData nullمطلوب

المعلومات الضريبية.

tax_category_idسلسلة نصية nullمطلوب

معرّف الفئة الضريبية.

tax_category_nameسلسلة نصية nullمطلوب

اسم الفئة الضريبية المحفوظ; null.

tax_rateسلسلة نصية nullمطلوب

⁦tax_rate⁩ · بيانات الطلب المحفوظة⁦: "0.23" = 23%; "0"⁩ ≠ ⁦null.⁩

discount_amountMoneyData مطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

الحقول · discount_amount
amountسلسلة نصيةمطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

currencyسلسلة نصيةمطلوب

رمز عملة المبلغ.

القيود
pattern
"^[A-Z]{3}$"
minor_unitsعدد صحيحمطلوب

عدد المنازل العشرية التي تستخدمها العملة.

minimum: 0maximum: 4
discountsمصفوفة <OrderDiscountData > مطلوب

الخصومات

الحقول · discounts
idسلسلة نصيةمطلوب

معرّف المورد؛ احتفظ به كما أعيد.

invoiceInvoiceData nullمطلوب

معلومات الفاتورة.

الحقول · invoice
invoice_requestedقيمة منطقيةمطلوب

ما إذا تم طلب فاتورة.

lifecycle_stateOrderLifecycleState مطلوب

حالة دورة حياة المورد.

linesمصفوفة <OrderLineData > مطلوب

بيانات بنود الطلب المحفوظة وقت تسجيله.

الحقول · lines
localeسلسلة نصيةمطلوب

اللغة المحددة لهذا الطلب.

market_idسلسلة نصيةمطلوب

معرّف السوق الذي تعيده نقطة نهاية السياق.

numberسلسلة نصيةمطلوب

رقم طلب الشراء أو طلب الخدمة المعروض للمستخدم.

paymentPaymentData مطلوب

تفاصيل الدفع المسجلة للطلب.

الحقول · payment
amountMoneyData مطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

environmentسلسلة نصيةمطلوب

معلومات البيئة المرفقة بالسجل.

القيود
enum
["live", "sandbox"]
method_codeسلسلة نصية nullمطلوب

رمز طريقة التسليم أو الدفع.

method_nameسلسلة نصية nullمطلوب

اسم طريقة التسليم أو الدفع.

paid_atسلسلة نصية nullمطلوب

تاريخ ووقت وضع علامة مدفوع على الدفعة.

سلسلة نصية:format: "date-time"
statusOrderPaymentStatus مطلوب

الحالة التي تقبلها هذه العملية تحديدًا.

updated_atسلسلة نصيةمطلوب

وقت آخر تحديث.

format: "date-time"
versionعدد صحيحمطلوب

إصدار المورد المستخدم للتحكم في التعديلات المتزامنة.

pickup_pointPickupPointData nullمطلوب

نقطة الاستلام

الحقول · pickup_point
prices_include_taxقيمة منطقيةمطلوب

ما إذا كانت أسعار القائمة تشمل الضرائب.

shipping_addressAddressData nullمطلوب

عنوان التسليم.

الحقول · shipping_address
shipping_discount_amountMoneyData مطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

الحقول · shipping_discount_amount
amountسلسلة نصيةمطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

currencyسلسلة نصيةمطلوب

رمز عملة المبلغ.

القيود
pattern
"^[A-Z]{3}$"
minor_unitsعدد صحيحمطلوب

عدد المنازل العشرية التي تستخدمها العملة.

minimum: 0maximum: 4
statusOrderStatusData مطلوب

الحالة التي تقبلها هذه العملية تحديدًا.

الحقول · status
idسلسلة نصيةمطلوب

معرّف المورد؛ احتفظ به كما أعيد.

nameسلسلة نصيةمطلوب

اسم المورد في السياق المناسب.

updated_atسلسلة نصيةمطلوب

وقت آخر تحديث.

format: "date-time"
versionعدد صحيحمطلوب

إصدار المورد المستخدم للتحكم في التعديلات المتزامنة.

subtotalMoneyData مطلوب

المبلغ قبل المكونات الإضافية الموضحة في الاستجابة.

الحقول · subtotal
amountسلسلة نصيةمطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

currencyسلسلة نصيةمطلوب

رمز عملة المبلغ.

القيود
pattern
"^[A-Z]{3}$"
minor_unitsعدد صحيحمطلوب

عدد المنازل العشرية التي تستخدمها العملة.

minimum: 0maximum: 4
taxMoneyData مطلوب

المعلومات الضريبية.

الحقول · tax
amountسلسلة نصيةمطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

currencyسلسلة نصيةمطلوب

رمز عملة المبلغ.

القيود
pattern
"^[A-Z]{3}$"
minor_unitsعدد صحيحمطلوب

عدد المنازل العشرية التي تستخدمها العملة.

minimum: 0maximum: 4
tax_breakdownOrderTaxBreakdownData مطلوب

مجموعات الضرائب · ⁦source + tax_rate; unallocated_tax.⁩

الحقول · tax_breakdown
groupsمصفوفة <OrderTaxGroupData > مطلوب

مجموعات الضرائب · source + tax_rate; غير معروف: null؛ صفر معروف: 0.

unallocated_taxMoneyData مطلوب

ضريبة غير موزعة = order.tax − Σ groups.tax; ±.

tax_country_codeسلسلة نصية nullمطلوب

بلد الضريبة · بيانات الطلب المحفوظة · ⁦ISO 3166-1 alpha-2; null.⁩

totalMoneyData مطلوب

المبلغ الإجمالي.

الحقول · total
amountسلسلة نصيةمطلوب

مبلغ عشري ممثل كسلسلة JSON؛ يسمح بالقيمة null فقط حيث يكون ذلك مسموحًا.

currencyسلسلة نصيةمطلوب

رمز عملة المبلغ.

القيود
pattern
"^[A-Z]{3}$"
minor_unitsعدد صحيحمطلوب

عدد المنازل العشرية التي تستخدمها العملة.

minimum: 0maximum: 4
totalsOrderTotalsData مطلوب

المجاميع · net / tax / gross; قبل الخصومات / بعد الخصومات.

الحقول · totals
before_discountsOrderAmountBreakdownData مطلوب

الطلب · قبل الخصومات · net / tax / gross.

discountsOrderAmountBreakdownData مطلوب

الخصومات

orderOrderAmountBreakdownData مطلوب

الطلب · بعد الخصومات · net / tax / gross.

product_discountsOrderAmountBreakdownData مطلوب

المنتجات · الخصومات · net / tax / gross.

productsOrderAmountBreakdownData مطلوب

المنتجات · بعد الخصومات · net / tax / gross.

products_before_discountsOrderAmountBreakdownData مطلوب

المنتجات · قبل الخصومات · net / tax / gross.

shippingOrderAmountBreakdownData مطلوب

الشحن · بعد الخصومات · net / tax / gross.

shipping_before_discountsOrderAmountBreakdownData مطلوب

الشحن · قبل الخصومات · net / tax / gross.

shipping_discountsOrderAmountBreakdownData مطلوب

الشحن · الخصومات · net / tax / gross.

metaContextPageMeta ContextMeta PageMeta RequestMeta مطلوب

البيانات الوصفية للاستجابة.

الحقول · meta

ContextPageMeta

localeسلسلة نصيةمطلوب

اللغة المحددة لهذا الطلب.

market_codeسلسلة نصيةمطلوب

رمز السوق الذي تعيده نقطة نهاية السياق.

market_idسلسلة نصيةمطلوب

معرّف السوق الذي تعيده نقطة نهاية السياق.

paginationPagination مطلوب

البيانات الوصفية للترقيم باستخدام المؤشر.

request_idسلسلة نصيةمطلوب

معرّف الطلب؛ في البيانات الوصفية للاستجابة يحدد طلب HTTP.

minLength: 1maxLength: 100

ContextMeta

localeسلسلة نصيةمطلوب

اللغة المحددة لهذا الطلب.

market_codeسلسلة نصيةمطلوب

رمز السوق الذي تعيده نقطة نهاية السياق.

market_idسلسلة نصيةمطلوب

معرّف السوق الذي تعيده نقطة نهاية السياق.

request_idسلسلة نصيةمطلوب

معرّف الطلب؛ في البيانات الوصفية للاستجابة يحدد طلب HTTP.

minLength: 1maxLength: 100

PageMeta

paginationPagination مطلوب

البيانات الوصفية للترقيم باستخدام المؤشر.

request_idسلسلة نصيةمطلوب

معرّف الطلب؛ في البيانات الوصفية للاستجابة يحدد طلب HTTP.

minLength: 1maxLength: 100

RequestMeta

request_idسلسلة نصيةمطلوب

معرّف الطلب؛ في البيانات الوصفية للاستجابة يحدد طلب HTTP.

minLength: 1maxLength: 100
مثال على الاستجابة

حالة HTTP

200
استجابة ناجحة المخطط
400
طلب غير صالح
401
المصادقة مطلوبة
403
الإذن مرفوض
404
المورد غير موجود
409
تعارض الإصدارات
422
فشل التحقق من البيانات
429
تم تجاوز حد الطلبات
حالات HTTP الأخرى (7)
405
الطريقة غير مسموحة
413
الطلب كبير جدًا
415
تنسيق غير مدعوم
500
خطأ في الخادم
502
خطأ في بوابة API
503
الخدمة غير متاحة
504
انتهت مهلة الانتظار

دليل الأخطاء: ErrorResponse

الترويسات

401

WWW-Authenticateسلسلة نصيةاختياري

نظام المصادقة الذي يطلبه الخادم.

405

Allowسلسلة نصيةاختياري

طرق HTTP التي يدعمها هذا المورد.

429, 503

Retry-Afterعدد صحيحاختياري

الحد الأدنى للانتظار قبل إعادة المحاولة، بالثواني.

minimum: 0