Category API

CREMA 서버에 등록된 카테고리 정보를 확인하고, 등록/수정하는 방법을 제공합니다.

List categories

카테고리 목록을 가져옵니다.

GET /v1/categories HTTP/1.1

Parameters

이름 타입 필수 설명
limit integer 한 페이지의 카테고리 목록 길이. 범위: 1 ~ 100. 기본: 30

Response

HTTP/1.1 200 OK
Link: <https://api.cre.ma/v1/categories?page=372>; rel="last", <https://api.cre.ma/v1/categories&page=2>; rel="next"
[
  {
    "id": 1,
    "code": "101",
    "name": "신상품 10% 할인",
    "depth": 1,
    "parent_category_id": null,
    "status": "visible",
    "created_at": "2013-09-23T10:12:29.000+09:00",
    "updated_at": "2014-03-17T08:07:41.000+09:00"
  },
  {
    "id": 2,
    "code": "12",
    "name": "아우터",
    "depth": 1,
    "parent_category_id": null,
    "status": "hidden",
    "created_at": "2013-09-23T10:12:28.000+09:00",
    "updated_at": "2014-04-21T17:34:07.000+09:00"
  },
  {
    "id": 3,
    "code": "35",
    "name": "니트/가디건",
    "depth": 2,
    "parent_category_id": 1,
    "status": "visible",
    "created_at": "2013-10-05T10:12:29.000+09:00",
    "updated_at": "2014-03-20T21:03:25.000+09:00"
  }
]

Get a single category

카테고리 한 개의 상세 정보를 가져옵니다.

with id

GET /v1/categories/:id HTTP/1.1
이름 타입 필수 설명
id integer 카테고리의 id

with code

GET /v1/categories HTTP/1.1
이름 타입 필수 설명
code string 카테고리의 code

Response

HTTP/1.1 200 OK
{
  "id": 1,
  "code": "12",
  "name": "블라우스",
  "depth": 1,
  "parent_category_id": null,
  "status": "visible",
  "created_at": "2014-05-17T08:39:52.000+09:00",
  "updated_at": "2014-05-17T08:39:52.000+09:00"
}

Create or Update a category

새로운 카테고리를 생성하거나 기존 데이터를 수정합니다.

POST /v1/categories HTTP/1.1

access_token=$ACCESS_TOKEN&code=0104&name=아우터

Parameters

이름 타입 필수 설명
code string 카테고리의 code. 다른 카테고리와 중복되면 안됩니다.
name string 이름
parent_category_id string 상위 카테고리의 id
parent_category_code string 상위 카테고리의 code
status string 진열 여부, 진열인 경우 visible, 미진열인 경우 hidden

Response

HTTP/1.1 201 Created
Location: https://api.cre.ma/v1/categories
{
  "id": 1,
  "code": "12",
  "name": "니트/가디건",
  "depth": 1,
  "parent_category_id": null,
  "status": "visible",
  "created_at": "2014-05-17T08:39:52.000+09:00",
  "updated_at": "2014-05-17T08:39:52.000+09:00"
}

Update a category

카테고리의 내용을 수정합니다.

with id

PATCH /v1/categories/:id HTTP/1.1

access_token=$ACCESS_TOKEN&name=바지
이름 타입 필수 설명
id integer 카테고리의 id
code string 카테고리의 code. 다른 카테고리와 중복되면 안됩니다.
name string 이름
parent_category_id string 상위 카테고리 id
status string 진열 여부, 진열인 경우 visible, 미진열인 경우 hidden

with code

PATCH /v1/categories HTTP/1.1

access_token=$ACCESS_TOKEN&name=바지
이름 타입 필수 설명
code string 카테고리의 code
name string 이름
parent_category_id string 상위 카테고리 id
status string 진열 여부, 진열인 경우 visible, 미진열인 경우 hidden

Response

HTTP/1.1 204 No Content
Location: https://api.cre.ma/v1/categories/:id

Delete a single category

카테고리 한 개를 삭제합니다.

with id

DELETE /v1/categories/:id HTTP/1.1
이름 타입 필수 설명
id integer 카테고리의 id

with code

DELETE /v1/categories HTTP/1.1
이름 타입 필수 설명
code string 카테고리의 code

Response

HTTP/1.1 204 No Content

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']

# 카테고리1 추가
category1 = {code: '0104', name: '아우터'}
c = Curl::Easy.new('https://api.cre.ma/v1/categories')
c.http_post(
  Curl::PostField.content('access_token', access_token),
  Curl::PostField.content('code', category1[:code]),
  Curl::PostField.content('name', category1[:name])
)
# 쇼핑몰 DB 카테고리 테이블에 컬럼을 하나 추가하시어 해당 카테고리에 이 값을 저장해주세요.
category1_id = JSON.parse(c.body_str)['id']

# 카테고리1 이름 변경
Curl.put("https://api.cre.ma/v1/categories/#{category1_id}?access_token=#{access_token}&name=Outer")

# 카페고리1의 하위 카테고리2 추가
category2 = {code: '010404', name: '자켓/코트', parent_category_id: category1_id}
c = Curl::Easy.new('https://api.cre.ma/v1/categories')
c.http_post(
  Curl::PostField.content('access_token', access_token),
  Curl::PostField.content('code', category2[:code]),
  Curl::PostField.content('name', category2[:name]),
  Curl::PostField.content('parent_category_id', category1_id)
)
category2_id = JSON.parse(c.body_str)['id']

# 카테고리2 삭제
Curl.delete("https://api.cre.ma/v1/categories/#{category2_id}?access_token=#{access_token}")

직접 사용해 보세요!

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

결과