> For the complete documentation index, see [llms.txt](https://sharelink-docs.toss.im/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sharelink-docs.toss.im/developers/open-api/api/today-deals.md).

# 하루특가 상품 조회

그날 하루만 판매하는 특가 상품 목록을 조회합니다. 각 상품에 종료 시각이 포함됩니다.

핫딜 게시판처럼 시간이 지나면 사라지는 특가를 다루시는 경우에 적합합니다.

```
GET /openapi/products/today-deals
```

필요 스코프: `sharelink:read`

***

## 요청

| 파라미터     | 필수 | 기본값  | 설명                                                       |
| -------- | -- | ---- | -------------------------------------------------------- |
| `cursor` | 선택 | —    | 다음 페이지 커서. 첫 요청에는 넣지 않습니다                                |
| `size`   | 선택 | `30` | 한 번에 받을 개수. **1\~30** (범위를 벗어나면 자동 보정, 다른 목록 API보다 작습니다) |

```bash
curl -H "Authorization: Bearer {액세스 토큰}" \
  "https://sharelink.toss.im/openapi/products/today-deals"
```

***

## 응답

`partnerMallType`의 값과 처리 규칙은 [상품 카드 공통 필드](/developers/open-api/convention.md)의 **제휴몰 유형**을 확인해 주세요.

```json
{
  "resultType": "SUCCESS",
  "success": {
    "items": [
      {
        "rank": 1,
        "tacaItemId": 12345,
        "displayName": "상품명",
        "partnerMallType": "NONE",
        "thumbnailUrl": "https://.../thumb.jpg",
        "productUrl": "https://toss.shopping/t/9876",
        "displayPrice": 9900,
        "originalPrice": 29900,
        "discountRate": 66,
        "isSoldOut": false,
        "reviewScore": 4.8,
        "reviewCount": 1523,
        "categoryIds": [100, 101, 10125],
        "endAt": "2026-08-04T23:59:59+09:00"
      }
    ],
    "nextCursor": null,
    "hasNext": false
  }
}
```

### 필드

| 필드                        | 타입             | 설명                                                             |
| ------------------------- | -------------- | -------------------------------------------------------------- |
| `items`                   | array          | 하루특가 상품 목록                                                     |
| `items[].partnerMallType` | string         | 판매자 제휴몰 유형. 일반 셀러는 `NONE`, 오아시스는 `OASIS`. 모르는 값은 일반 셀러처럼 처리합니다 |
| `items[].endAt`           | string         | **특가 종료 시각** (ISO 8601, 한국 시간)                                 |
| `nextCursor`              | string \| null | 다음 페이지 커서. 다음 페이지가 없으면 `null`                                  |
| `hasNext`                 | boolean        | 다음 페이지 존재 여부                                                   |

`endAt`을 제외한 나머지 필드는 [상품 카드 공통 필드](/developers/open-api/convention.md)와 같습니다.

페이징 방법은 [커서 페이징](/developers/open-api/convention.md)을 참고해 주세요.

***

## 꼭 확인해 주세요

### 그날 편성에 따라 0건일 수 있습니다

하루특가는 매일 편성되는 상품이 달라집니다. **편성이 없는 날은 `items`가 빈 배열로 내려올 수 있으므로**, 0건인 경우에도 정상 동작하도록 처리해 주세요.

### 캐싱은 `endAt`을 넘기지 않도록 해주세요

응답을 저장해서 사용하신다면 각 상품의 `endAt`을 넘기지 않는 만료 시간을 설정해 주세요. 그렇지 않으면 이미 종료된 특가가 계속 노출되어, 이용자가 링크를 눌렀을 때 특가가 아닌 가격을 보게 됩니다.

`endAt`이 지난 상품은 서버 응답에서도 자동으로 제외되므로, 주기적으로 다시 조회하시면 목록이 최신 상태로 유지됩니다.

***

## 사용 팁

노출하실 상품이 정해지면, 각 상품의 `tacaItemId`로 [쉐어링크를 발급](/developers/open-api/api/link.md)받아 게시글에 넣어 주세요. 응답의 `productUrl`은 추적이 되지 않아 수익으로 집계되지 않습니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://sharelink-docs.toss.im/developers/open-api/api/today-deals.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
