Comment API

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

List comments

댓글 목록을 가져옵니다.

with review_id

GET /v1/reviews/:review_id/comments HTTP/1.1
이름 타입 필수 설명
review_id integer 리뷰의 id
limit integer 한 페이지에 가져올 댓글의 개수입니다. 최대 100개까지 가능합니다. 기본: 30

with review_code

GET /v1/comments HTTP/1.1
이름 타입 필수 설명
review_code string 리뷰의 code
limit integer 한 페이지에 가져올 댓글의 개수입니다. 최대 100개까지 가능합니다. 기본: 30

Response

HTTP/1.1 200 OK
Link: <https://api.cre.ma/v1/reviews/:review_id/comments>; rel="last", <https://api.cre.ma/v1/reviews/:review_id/comments>; rel="next"
[
  {
    "id": 2058397,
    "code": "108",
    "user_code": "thecrema",
    "user_name": "크리마",
    "message": "이거 맨날 고민하다가 못 사고 있는데! 레오퍼드가 부담스럽거나 그렇지 않아요?",
    "created_at": "2014-11-03T14:42:05.000+09:00",
    "updated_at": "2014-11-03T14:42:05.000+09:00"
  },
  {
    "id": 2058398,
    "code": "120",
    "user_code": "thecrema",
    "user_name": "크리마",
    "message": "이 언니는 쫌 잘 어울리신다~ 안 어울릴까봐 벌써 한달째 고민중 ㅠㅠ",
    "created_at": "2014-11-03T14:50:33.000+09:00",
    "updated_at": "2014-11-03T14:50:33.000+09:00"
  },
  {
    "id": 2058399,
    "code": "140",
    "user_code": "admin",
    "user_name": "크리마관리자",
    "message": "네~ 크리마님 ^^\n레오퍼드 이기는 하지만 소재가 가벼운 면소재이기 때문에 생각보다 부담스럽지 않아요.\n지금 시즌에 가장 많이 사랑받는 아이템 레오퍼드를 가볍게 매치하고 싶을 때 제격인 제품이랍니다~ ^^",
    "created_at": "2014-11-04T13:42:33.000+09:00",
    "updated_at": "2014-11-04T13:42:33.000+09:00"
  }
]

Get a single comment

댓글 한 개의 상세 정보를 가져옵니다.

with review_id and id

GET /v1/reviews/:review_id/comments/:id HTTP/1.1
이름 타입 필수 설명
review_id integer 리뷰의 id
id integer 댓글의 id

with review_id and code

GET /v1/reviews/:review_id/comments HTTP/1.1
이름 타입 필수 설명
review_id integer 리뷰의 id
code string 댓글의 code

with review_code and id

GET /v1/comments/:id HTTP/1.1
이름 타입 필수 설명
review_code string 리뷰의 code
id integer 댓글의 id

with review_code and code

GET /v1/comments HTTP/1.1
이름 타입 필수 설명
review_code string 리뷰의 code
code string 댓글의 code

Response

HTTP/1.1 200 OK
{
  "id": 2058397,
  "code": "108",
  "user_code": "thecrema",
  "user_name": "크리마",
  "message": "이거 맨날 고민하다가 못 사고 있는데! 레오퍼드가 부담스럽거나 그렇지 않아요?",
  "created_at": "2014-11-03T14:42:05.000+09:00",
  "updated_at": "2014-11-03T14:42:05.000+09:00"
}

Create or Update a comment

새로운 댓글을 생성하거나 기존 데이터를 수정합니다. 아래 두 가지 요청 중 선택해서 사용할 수 있습니다.

with review_id

POST /v1/reviews/:review_id/comments HTTP/1.1
이름 타입 필수 설명
review_id integer 리뷰의 id
code string 댓글 code. 댓글의 고유 식별자입니다. 다른 댓글과 중복되면 안됩니다.
created_at datetime(ISO 8601) 댓글 작성일. 초단위까지만 유효
message string 댓글의 내용 HTML 태그를 제외한 내용만 입력해주세요.
user_code string 댓글 작성자 쇼핑몰 아이디
user_name string 댓글 작성자 이름

with review_code

POST /v1/comments HTTP/1.1
이름 타입 필수 설명
review_code string 리뷰의 code
code string 댓글 code. 댓글의 고유 식별자입니다. 다른 댓글과 중복되면 안됩니다.
created_at datetime(ISO 8601) 댓글 작성일. 초단위까지만 유효
message string 댓글의 내용 HTML 태그를 제외한 내용만 입력해주세요.
user_code string 댓글 작성자 쇼핑몰 아이디
user_name string 댓글 작성자 이름

Response

HTTP/1.1 201 Created
Location: https://api.cre.ma/v1/reviews/:review_id/comments
{
  "id": 2058397,
  "code": "200",
  "user_code": "thecrema",
  "user_name": "크리마",
  "message": "맘에 들어요!!!",
  "created_at": "2014-12-03T14:42:05.000+09:00",
  "updated_at": "2014-12-03T14:42:05.000+09:00"
}

Update a comment

댓글의 내용을 수정합니다. 아래의 요청 중 선택해서 사용할 수 있습니다.

with review_id and id

PATCH /v1/reviews/:review_id/comments/:id HTTP/1.1
이름 타입 필수 설명
review_id integer 리뷰의 id
id integer 수정할 댓글의 id
code string 댓글 code. 댓글의 고유 식별자입니다. 다른 댓글과 중복되면 안됩니다.
created_at datetime(ISO 8601) 댓글 작성일. 초단위까지만 유효
message string 댓글의 내용 HTML 태그를 제외한 내용만 입력해주세요.
user_code string 댓글 작성자 쇼핑몰 아이디
user_name string 댓글 작성자 이름

with review_id and code

PATCH /v1/reviews/:review_id/comments HTTP/1.1
이름 타입 필수 설명
review_id integer 리뷰의 id
code string 댓글 code. 댓글의 고유 식별자입니다. 다른 댓글과 중복되면 안됩니다.
created_at datetime(ISO 8601) 댓글 작성일. 초단위까지만 유효
message string 댓글의 내용 HTML 태그를 제외한 내용만 입력해주세요.
user_code string 댓글 작성자 쇼핑몰 아이디
user_name string 댓글 작성자 이름

with review_code and id

PATCH /v1/comments/:id HTTP/1.1
이름 타입 필수 설명
review_code string 리뷰의 code
id integer 댓글의 id
code string 댓글의 code. 댓글의 고유 식별자입니다. 다른 댓글과 중복되면 안됩니다.
created_at datetime(ISO 8601) 댓글 작성일. 초단위까지만 유효
message string 댓글의 내용 HTML 태그를 제외한 내용만 입력해주세요.
user_code string 댓글 작성자 쇼핑몰 아이디
user_name string 댓글 작성자 이름

with review_code and code

PATCH /v1/comments HTTP/1.1
이름 타입 필수 설명
review_code string 리뷰의 code
code string 댓글의 code
created_at datetime(ISO 8601) 댓글 작성일. 초단위까지만 유효
message string 댓글의 내용 HTML 태그를 제외한 내용만 입력해주세요.
user_code string 댓글 작성자 쇼핑몰 아이디
user_name string 댓글 작성자 이름

Response

HTTP/1.1 204 No Content
Location: https://api.cre.ma/v1/reviews/:review_id/comments/:id

Delete a single comment

댓글 한 개를 삭제합니다.

with review_id and id

DELETE /v1/reviews/:review_id/comments/:id HTTP/1.1
이름 타입 필수 설명
review_id integer 리뷰의 id
id integer 댓글의 id

with review_id and code

DELETE /v1/reviews/:review_id/comments HTTP/1.1
이름 타입 필수 설명
review_id integer 리뷰의 id
code string 댓글의 code

with review_code and id

DELETE /v1/comments/:id HTTP/1.1
이름 타입 필수 설명
review_code string 리뷰의 code
id integer 댓글의 id

with review_code and code

DELETE /v1/comments HTTP/1.1
이름 타입 필수 설명
review_code string 리뷰의 code
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']

# 댓글 추가
c = Curl::Easy.new("https://api.cre.ma/v1/reviews/#{review_id}/comments")
c.http_post(
  Curl::PostField.content('access_token', access_token),
  Curl::PostField.content('code', '182'),
  Curl::PostField.content('created_at', Time.zone.new(2015, 3, 5, 12, 12, 0)),
  Curl::PostField.content('message', 'Comment Test2'),
  Curl::PostField.content('user_code', 'thecrema'),
  Curl::PostField.content('user_name', 'crema')
)
# 쇼핑몰 DB 댓글 테이블에 컬럼을 하나 추가하시어 해당 댓글에 이 값을 저장해주세요.
comment_id = JSON.parse(c.body_str)['id']

# 댓글 메시지 변경
Curl.put("https://api.cre.ma/v1/reviews/#{review_id}/comments/#{comment_id}?access_token=#{access_token}&message=TEST2222")

# 댓글 삭제
Curl.delete("https://api.cre.ma/v1/reviews/#{review_id}/comments/#{comment_id}?access_token=#{access_token}")

직접 사용해 보세요!

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

결과