상품 API
단일 상품 정보 조회 API
단일 상품 정보를 조회합니다.
파라미터
- key (String): 조회할 상품의 key입니다.
- lang (Language): 텍스트 필드들의 언어를 설정합니다. 기본값은 ko_KR입니다.
- currency (Currency): 가격 정보 필드의 화폐 단위를 설정합니다. 기본값은 KRW입니다.
반환 데이터
상품 정보를 반환하며, 다음과 같은 내용을 포함합니다:
- createdAt (Int): 상품이 등록된 시각 (Unix timestamp)
- updatedAt (Int): 상품이 최종 업데이트된 시각 (Unix timestamp)
- key (String): 상품의 오너클랜 코드
- name (Text): 상품의 이름
- model (String): 상품의 모델명
- production (String): 제조사
- origin (String): 제조국가
- price (Float): 상품의 가격
- pricePolicy (PricePolicy): 상품의 가격 정책
- fixedPrice (Float): 소비자 준수 가격
- category (Category): 상품 카테고리 정보
- shippingFee (Int): 상품 배송비
- shippingType (ShippingType): 배송비 부과 타입
- status (String): 상품의 상태
- options ([ItemOption]): 상품 옵션 정보
- taxFree (Boolean): 면세 여부
- adultOnly (Boolean): 성인 전용 상품 여부
- returnable (Boolean): 반품 가능 여부
- images ([URL]): 상품 이미지 URL 목록
/**
* 아래 예제는 인터넷 브라우저의 콘솔 창에서 실행해볼 수 있습니다.
*/
var client = new XMLHttpRequest();
var query = `query testQuery {
item(key: "W000000") {
createdAt
updatedAt
key
name
model
production
origin
price
pricePolicy
fixedPrice
category {
key
name
fullName
}
shippingFee
shippingType
images(size: large)
status
options {
optionAttributes {
name
value
}
price
quantity
}
taxFree
adultOnly
returnable
guaranteedShippingPeriod
openmarketSellable
boxQuantity
attributes
returnCriteria
metadata
}
}`;
client.open("POST", "https://api-sandbox.ownerclan.com/v1/graphql", true);
client.setRequestHeader("Content-Type", "application/json");
client.setRequestHeader("Authorization", "Bearer YOUR_TOKEN");
client.onreadystatechange = function () {
if (client.readyState === 4 && client.status === 200) {
console.log(client.responseText);
}
};
client.send(JSON.stringify({
query: query
}));
복수 상품 정보 조회 API
복수의 상품 정보를 조회합니다. 한 번에 최대 1000개의 상품을 조회할 수 있습니다.
파라미터
- after (String): 지정된 cursor 값 이후의 상품만을 불러옵니다.
- first (Int): 첫 몇 개의 상품을 불러올지를 나타냅니다.
- minPrice (Int): 최저 가격 기준으로 상품을 검색합니다.
- maxPrice (Int): 최고 가격 기준으로 상품을 검색합니다.
- search (String): 상품 검색어입니다.
반환 데이터
allItems는 pagination 정보와 상품 정보를 포함합니다:
- pageInfo: pagination 정보
- edges: 상품 정보
/**
* 아래 예제는 인터넷 브라우저의 콘솔 창에서 실행해볼 수 있습니다.
*/
var client = new XMLHttpRequest();
var query = `query {
allItems(first: 50, minPrice: 10000, maxPrice: 50000) {
pageInfo {
hasNextPage
startCursor
endCursor
}
edges {
node {
key
name
price
status
options {
optionAttributes {
name
value
}
price
quantity
}
}
}
}
}`;
client.open("POST", "https://api-sandbox.ownerclan.com/v1/graphql", true);
client.setRequestHeader("Content-Type", "application/json");
client.setRequestHeader("Authorization", "Bearer YOUR_TOKEN");
client.onreadystatechange = function () {
if (client.readyState === 4 && client.status === 200) {
console.log(client.responseText);
}
};
client.send(JSON.stringify({
query: query
}));
상품 변경 이력 조회 API
상품의 품절, 단종, 재입고 등의 변경 이력을 조회합니다.
파라미터
- after (String): 지정된 cursor 값 이후의 내역만 불러옵니다.
- first (Int): 첫 몇 개의 내역을 불러올지를 나타냅니다.
- dateFrom (Timestamp): 지정된 날짜 이후의 내역만을 불러옵니다.
- kind (ItemHistoryKind): 조회할 이력의 종류를 선택합니다.
- itemKey (ID): 특정 상품의 이력만을 조회합니다.
반환 데이터
itemHistories는 pagination 정보와 이력 데이터를 포함합니다:
- pageInfo: pagination 정보
- edges: 이력 정보
/**
* 아래 예제는 인터넷 브라우저의 콘솔 창에서 실행해볼 수 있습니다.
*/
var client = new XMLHttpRequest();
var query = `query {
itemHistories(first: 100, kind: soldout) {
pageInfo {
hasNextPage
startCursor
endCursor
}
edges {
node {
itemKey
kind
title
valueBefore
valueAfter
createdAt
}
}
}
}`;
client.open("POST", "https://api-sandbox.ownerclan.com/v1/graphql", true);
client.setRequestHeader("Content-Type", "application/json");
client.setRequestHeader("Authorization", "Bearer YOUR_TOKEN");
client.onreadystatechange = function () {
if (client.readyState === 4 && client.status === 200) {
console.log(client.responseText);
}
};
client.send(JSON.stringify({
query: query
}));
여러 상품 정보 조회 API
여러 상품을 상품의 key(오너클랜 상품코드) 리스트를 기준으로 조회합니다. 한 번의 요청에 최대 5000개의 key를 요청할 수 있습니다.
파라미터
- keys (Array of String): 조회할 상품 key들의 배열입니다.
반환 값
조회된 상품 정보의 배열을 반환하며, 각 항목은 다음과 같은 정보를 포함합니다:
- createdAt (Int): 상품이 등록된 시각 (Unix timestamp)
- updatedAt (Int): 상품이 최종 업데이트된 시각 (Unix timestamp)
- key (String): 상품의 오너클랜 코드
- name (Text): 상품의 이름
- model (String): 상품의 모델명
- production (String): 제조사
- origin (String): 제조국가
- price (Float): 상품의 가격
- category (Category): 상품 카테고리 정보
- content (String): 상품의 상세정보
- shippingFee (Int): 상품 배송비
- status (String): 상품의 상태
- options ([ItemOption]): 상품 옵션 정보
- taxFree (Boolean): 면세 여부
- returnable (Boolean): 반품 가능 여부
- images ([URL]): 상품 이미지 URL 목록
/**
* 아래 예제는 여러 상품을 key 리스트로 조회하는 코드입니다.
*/
var client = new XMLHttpRequest();
var query = `query ItemsByKeys {
itemsByKeys(keys: ["W999999", "W999998", "W999997"]) {
createdAt
updatedAt
key
name
model
production
origin
price
category {
key
name
}
content
shippingFee
status
options {
optionAttributes {
name
value
}
price
quantity
key
}
taxFree
returnable
images(size: large)
}
}`;
client.open("POST", "https://api-sandbox.ownerclan.com/v1/graphql", true);
client.setRequestHeader("Content-Type", "application/json");
client.setRequestHeader("Authorization", "Bearer YOUR_TOKEN");
client.onreadystatechange = function () {
if (client.readyState === 4 && client.status === 200) {
console.log(client.responseText);
}
};
client.send(JSON.stringify({
query: query
}));