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_idcategory_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는 입력하지 않아도 됩니다.
shop_builder_created_at datetime(ISO 8601) 상품 등록일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다.
shop_builder_updated_at datetime(ISO 8601) 상품 수정일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다.

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는 입력하지 않아도 됩니다.
shop_builder_created_at datetime(ISO 8601) 상품 등록일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다.
shop_builder_updated_at datetime(ISO 8601) 상품 수정일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다.

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는 입력하지 않아도 됩니다.
shop_builder_created_at datetime(ISO 8601) 상품 등록일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다.
shop_builder_updated_at datetime(ISO 8601) 상품 수정일. 초단위까지만 유효. 타겟 서비스를 이용하는 경우 필수로 입력해야 합니다.

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));
?>

직접 사용해 보세요!

API Explorer를 사용하여 API 요청 및 응답을 확인해 보세요.

결과