Product API
CREMA 서버에 상품 등록된 상품 정보를 확인하고, 등록/수정하는 방법을 제공합니다.
List products
상품 목록을 가져옵니다.
meta_reviews_count
는 세트 상품들의 리뷰 수를 포함한 값이고, meta_score
는 세트 상품들의 평점을 포함하여 계산한 값입니다.
created_at
은 크리마 DB에 데이터가 생성된 시각이고, shop_builder_created_at
은 솔루션에서 상품데이터를 생성한 시각입니다.
GET /v1/products HTTP/1.1
Parameters
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
limit |
integer | ✖ | 한 페이지의 상품 목록 길이. 범위: 1 ~ 100. 기본: 30 |
category_id |
integer | ✖ | 특정 카테고리의 상품을 가져올 때 사용합니다. |
status |
string | ✖ | 상품 상태를 기준으로 필터링할 때 사용합니다. 사용가능 상태: selling , hidden |
in_stock |
integer | ✖ | 1 이면 재고 있는 상품만, 0 이면 품절 상품만 반환합니다. |
display |
integer | ✖ | 1 이면 진열 상품만, 0 이면 미진열 상품만 반환합니다. |
updated_since |
datetime(ISO 8601) | ✖ | 상품 수정일. 초단위까지만 유효. 특정 일시 이후에 수정된 상품 목록을 가져올 때 사용합니다. |
Response
HTTP/1.1 200 OK
Link: <https://api.cre.ma/v1/products?page=372>; rel="last", <https://api.cre.ma/v1/products&page=2>; rel="next"
[
{
"id": 1,
"name": "플레어 티: 부담없이 편하게 입기 좋은 티셔츠",
"code": "117786",
"org_price": 8000,
"final_price": 8000,
"product_status": "selling",
"display": true,
"created_at": "2013-09-23T10:12:29.000+09:00",
"updated_at": "2014-03-17T08:07:41.000+09:00",
"shop_builder_created_at": "2013-09-23T10:12:29.000+09:00",
"shop_builder_updated_at": "2014-03-17T08:07:41.000+09:00",
"image": {
"middle_url": "https://assets.cre.ma/p/crema-me/reviews/00/00/00/02/13/image1/middle_a21387c475095732.jpg",
"middle_width": 90,
"middle_height": 90
},
"reviews_count": 37,
"meta_reviews_count": 66,
"score": 4.52,
"meta_score": 4.33
},
{
"id": 2,
"name": "발란스 단가라 티셔츠: 베이직한 스트라이프 티셔츠 Must have item!!",
"code": "117788",
"org_price": 9000,
"final_price": 8000,
"product_status": "selling",
"display": true,
"created_at": "2013-09-23T10:12:28.000+09:00",
"updated_at": "2014-04-21T17:34:07.000+09:00",
"shop_builder_created_at": "2013-09-23T10:12:28.000+09:00",
"shop_builder_updated_at": "2014-04-21T17:34:07.000+09:00",
"image": {
"middle_url": "https://assets.cre.ma/p/crema-me/reviews/00/00/00/02/13/image1/middle_a21387c475095732.jpg",
"middle_width": 90,
"middle_height": 90
},
"reviews_count": 37,
"meta_reviews_count": 45,
"score": 4.45,
"meta_score": 4.55
},
{
"id": 3,
"name": "얼반 데님 또또 남방:머스트해브아이템! 시즌내내 쭉 함께 할수 있는 실용적인 청바지",
"code": "117789",
"org_price": 10000,
"final_price": 5000,
"product_status": "selling",
"display": true,
"created_at": "2013-10-05T10:12:29.000+09:00",
"updated_at": "2014-03-20T21:03:25.000+09:00",
"shop_builder_created_at": "2013-10-05T10:12:29.000+09:00",
"shop_builder_updated_at": "2014-03-20T21:03:25.000+09:00",
"image": {
"middle_url": "https://assets.cre.ma/p/crema-me/reviews/00/00/00/02/13/image1/middle_a21387c475095732.jpg",
"middle_width": 90,
"middle_height": 90
},
"reviews_count": 11,
"meta_reviews_count": 11,
"score": 4.93,
"meta_score": 4.93
}
]
Get multiple reviews count
여러 상품의 리뷰 수를 가져옵니다.
member_reviews_count
는 회원 리뷰 수입니다.
meta_reviews_count
는 세트 상품들의 리뷰 수를 포함한 값입니다.
meta_member_reviews_count
는 세트 상품들의 회원 리뷰 수를 포함한 값입니다.
GET /v1/products/reviews_count HTTP/1.1
Parameters
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
limit |
integer | ✖ | 한 페이지의 상품 목록 길이. 범위: 1 ~ 100. 기본: 30 |
category_id |
integer | ✖ | 크리마의 상품 카테고리 ID. 특정 카테고리의 상품을 가져올 때 사용합니다. category_id 와 category_code 중 하나만 입력해주세요. |
category_code |
integer | ✖ | 쇼핑몰의 상품 카테고리 ID. 특정 카테고리의 상품을 가져올 때 사용합니다. |
product_codes |
integer | ✖ | 쇼핑몰의 상품 ID. 특정 상품을 가져올 때 사용합니다. |
status |
string | ✖ | 상품 상태를 기준으로 필터링할 때 사용합니다. 사용가능 상태: selling , hidden |
in_stock |
integer | ✖ | 1 이면 재고 있는 상품만, 0 이면 품절 상품만 반환합니다. |
display |
integer | ✖ | 1 이면 진열 상품만, 0 이면 미진열 상품만 반환합니다. |
Response
HTTP/1.1 200 OK
Link: <https://api.cre.ma/v1/products/reviews_count?page=372>; rel="last", <https://api.cre.ma/v1/products/reviews_count&page=2>; rel="next"
[
{
"id": 1,
"code": "117786",
"reviews_count": 37,
"meta_reviews_count": 66,
"member_reviews_count": 37,
"meta_member_reviews_count": 66
},
{
"id": 2,
"code": "117788",
"reviews_count": 37,
"meta_reviews_count": 45,
"member_reviews_count": 37,
"meta_member_reviews_count": 66
},
{
"id": 3,
"code": "117789",
"reviews_count": 11,
"meta_reviews_count": 11,
"member_reviews_count": 11,
"meta_member_reviews_count": 11
}
]
Get a single product
상품 한 개의 상세 정보를 가져옵니다.
with id
GET /v1/products/:id HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
integer | ✔ | 상품의 id |
with code
GET /v1/products HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
code |
string | ✔ | 상품의 code |
Response
HTTP/1.1 200 OK
{
"id": 1,
"code": "126900",
"name": "앙팡 블라우스",
"url": "product_url",
"reviews_count": 0,
"meta_reviews_count": 0,
"score": 0.0,
"meta_score": 0.0,
"org_price": 8000,
"final_price": 8000,
"product_status": "selling",
"image_url": "//assets.cre.ma/p/crema-me/products/00/00/01/35/86/image/7ff6a9b8ffc3a0c4.jpg",
"source_image_url": "image_url",
"categories": [
{
"id": 10256,
"code": "1",
"name": "탑",
"depth": 1,
"parent_category_id": null,
"status": "visible"
},
{
"id": 10259,
"code": "3",
"name": "블라우스",
"depth": 1,
"parent_category_id": null,
"status": "visible"
}
],
"product_options": [],
"display": true,
"created_at": "2014-05-17T08:39:52.000+09:00",
"updated_at": "2014-05-17T08:39:52.000+09:00",
"shop_builder_created_at": "2014-05-17T08:39:52.000+09:00",
"shop_builder_updated_at": "2014-05-17T08:39:52.000+09:00",
"image": {
"url": "https://assets.cre.ma/p/crema-me/products/00/00/01/35/86/image/7ff6a9b8ffc3a0c4.jpg",
"width": 512,
"height": 371,
"middle_url": "https://assets.cre.ma/p/crema-me/products/00/00/01/35/86/image/middle_7ff6a9b8ffc3a0c4.jpg",
"middle_width": 512,
"middle_height": 512,
"extra_small_url": "https://assets.cre.ma/p/crema-me/products/00/00/01/35/86/image/extra_small_7ff6a9b8ffc3a0c4.jpg",
"extra_small_width": 90,
"extra_small_height": 90
},
"sub_products": [
{
"id": 583,
"code": "293"
},
{
"id": 572,
"code": "290"
}
]
}
Create or Update a product
새로운 상품을 생성하거나 기존 데이터를 수정합니다.
created_at
은 크리마 DB에 데이터가 생성된 시각이고, shop_builder_created_at
은 솔루션에서 상품데이터를 생성한 시각입니다.
세트 상품은 하단 Add sub_products, Remove sub_products API를 이용해주세요.
POST /v1/products HTTP/1.1
Parameters
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
code |
string | ✔ | 상품 code . 상품의 고유 식별자입니다. 다른 상품과 중복되면 안됩니다. |
name |
string | ✔ | 상품의 이름 |
url |
string | ✔ | 상품의 URL (프로토콜을 포함해야 합니다) |
org_price |
float | ✔ | 상품의 원가(원 또는 locale 설정 별 소수점 화폐 단위 (e.g. $1.1 일 경우 1.1 입력)) org_price가 0원이고 final_price가 0원이 아닌 경우, final_price값으로 대체됩니다. |
final_price |
float | ✖ | 상품의 판매가(원 또는 locale 설정 별 소수점 화폐 단위 (e.g. $1.1 일 경우 1.1 입력)) final_price가 0원이고 org_price가 0원이 아닌 경우, org_price값으로 대체됩니다. |
category_codes |
array | ✖ | 상품의 카테고리 목록. 카테고리의 code 의 array 형식으로 입력합니다. |
display |
string | ✖ | 상품의 상태. 진열중일 경우 1 , 미진열일 경우 0 을 입력합니다. 아무것도 입력하지 않으면 진열로 처리됩니다. |
image_url |
string | ✖ | 상품 이미지 URL (프로토콜을 포함해야 합니다) |
stock_count |
integer | ✖ | 상품의 재고량. 기본값은 1 입니다. 품절 상품의 경우 0 으로 입력합니다. |
product_options |
array | ✖ | 상품 판매 옵션을 배열로 입력합니다. 핏·리뷰 서비스를 이용하는 경우 필수로 입력해야 합니다. 예시(Content-Type) application/json: [{'name': 'size', 'values': ['S', 'M']}, {'name': 'color', 'values': ['black', 'white']}] application/x-www-form-urlencode: product_options[][name]=size&product_options[][values][]=S&product_options[][values][]=M&product_options[][name]=color&product_options[][values][]=black&product_options[][values][]=white |
sub_brand_id |
integer | ✖ | 서브 브랜드 id . sub_brand_code 를 입력한 경우 sub_brand_id 는 입력하지 않아도 됩니다. |
sub_brand_code |
string | ✖ | 서브 브랜드 코드. sub_brand_id 를 입력한 경우 sub_brand_code 는 입력하지 않아도 됩니다. |
simple_description |
string | ✖ | 상품 요약 설명. 타겟 개인화 위젯을 사용하는 경우에만 필수로 입력하면 됩니다.(최대 길이는 255자 입니다.) |
shop_builder_created_at |
datetime(ISO 8601) | ✖ | 상품 등록일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다. |
shop_builder_updated_at |
datetime(ISO 8601) | ✖ | 상품 수정일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다. |
colors |
array | ✖ | 상품 색상 목록을 배열로 입력합니다. 타겟 개인화 위젯을 사용하는 경우에만 필수로 입력하면 됩니다. 한 문자열은 한 개의 색상 (컬러칩)을 의미합니다. 한 색상에 두 가지 이상의 색상을 보여줘야 할 경우 (멀티 칼라칩), '#aaaaaa, #bbbbbb' 같이 , 로 색상을 구분하면 됩니다. 상품 색상은 '#'를 포함한 6자리 hex 코드로 입력해야 합니다.예시: ['#ffffff', '#aaaaaa, #bbbbbb'] |
Response
HTTP/1.1 201 Created
Location: https://api.cre.ma/v1/products
{
"id": 1,
"code": 1,
"name": "플레어 티: 부담없이 편하게 입기 좋은 티셔츠",
"url": "product_url",
"reviews_count": 0,
"meta_reviews_count": 0,
"score": 0.0,
"meta_score": 0.0,
"org_price": 8000,
"final_price": 8000,
"product_status": "selling",
"image_url": "//assets.cre.ma/p/crema-me/products/00/00/01/35/86/image/7ff6a9b8ffc3a0c4.jpg",
"source_image_url": "image_url",
"categories": [],
"product_options": [],
"display": true,
"created_at": "2014-05-17T08:39:52.000+09:00",
"updated_at": "2014-05-17T08:39:52.000+09:00",
"shop_builder_created_at": "2014-05-17T08:39:52.000+09:00",
"shop_builder_updated_at": "2014-05-17T08:39:52.000+09:00",
"image": {
"url": "https://assets.cre.ma/p/crema-me/products/00/00/01/35/86/image/7ff6a9b8ffc3a0c4.jpg",
"width": 512,
"height": 371,
"middle_url": "https://assets.cre.ma/p/crema-me/products/00/00/01/35/86/image/middle_7ff6a9b8ffc3a0c4.jpg",
"middle_width": 512,
"middle_height": 512,
"extra_small_url": "https://assets.cre.ma/p/crema-me/products/00/00/01/35/86/image/extra_small_7ff6a9b8ffc3a0c4.jpg",
"extra_small_width": 90,
"extra_small_height": 90
},
"sub_products": []
}
Update a product
상품의 내용을 수정합니다.
with id
PATCH /v1/products/:id HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
integer | ✔ | 상품의 id |
code |
string | ✖ | 상품 code . 상품의 고유 식별자입니다. 다른 상품과 중복되면 안됩니다. |
name |
string | ✖ | 상품의 이름 |
url |
string | ✖ | 상품의 URL (프로토콜을 포함해야 합니다) |
org_price |
float | ✖ | 상품의 원가(원 또는 locale 설정 별 소수점 화폐 단위 (e.g. $1.1 일 경우 1.1 입력)) org_price가 0원이고 final_price가 0원이 아닌 경우, final_price값으로 대체됩니다. |
final_price |
float | ✖ | 상품의 판매가(원 또는 locale 설정 별 소수점 화폐 단위 (e.g. $1.1 일 경우 1.1 입력)) final_price가 0원이고 org_price가 0원이 아닌 경우, org_price값으로 대체됩니다. |
category_codes |
array | ✖ | 상품의 카테고리 목록. 카테고리의 code 의 array 형식으로 입력합니다. |
display |
string | ✖ | 상품의 상태. 진열중일 경우 1 , 미진열일 경우 0 을 입력합니다. 아무것도 입력하지 않으면 진열로 처리됩니다. |
image_url |
string | ✖ | 상품 이미지 URL (프로토콜을 포함해야 합니다) |
stock_count |
integer | ✖ | 상품의 재고량. 기본값은 1 입니다. 품절 상품의 경우 0 으로 입력합니다. |
product_options |
array | ✖ | 상품 판매 옵션을 배열로 입력합니다. 핏·리뷰 서비스를 이용하는 경우 필수로 입력해야 합니다. 예시(Content-Type) application/json: [{'name': 'size', 'values': ['S', 'M']}, {'name': 'color', 'values': ['black', 'white']}] application/x-www-form-urlencode: product_options[][name]=size&product_options[][values][]=S&product_options[][values][]=M&product_options[][name]=color&product_options[][values][]=black&product_options[][values][]=white |
sub_brand_id |
integer | ✖ | 서브 브랜드 id . sub_brand_code 를 입력한 경우 sub_brand_id 는 입력하지 않아도 됩니다. |
sub_brand_code |
string | ✖ | 서브 브랜드 코드. sub_brand_id 를 입력한 경우 sub_brand_code 는 입력하지 않아도 됩니다. |
simple_description |
string | ✖ | 상품 요약 설명. 타겟 개인화 위젯을 사용하는 경우에만 필수로 입력하면 됩니다.(최대 길이는 255자 입니다.) |
shop_builder_created_at |
datetime(ISO 8601) | ✖ | 상품 등록일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다. |
shop_builder_updated_at |
datetime(ISO 8601) | ✖ | 상품 수정일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다. |
colors |
array | ✖ | 상품 색상 목록을 배열로 입력합니다. 타겟 개인화 위젯을 사용하는 경우에만 필수로 입력하면 됩니다. 한 문자열은 한 개의 색상 (컬러칩)을 의미합니다. 한 색상에 두 가지 이상의 색상을 보여줘야 할 경우 (멀티 칼라칩), '#aaaaaa, #bbbbbb' 같이 , 로 색상을 구분하면 됩니다. 상품 색상은 '#'를 포함한 6자리 hex 코드로 입력해야 합니다.예시: ['#ffffff', '#aaaaaa, #bbbbbb'] |
with code
PATCH /v1/products HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
code |
string | ✔ | 상품의 code |
name |
string | ✖ | 상품의 이름 |
url |
string | ✖ | 상품의 URL (프로토콜을 포함해야 합니다) |
org_price |
float | ✖ | 상품의 원가(원 또는 locale 설정 별 소수점 화폐 단위 (e.g. $1.1 일 경우 1.1 입력)) org_price가 0원이고 final_price가 0원이 아닌 경우, final_price값으로 대체됩니다. |
final_price |
float | ✖ | 상품의 판매가(원 또는 locale 설정 별 소수점 화폐 단위 (e.g. $1.1 일 경우 1.1 입력)) final_price가 0원이고 org_price가 0원이 아닌 경우, org_price값으로 대체됩니다. |
category_codes |
array | ✖ | 상품의 카테고리 목록. 카테고리의 code 의 array 형식으로 입력합니다. |
display |
string | ✖ | 상품의 상태. 진열중일 경우 1 , 미진열일 경우 0 을 입력합니다. 아무것도 입력하지 않으면 진열로 처리됩니다. |
image_url |
string | ✖ | 상품 이미지 URL (프로토콜을 포함해야 합니다) |
stock_count |
integer | ✖ | 상품의 재고량. 기본값은 1 입니다. 품절 상품의 경우 0 으로 입력합니다. |
product_options |
array | ✖ | 상품 판매 옵션을 배열로 입력합니다. 핏·리뷰 서비스를 이용하는 경우 필수로 입력해야 합니다. 예시(Content-Type) application/json: [{'name': 'size', 'values': ['S', 'M']}, {'name': 'color', 'values': ['black', 'white']}] application/x-www-form-urlencode: product_options[][name]=size&product_options[][values][]=S&product_options[][values][]=M&product_options[][name]=color&product_options[][values][]=black&product_options[][values][]=white |
sub_brand_id |
integer | ✖ | 서브 브랜드 id . sub_brand_code 를 입력한 경우 sub_brand_id 는 입력하지 않아도 됩니다. |
sub_brand_code |
string | ✖ | 서브 브랜드 코드. sub_brand_id 를 입력한 경우 sub_brand_code 는 입력하지 않아도 됩니다. |
simple_description |
string | ✖ | 상품 요약 설명. 타겟 개인화 위젯을 사용하는 경우에만 필수로 입력하면 됩니다.(최대 길이는 255자 입니다.) |
shop_builder_created_at |
datetime(ISO 8601) | ✖ | 상품 등록일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다. |
shop_builder_updated_at |
datetime(ISO 8601) | ✖ | 상품 수정일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다. |
colors |
array | ✖ | 상품 색상 목록을 배열로 입력합니다. 타겟 개인화 위젯을 사용하는 경우에만 필수로 입력하면 됩니다. 한 문자열은 한 개의 색상 (컬러칩)을 의미합니다. 한 색상에 두 가지 이상의 색상을 보여줘야 할 경우 (멀티 칼라칩), '#aaaaaa, #bbbbbb' 같이 , 로 색상을 구분하면 됩니다. 상품 색상은 '#'를 포함한 6자리 hex 코드로 입력해야 합니다.예시: ['#ffffff', '#aaaaaa, #bbbbbb'] |
Response
HTTP/1.1 204 No Content
Location: https://api.cre.ma/v1/products/:id
Delete a single product
상품 한 개를 삭제합니다. 리뷰가 있는 상품의 경우 리뷰를 먼저 삭제해야 합니다.
with id
DELETE /v1/products/:id HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
integer | ✔ | 상품의 id |
with code
DELETE /v1/products HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
code |
string | ✔ | 상품의 code |
Response
HTTP/1.1 204 No Content
Add sub_products
상품에 세트상품 정보를 추가합니다. 미리 입력해 크리마 DB에 존재하는 상품들만 세트상품으로 추가할 수 있습니다.
created_at
은 크리마 DB에 데이터가 생성된 시각이고, shop_builder_created_at
은 솔루션에서 상품데이터를 생성한 시각입니다.
Parameters
with id
POST /v1/products/:id/sub_products HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
integer | ✔ | 상품의 id |
sub_product_ids |
array | ✔ | 추가할 세트상품의 id 목록. 부속 상품의 id 값들을 array 형식으로 입력합니다. sub_product_codes 를 입력한 경우 sub_product_ids 는 입력하지 않아도 됩니다. |
sub_product_codes |
array | ✔ | 추가할 세트상품의 코드 목록. 부속 상품의 code 값들을 array 형식으로 입력합니다. sub_product_ids 를 입력한 경우 sub_product_codes 는 입력하지 않아도 됩니다. |
with code
POST /v1/products/sub_products HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
code |
string | ✔ | 상품의 code |
sub_product_ids |
array | ✔ | 추가할 세트상품의 id 목록. 부속 상품의 id 값들을 array 형식으로 입력합니다. sub_product_codes 를 입력한 경우 sub_product_ids 는 입력하지 않아도 됩니다. |
sub_product_codes |
array | ✔ | 추가할 세트상품의 코드 목록. 부속 상품의 code 값들을 array 형식으로 입력합니다. sub_product_ids 를 입력한 경우 sub_product_codes 는 입력하지 않아도 됩니다. |
Response
HTTP/1.1 200 OK
{
"id": 588,
"name": "테스트 (20210322)",
"code": "296",
"display": true,
"created_at": "2021-03-22T15:05:28.000+09:00",
"updated_at": "2021-05-26T14:25:57.000+09:00",
"shop_builder_created_at": "2021-03-22T15:04:25.000+09:00",
"shop_builder_updated_at": "2021-03-22T15:04:25.000+09:00",
"reviews_count": 1,
"meta_reviews_count": 1,
"score": 4.0,
"meta_score": 4.0,
"org_price": 10000,
"final_price": 8000,
"product_status": "selling",
"url": "http://thecrema1.cafe24.com/product/detail.html?cate_no=1&product_no=296",
"image_url": "//assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/3eadf2a622513c54.jpg",
"source_image_url": "//thecrema1.cafe24.com/web/product/medium/202103/3b4ff0427a0deeaa3aea48a310902d4f.png",
"categories": [],
"product_options": [],
"image": {
"url": "https://assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/3eadf2a622513c54.jpg",
"width": 512,
"height": 512,
"middle_url": "https://assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/middle_3eadf2a622513c54.jpg",
"middle_width": 512,
"middle_height": 512,
"small_url": "https://assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/small_3eadf2a622513c54.jpg",
"small_width": 234,
"small_height": 234,
"extra_small_url": "https://assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/extra_small_3eadf2a622513c54.jpg",
"extra_small_width": 90,
"extra_small_height": 90
},
"sub_products": [
{
"id": 583,
"code": "293"
},
{
"id": 572,
"code": "290"
}
]
}
Remove sub_products
상품에 세트상품 정보를 제거합니다. 미리 입력해 크리마 DB에 존재하는 상품들만 세트상품으로 제거할 수 있습니다.
created_at
은 크리마 DB에 데이터가 생성된 시각이고, shop_builder_created_at
은 솔루션에서 상품데이터를 생성한 시각입니다.
Parameters
with id
DELETE /v1/products/:id/sub_products HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
integer | ✔ | 상품의 id |
sub_product_ids |
array | ✔ | 제거할 세트상품의 id 목록. 부속 상품의 id 값들을 array 형식으로 입력합니다. sub_product_codes 를 입력한 경우 sub_product_ids 는 입력하지 않아도 됩니다. |
sub_product_codes |
array | ✔ | 제거할 세트상품의 코드 목록. 부속 상품의 code 값들을 array 형식으로 입력합니다. sub_product_ids 를 입력한 경우 sub_product_codes 는 입력하지 않아도 됩니다. |
with code
DELETE /v1/products/sub_products HTTP/1.1
이름 | 타입 | 필수 | 설명 |
---|---|---|---|
code |
string | ✔ | 상품의 code |
sub_product_ids |
array | ✔ | 제거할 세트상품의 id 목록. 부속 상품의 id 값들을 array 형식으로 입력합니다. sub_product_codes 를 입력한 경우 sub_product_ids 는 입력하지 않아도 됩니다. |
sub_product_codes |
array | ✔ | 제거할 세트상품의 코드 목록. 부속 상품의 code 값들을 array 형식으로 입력합니다. sub_product_ids 를 입력한 경우 sub_product_codes 는 입력하지 않아도 됩니다. |
Response
HTTP/1.1 200 OK
{
"id": 588,
"name": "테스트 (20210322)",
"code": "296",
"display": true,
"created_at": "2021-03-22T15:05:28.000+09:00",
"updated_at": "2021-05-26T14:25:57.000+09:00",
"shop_builder_created_at": "2021-03-22T15:04:25.000+09:00",
"shop_builder_updated_at": "2021-03-22T15:04:25.000+09:00",
"reviews_count": 1,
"meta_reviews_count": 1,
"score": 4.0,
"meta_score": 4.0,
"org_price": 10000,
"final_price": 8000,
"product_status": "selling",
"url": "http://thecrema1.cafe24.com/product/detail.html?cate_no=1&product_no=296",
"image_url": "//assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/3eadf2a622513c54.jpg",
"source_image_url": "//thecrema1.cafe24.com/web/product/medium/202103/3b4ff0427a0deeaa3aea48a310902d4f.png",
"categories": [],
"product_options": [],
"image": {
"url": "https://assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/3eadf2a622513c54.jpg",
"width": 512,
"height": 512,
"middle_url": "https://assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/middle_3eadf2a622513c54.jpg",
"middle_width": 512,
"middle_height": 512,
"small_url": "https://assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/small_3eadf2a622513c54.jpg",
"small_width": 234,
"small_height": 234,
"extra_small_url": "https://assets2.cre.ma/p/cafe23-com/products/00/00/00/05/88/image/extra_small_3eadf2a622513c54.jpg",
"extra_small_width": 90,
"extra_small_height": 90
},
"sub_products": [
{
"id": 583,
"code": "293"
},
{
"id": 572,
"code": "290"
}
]
}
Example (Ruby)
require 'curl'
require 'json'
# access_token 값 얻기
c = Curl::Easy.new('https://api.cre.ma/oauth/token')
c.http_post(
Curl::PostField.content('grant_type', 'client_credentials'),
Curl::PostField.content('client_id', ENV['CREMA_APP_ID']),
Curl::PostField.content('client_secret', ENV['CREMA_SECRET'])
)
access_token = JSON.parse(c.body_str)['access_token']
# 상품 추가
c = Curl::Easy.new('https://api.cre.ma/v1/products')
c.http_post(
Curl::PostField.content('access_token', token),
Curl::PostField.content('code', '23881'),
Curl::PostField.content('name', '옥토끼'),
Curl::PostField.content('org_price', 17_000),
Curl::PostField.content('url', 'http://www.sampleshop.com/shop/view.php?product_code=23881'),
Curl::PostField.content('image_url', 'http://img.sampleshop.com/files/goods/23881/1424768729_0.jpg'),
Curl::PostField.content('display', 1),
Curl::PostField.content('category_codes[]', 255)
)
# 쇼핑몰 DB 상품 테이블에 컬럼을 하나 추가하시어 해당 상품에 이 값을 저장해주세요.
product_id = JSON.parse(c.body_str)['id']
# 상품 가격, 진열상태 미진열로 변경
Curl.put("https://api.cre.ma/v1/products/#{product_id}?access_token=#{access_token}&org_price=15000&display=0")
# 상품 삭제
Curl.delete("https://api.cre.ma/v1/products/#{product_id}?access_token=#{access_token}")
Example (PHP)
<?
$url = 'https://api.cre.ma/v1/products';
$post_data["access_token"] = $access_token;
$post_data["code"] = "test_code";
$post_data["name"] = "테스트 상품";
$post_data["url"] = "http://www.cre.ma/products/detail.php?code=test_code";
$post_data["org_price"] = "10000";
$post_data["final_price"] = "10000";
$post_data["display"] = "1";
$post_data["image_url"] = "http://www.cre.ma/shop/product_img/1498024940_08759.jpg";
$post_data["stock_count"] = "1";
$category_codes = array();
$category_codes[] = "001";
$category_codes[] = "001001";
$post_data["category_codes[]"] = $category_codes;
$options = array();
$options[] = array('name' => 'size', 'values' => ['28', '40']);
$options[] = array('name' => 'color', 'values' => ['네이비', '블루']);
$post_data["product_options[]"] = $options;
$data = http_build_query($post_data);
$data = preg_replace("/%5B(\d+)%5D/", "", $data);
$data = preg_replace("/%5Bvalues%5D/", "%5Bvalues%5D%5B%5D", $data);
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_POST, 1);
curl_setopt ($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt ($curl, CURLOPT_POSTFIELDSIZE, 0);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
var_dump($result);
print_r(curl_getinfo($curl));
?>