Skip to content

리뷰 조회

브랜드에 속한 매장들의 리뷰 목록을 반환합니다. 리뷰 작성일 최신순입니다.

GET /partner/v1/brands/{brand_code}/reviews

Request

bash
curl -H 'x-partner-api-key: YOUR_API_KEY' \
  'https://api.lemong.ai/partner/v1/brands/BRAND100/reviews?from=2026-08-01&to=2026-08-31&limit=50'

쿼리 파라미터

파라미터타입설명
fromYYYY-MM-DD리뷰 작성일 시작 (KST 기준, 포함)
toYYYY-MM-DD리뷰 작성일 끝 (KST 기준, 포함)
platform_shop_idstring특정 매장만
platformenum특정 플랫폼만
rating_min0~5별점 하한 (포함)
rating_max0~5별점 상한 (포함)
repliedtrue/false답변 상태로 필터
criticaltrue/false불만족 리뷰만 / 제외
handledtrue/false대응 완료 여부
keywordstring리뷰 본문 또는 주문 메뉴 검색
pagenumber기본 1
limitnumber기본 20, 최대 100

rating_min / rating_max는 소수점을 내린 값(ex.4.54)으로 비교합니다 (0.5점만 예외로 1점으로 처리함). 별점 없는 리뷰는 0으로 취급하므로, rating_min=1 을 주면 제외되고 rating_max=0 을 주면 별점 없는 리뷰만 조회됩니다.

keyword는 리뷰 본문(content)과 주문 메뉴(menus) 중 한 곳이라도 포함하면 조회됩니다. 부분 일치이며 최대 50자입니다.

bash
curl -H 'x-partner-api-key: YOUR_API_KEY' \
  'https://api.lemong.ai/partner/v1/brands/BRAND100/reviews?from=2026-08-01&to=2026-08-31&keyword=%EB%B0%B0%EB%8B%AC'

WARNING

keyword는 인덱스를 타지 않아 다른 필터보다 느립니다. 기간을 좁혀서 호출해 주세요.

Response

json
{
  "status": "SUCCESS",
  "status_code": 200,
  "message": "OK",
  "data": {
    "items": [
      {
        "review_id": "1234567890",
        "platform_shop_id": "123456789",
        "shop_name": "몽도시락 강남점",
        "platform": "BAEMIN",
        "date": "2026-08-12T18:24:11+09:00",
        "content": "배달이 늦었지만 음식은 맛있었어요",
        "rating": 3,
        "menus": ["제육도시락", "콜라"],
        "reply_status": "REPLIED",
        "reply_content": "늦어져 죄송합니다. 다음엔 더 빠르게 준비하겠습니다.",
        "reply_date": "2026-08-12T20:10:33+09:00",
        "is_critical": true,
        "is_handled": true
      },
      {
        "review_id": "12345678901",
        "platform_shop_id": "12345678",
        "shop_name": "몽도시락 강남점",
        "platform": "NAVER",
        "date": "2026-08-11T12:03:52+09:00",
        "content": "",
        "rating": 4.5,
        "menus": null,
        "reply_status": "NOT_REPLIED",
        "reply_content": null,
        "reply_date": null,
        "is_critical": false,
        "is_handled": false
      }
    ],
    "page": 1,
    "limit": 50,
    "has_next": true
  }
}

Description

필드타입설명
review_idstring리뷰 식별자. 단건 조회 경로에 사용
platform_shop_idstring플랫폼 측 매장 id. 매장 조회 결과의 같은 필드와 매칭
shop_namestring매장명
platformenum플랫폼
datestring (KST)리뷰 작성일
contentstring리뷰 원문. 텍스트 없는 별점 리뷰는 빈 문자열
ratingfloat | null별점 1~5. 별점 없는 리뷰는 null
menusstring[]주문 메뉴
reply_statusenum답변 상태
reply_contentstring | null답변 내용. 미답변이면 null
reply_datestring (KST) | null답변 일시. 미답변이면 null
is_criticalboolean불만족 리뷰 여부
is_handledboolean대응 여부 — 답변 게시 또는 부정 리뷰 알림 발송

platform 값

플랫폼
BAEMIN배달의민족
CPEATS쿠팡이츠
YOGIYO요기요
DDANGYO땡겨요
NAVER네이버 플레이스
MUKKEBI먹깨비

reply_status 값

의미
REPLIED답변완료
NOT_REPLIED미답변

TIP

리뷰는 플랫폼에서 수집하므로 작성 직후 바로 조회되지 않습니다. 주기적으로 수집하기를 참고하세요.

댓글몽 화면의 미답변/답변완료 탭과 같은 기준입니다. 점주가 플랫폼에서 직접 단 답변도 답변완료로 잡히며, reply_content에 내용이 함께 나갑니다. 댓글 작성 예약 혹은 실패 상태는 미답변으로 판단합니다.

rating

별점은 1.0 ~ 5.0점 입니다. 4.5와 같은 0.5점 단위의 소수점이 올 수 있습니다. 별점 없이 텍스트만 등록된 리뷰는 null 입니다.

부정 리뷰(is_critical) 판정 기준

댓글몽 BIZ의 불만족 리뷰 관리 화면과 동일한 기준입니다.

  1. 별점이 브랜드에 설정된 불만족 별점 구간에 드는 경우. 이때 별점은 소수점을 내린 값(4.54)으로 비교합니다.
  2. 리뷰 내용으로 AI가 부정 리뷰로 판단한 경우.

두 조건은 OR이며 둘 중 하나만 부합하여도 true로 판단합니다. 별점이 높아도 AI의 판단이 부정이면 true이고, 별점이 없는 리뷰는 AI의 판단으로만 판정됩니다.

critical필터도 같은 조건을 씁니다.

Error Case

json
{
  "status": "PARTNER_API_BRAND_NOT_FOUND",
  "status_code": 404,
  "message": "요청을 처리할 수 없습니다."
}
status_codestatus이 API 에서 발생하는 경우
400PARTNER_API_INVALID_PARAMETER날짜 형식 오류, 별점/불리언 값 오류, keyword 50자 초과
401PARTNER_API_KEY_REQUIREDx-partner-api-key 헤더 누락
401PARTNER_API_KEY_INVALID등록되지 않은 키
401PARTNER_API_KEY_INACTIVE폐기된 키
401PARTNER_API_KEY_EXPIRED만료된 키
403PARTNER_API_FORBIDDEN비활성화된 협력사 (담당자 문의)
404PARTNER_API_BRAND_NOT_FOUNDbrand_code 가 없거나 이 키의 범위 밖
404PARTNER_API_NOT_FOUND잘못된 URL 경로
429PARTNER_API_RATE_LIMITED호출 제한 초과 (분당 100회)
500PARTNER_API_INTERNAL_ERROR서버 오류