Léim ar ábhar
ShopentlyLearn

Faigh · Leaganacha táirge — Athraithigh agus roghanna

Léigh sonraí ó “Athraithigh agus roghanna”. Braitheann an toradh ar pharaiméadair na hoibríochta seo.

GET/api/v1/products/{product_id}/variants/{variant_id}

Fíordheimhniú
Bearer
Ar fáil ó
STANDARD
Ceadanna riachtanacha
catalog.product:read

Samplaí cóid

Sampla iarratais

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/products/example/variants/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/products/example/variants/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/products/example/variants/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))

Sampla freagra 200

JSON
{
  "data": {
    "active": true,
    "created_at": "2026-01-01T12:00:00Z",
    "id": "example",
    "is_default": true,
    "media_ids": [
      "example"
    ],
    "position": 1,
    "pricing": {
      "base_adjustment": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2
      },
      "market_price": null,
      "price": {
        "amount": "0.00",
        "currency": "PLN",
        "minor_units": 2,
        "tax_included": true
      },
      "product_version": 1,
      "version": 1
    },
    "primary_media_id": "example",
    "product_id": "example",
    "sku": "example",
    "updated_at": "2026-01-01T12:00:00Z",
    "values": [
      {
        "option_id": "example",
        "option_name": "example",
        "value": "example",
        "value_id": "example"
      }
    ],
    "version": 1
  },
  "meta": {
    "locale": "en",
    "market_code": "PL",
    "market_id": "example",
    "request_id": "example"
  }
}

Conas a oibríonn sé

  • Baineann athraitheach le táirge agus úsáideann sé luachanna ó fhoclóirí roghanna athraitheach.
  • Cuimsíonn an tagairt CRUD do roghanna agus luachanna, chomh maith le léamh agus scríobh athraitheach táirge.
  • Úsáideann athruithe praghais athraitheach cineál praghsála, suim, airgeadra agus leaganacha riachtanacha follasacha.
  • Déan idirdhealú idir coigeartú bunphraghais agus praghas seasta margaidh.
  • Léigh staid reatha an táirge agus an phraghais roimh nuashonrú spleách a sheoladh.

Paraiméadair

Paraiméadair chosáin

product_idTeaghránRiachtanach

Aitheantóir táirge.

Srianta
pattern
"^[a-z0-9][a-z0-9_-]{0,62}$"
Sampla: "example"
variant_idTeaghránRiachtanach

Aitheantóir athraithigh táirge.

Srianta
pattern
"^[a-z0-9][a-z0-9_-]{0,62}$"
Sampla: "example"

Paraiméadair fhiosrúcháin

localeTeaghrán nullRoghnach

Teanga roghnaithe don iarratas seo.

Teaghrán:minLength: 2maxLength: 20
market_idTeaghrán nullRoghnach

Aitheantóir margaidh a thugann an críochphointe comhthéacs.

Srianta · Teaghrán 1
pattern
"^[a-z0-9][a-z0-9_-]{0,62}$"
market_codeTeaghrán nullRoghnach

Cód margaidh a thugann an críochphointe comhthéacs.

Teaghrán:minLength: 1maxLength: 16

Ní ghlacann an oibríocht seo le corp JSON.

Freagraí

Freagra 200

dataProductVariantData Riachtanach

Sonraí freagra rathúil.

Réimsí · data
activeLuach BooleRiachtanach

An bhfuil an acmhainn gníomhach.

created_atTeaghránRiachtanach

Am cruthaithe.

format: "date-time"
idTeaghránRiachtanach

Aitheantóir acmhainne; coinnigh mar a tugadh ar ais é.

is_defaultLuach BooleRiachtanach

An é seo an rogha réamhshocraithe.

media_idsEagar <Teaghrán> Riachtanach

Aitheantóirí sócmhainní meán atá ann cheana.

positionSlánuimhirRiachtanach

Suíomh sa bhailiúchán ordaithe.

pricingVariantPricingData Riachtanach

Cumraíocht praghsála agus a leaganacha comhreatha.

Réimsí · pricing
base_adjustmentMoneyData Riachtanach

Coigeartú praghais i gcoibhneas leis an mbunphraghas.

market_priceMoneyData nullRiachtanach

Praghas don mhargadh roghnaithe.

pricePriceData nullRiachtanach

Eolas praghais sa chomhthéacs roghnaithe.

product_versionSlánuimhirRiachtanach

Leagan reatha táirge le haghaidh rialú comhreatha.

versionSlánuimhirRiachtanach

Leagan acmhainne a úsáidtear le haghaidh rialú comhreatha.

primary_media_idTeaghrán nullRiachtanach

Aitheantóir na príomhshócmhainne meán.

product_idTeaghránRiachtanach

Aitheantóir táirge.

skuTeaghránRiachtanach

Cód aonaid coimeádta stoic.

updated_atTeaghránRiachtanach

Am an nuashonraithe is déanaí.

format: "date-time"
valuesEagar <VariantChoiceData > Riachtanach

Luachanna foclóra.

Réimsí · values
versionSlánuimhirRiachtanach

Leagan acmhainne a úsáidtear le haghaidh rialú comhreatha.

metaContextPageMeta ContextMeta PageMeta RequestMeta Riachtanach

Meiteashonraí an fhreagra.

Réimsí · meta

ContextPageMeta

localeTeaghránRiachtanach

Teanga roghnaithe don iarratas seo.

market_codeTeaghránRiachtanach

Cód margaidh a thugann an críochphointe comhthéacs.

market_idTeaghránRiachtanach

Aitheantóir margaidh a thugann an críochphointe comhthéacs.

paginationPagination Riachtanach

Meiteashonraí leathanaithe le cúrsóir.

request_idTeaghránRiachtanach

Aitheantóir iarratais; i meiteashonraí freagra aithníonn sé an t-iarratas HTTP.

minLength: 1maxLength: 100

ContextMeta

localeTeaghránRiachtanach

Teanga roghnaithe don iarratas seo.

market_codeTeaghránRiachtanach

Cód margaidh a thugann an críochphointe comhthéacs.

market_idTeaghránRiachtanach

Aitheantóir margaidh a thugann an críochphointe comhthéacs.

request_idTeaghránRiachtanach

Aitheantóir iarratais; i meiteashonraí freagra aithníonn sé an t-iarratas HTTP.

minLength: 1maxLength: 100

PageMeta

paginationPagination Riachtanach

Meiteashonraí leathanaithe le cúrsóir.

request_idTeaghránRiachtanach

Aitheantóir iarratais; i meiteashonraí freagra aithníonn sé an t-iarratas HTTP.

minLength: 1maxLength: 100

RequestMeta

request_idTeaghránRiachtanach

Aitheantóir iarratais; i meiteashonraí freagra aithníonn sé an t-iarratas HTTP.

minLength: 1maxLength: 100
Sampla freagra

Stádas HTTP

200
Freagra rathúil Scéim
400
Iarratas neamhbhailí
401
Fíordheimhniú riachtanach
403
Cead diúltaithe
404
Acmhainn gan aimsiú
409
Coinbhleacht leagain
422
Theip ar bhailíochtú
429
Teorainn iarratas sáraithe
Stádais HTTP eile (7)
405
Modh neamhcheadaithe
413
Iarratas rómhór
415
Formáid gan tacaíocht
500
Earráid freastalaí
502
Earráid gheata API
503
Seirbhís gan fáil
504
Teorainn ama sáraithe

Catalóg earráidí: ErrorResponse

Ceanntásca

401

WWW-AuthenticateTeaghránRoghnach

An scéim fíordheimhnithe a éilíonn an freastalaí.

405

AllowTeaghránRoghnach

Modhanna HTTP a thacaíonn an acmhainn seo leo.

429, 503

Retry-AfterSlánuimhirRoghnach

An mhoill íosta roimh atriail, i soicindí.

minimum: 0