---
# System prepended metadata

title: CMS ReTag

---

# CMS ReTag

## 取得 re tag 列表
- `取得re tag列表`
- [GET]/v2/tag  
    - query string
        - tag-type: `business-type` `recommend`
        - country-code: `TW`
        - page
        - size
        - start
        - end
        - keyword
        - status
            * none = -1
            * expired = 1
            * processing = 2
            * waitingForShow = 3

## 取得 re tag 明細

- `取得re tag明細`
- [GET]/v2/tag/:id 

## 新增 re tag
- `新增 re tag`
- [POST] /v2/tag 
    - body
```typescript=
export interface CreateReTagParameter {
  reTagTypeId: string
  name: string
  level?: number
  isAlways: boolean
  dateStart?: Date
  dateEnd?: Date
  enabled: boolean
  countryCode: string
  sort: number
}
```
## 異動 re tag
- `異動 re tag`
- [PUT] /v2/tag/:id 
    - body
```typescript=
export interface UpdateReTagParameter {
  reTagTypeId?: string
  name?: string
  level?: number
  isAlways?: boolean
  dateStart?: Date
  dateEnd?: Date
  enabled?: boolean
  countryCode?: string
  sort?: number
}
```


## 新增 re store tag
- `新增 re store tag`
- [POST] /v2/tag/:id/store 
    - body
```typescript=
    export interface CreateReStoreTagParameter {
  reStoreId: string
  reTagId: string
  isAlways: boolean
  dateStart?: Date
  dateEnd?: Date
  sort: number
}
```

## 取得 re tag type
- `取得 re tag type`
- [GET] /v2/tag-type 

## 修改 re_tag 下店家順序
- [PUT] /v2/tag/:id/batch-stores-sort `修改tag下店家順序`
```typescript=
export interface BatchUpdateReStoreTagSortParameter {
  reStoreIds: string[]
}
```


## 取得 re tag 下店家
- `取得 re tag 下店家`
- [GET]/v2/tag/:id/store 



## 刪除 re tag 下店家
- `刪除 re tag 下店家`
- [DELETE]/v2/tag/:id/store/:reStoreTagId



## 依照店家縣市區分數量
- [GET] /v2/tag/:id/store/group-by-city

-----

# CMS Page
## 取得列表
- [GET] /v1/page/home?page=1&size=10&country-code


## 取得單一資料
- [GET] /v1/page/home/:id


## 新增 HomePage
- [POST] /v1/page/home

- Request Body
```typescript=

interface CreatePageParameter {
  dateStart: Date
  dateEnd: Date
  countryCode: string
  recommendStoresByCity?: {
    title?: TextBox,
    subTitle?: TextBox,
    leading?: SvgBox
    tag: Tag
    mainItemStyle: MainItemStyle
  },
  storesByMainBusinessTypeCity?: {
    title?: TextBox,
    subTitle?: TextBox
    leading?: SvgBox
    tag: Tag,
    subTags: Tag[]
    mainItemStyle: MainItemStyle
  },
  couponStores?: {
    title?: TextBox
    subTitle?: TextBox
    leading?: SvgBox
    mainItemStyle: MainItemStyle
  },
  cityWithCubeItems?: {
    displayQuantity: number,
    leading?: SvgBox
    title?: TextBox
    subTitle?: TextBox
    cityWithMainItems: CityWithMainItem[]
  },
  tagWithCubeItems?: {
    displayQuantity: number,
    leading?: SvgBox
    title?: TextBox
    subTitle?: TextBox
    tagWithMainItems: TagWithMainItem[]
  }
}

export interface MainItemStyle {
  titleColor?: string              // 項目標題顏色
  bottomBackgroundColor?: string   // 圖片中區塊背景顏色
  bottomColor?: string             // 圖片中區塊字體顏色
  bottomAlign?: "left" | "right"   // 圖片中區塊對齊方式
  subTitleColor?: string           // 項目副標顏色
  bottomSuffixBoxColor?: string   //  圖片說明後綴字顏色
  subItemColor?: string           //  第二區塊字體顏色 (EX 日式 中式 小吃 ...)
  prefixBoxTextColor?: string     //  Title 項目標題前區塊字體顏色 (折價卷的日期區間)
}


export interface TextBox {
  text: string
  color: string
}

export interface Tag {
  id: string
  name: string
}

export interface CityWithMainItem {
  city: string,
  placeId: string
  backgroundColor?: string,
  backgroundUrl?: string
  title: TextBox
}

export interface TagWithMainItem {
  tag: Tag
  backgroundColor?: string
  backgroundUrl?: string
  title: TextBox
}
export interface SvgBox {
  svgString: string
  width: number
  height: number
}

  
```


## 更新 HomePage
- [PUT] /v1/page/home/:id
- body 同 `createParameter`


## 刪除 HomePage 
- [DELETE] /v1/page/home/:id















----

# CMS Place
## 取得縣市
- [GET] /v1/place/city
- query string
    - country-code

## 取得縣市別名
- [GET] /v1/place/alias
- query string
    - keyword
    - page
    - size
    - city
    - region
    - country-code
    - type
        - 1 = 景點
        - 2 = 縣市
        - 3 = 區域