스토어 데이터 변경
API로 상품 설명이나 가격 등 스토어 데이터를 변경할 수 있습니다.
선택한 필드 변경
상품 설명을 변경할 때 모든 상품 데이터를 보낼 필요는 없습니다. PATCH 요청에 변경할 필드와 해당 작업에서 요구하는 필수 필드를 포함하세요. 나머지 데이터는 그대로 유지됩니다.
- 생략된 필드
- 값이 변경되지 않습니다.
- null
- 필드에서 허용하는 경우 null을 보내면 값이 삭제됩니다. 작업 설명에서 확인하세요.
- 빈 문자열
- ""는 빈 문자열을 의미합니다. null과 다르며 모든 필드에서 허용되는 것은 아닙니다.
이 예제에서는 독일어 상품 설명을 삭제합니다. 상품명과 다른 언어의 설명은 그대로 유지됩니다.
/api/v1/products/example?locale=decURL 요청
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}'
응답
{
"data": {
"deleted": false,
"id": "example",
"version": 2
},
"meta": {
"request_id": "example"
}
}
응답을 받지 못한 경우
응답이 없다고 해서 변경 사항이 저장되지 않은 것은 아닙니다. 변경이 완료된 후 연결이 끊어졌을 수 있습니다.
데이터를 저장할 때는 고유한 값을 가진 Idempotency-Key 헤더를 추가하세요. 응답을 받지 못해 같은 변경을 다시 요청할 경우 키, URL, 메서드, 요청 내용을 그대로 유지하세요.
API에 해당 요청의 결과가 이미 저장되어 있으면 변경을 다시 실행하지 않고 저장된 결과를 반환합니다. 다른 변경에는 새 키를 사용하세요.
다른 요청에 같은 키를 쓰면 idempotency.key_reused 가 발생합니다.
다른 사람이 같은 데이터를 변경한 경우
변경하기 전에 최신 데이터를 가져오세요. 작업에 expected_version이 필요하면 이 필드에 받은 버전을 입력하세요.
그사이에 누군가 데이터를 변경했다면 API가 저장을 거부합니다. 데이터를 다시 가져와 예정한 변경이 여전히 적절한지 확인하세요. 그런 다음 최신 버전으로 새 요청을 보내세요.
가격을 변경할 때 가격, 옵션 또는 가격표의 버전도 필요할 수 있습니다. 필요한 필드는 해당 작업 설명에서 확인하세요.