Veikala datu maiņa
Ar API vari mainīt veikala datus, piemēram, preces aprakstu vai cenu.
Maini izvēlētos laukus
Lai mainītu preces aprakstu, nav jāsūta visi preces dati. PATCH pieprasījumā norādi maināmos laukus un pārējos šai darbībai obligātos laukus. Pārējie dati nemainās.
- Izlaists lauks
- Tā vērtība paliek nemainīga.
- null
- Nosūtot null, vērtība tiek dzēsta, ja lauks to pieļauj. Pārbaudiet operācijas aprakstu.
- Tukša virkne
- "" nozīmē tukšu tekstu. Tas atšķiras no null, un ne visi lauki to pieņem.
Šajā piemērā dzēšam preces aprakstu vācu valodā. Nosaukums un apraksti citās valodās nemainās.
/api/v1/products/example?locale=decURL pieprasījums
curl --disable --globoff --fail-with-body --silent --show-error \
--proto '=https' --connect-timeout 5 --max-time 30 \
--request PATCH \
--url 'https://shop.onshopently.com/api/v1/products/example?locale=de' \
--header 'Authorization: Bearer EXAMPLE_ACCESS_TOKEN' \
--header 'Idempotency-Key: example-product-clear-translation' \
--header 'Content-Type: application/json' \
--data-raw '{"description":null,"expected_version":1}'
Atbilde
{
"data": {
"deleted": false,
"id": "example",
"version": 2
},
"meta": {
"request_id": "example"
}
}
Ja atbilde nepienāk
Atbildes neesamība nenozīmē, ka izmaiņas nav saglabātas. Savienojums varēja pārtrūkt pēc izmaiņu veikšanas.
Saglabājot datus, pievienojiet galveni Idempotency-Key ar unikālu vērtību. Ja nesaņemat atbildi un atkārtojat to pašu izmaiņu, izmantojiet to pašu atslēgu, adresi, metodi un pieprasījuma saturu.
Ja API jau ir saglabājis šī pieprasījuma rezultātu, tas to atgriež, neveicot izmaiņu vēlreiz. Citai izmaiņai izmantojiet jaunu atslēgu.
Atslēgas izmantošana citam pieprasījumam rada idempotency.key_reused.
Ja kāds maina tos pašus datus
Pirms izmaiņas iegūstiet aktuālos datus. Ja darbībai vajadzīgs expected_version, norādiet šajā laukā saņemto versiju.
Ja kāds pa šo laiku ir mainījis datus, API noraida saglabāšanu. Iegūstiet tos vēlreiz un pārbaudiet, vai plānotā izmaiņa joprojām ir piemērota. Tikai tad sūtiet jaunu pieprasījumu ar pašreizējo versiju.
Cenas maiņai var būt nepieciešama arī cenas, varianta vai cenu lapas versija. Nepieciešamie lauki norādīti operācijas aprakstā.