# site_v4.proto

## SiteV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | campaign | SiteContentV4Proto | 1 |
| optional | rankingPlaylist | SiteRankingPlaylistsV4Proto | 2 |
| optional | rankingPlaylist100 | SiteRankingPlaylist100V4Proto | 3 |
| optional | rankingGenre | SiteRankingGenresV4Proto | 4 |
| optional | rankingPlaylister | SiteRankingPlaylisterV4Proto | 5 |
| optional | recommendToday | SiteRecommendTodayV4Proto | 6 |
| optional | recommendEditor | SiteRecommendEditorV4Proto | 7 |
| optional | recommendWeekly | SiteRecommendWeeklyV4Proto | 8 |
| optional | featuredAttention | SiteFeaturedAttentionV4Proto | 9 |
| optional | featuredBackNumber | SiteFeaturedBackNumberV4Proto | 10 |
| optional | officialPlaylisterPopular | SiteOfficialPlaylisterPopularV4Proto | 11 |
| optional | officialPlaylisterRecommend | SiteOfficialPlaylisterRecommendV4Proto | 12 |
| optional | officialPlaylisterLatest | SiteOfficialPlaylisterLatestV4Proto | 13 |
| optional | newMusicAttention | SiteNewMusicsAttentionV4Proto | 14 |
| optional | newMusicPlaylist | SiteNewMusicsPlaylistsV4Proto | 15 |
| optional | newMusicAlbum | SiteNewMusicsAlbumsV4Proto | 16 |
| optional | genre | SiteGenreMoodV4Proto | 17 |
| optional | mood | SiteGenreMoodV4Proto | 18 |
| optional | discovery | SiteDiscoveryV4Proto | 19 |
| optional | dataSet | DataSetProto | 20 |
| optional | newMusicImageVersion | SiteImageVersionProto | 21 |
| optional | featuredImageVersion | SiteImageVersionProto | 22 |
| optional | officialPlaylisterImageVersion | SiteImageVersionProto | 23 |
| optional | genreImageVersions | SiteImageVersionsProto | 24 |
| optional | moodImageVersions | SiteImageVersionsProto | 25 |
| optional | musicChartImageVersion | SiteImageVersionProto | 26 |
| optional | playlisterChartImageVersion | SiteImageVersionProto | 27 |


## SitePlaylistV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |


## SiteContentV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteImageVersionProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | version | int64 | 2 |


## SiteImageVersionsProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | versions | SiteImageVersionProto | 2 |


## SiteUserRankingProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | arrow | Arrow | 3 |
| optional | isOfficial | bool | 4 |
| optional | stat | UserStatProto | 5 |

### Arrow

| name | number |
| ---- | ---- |
| UNKNOWN | 0 |
| UP | 1 |
| DOWN | 2 |
| STAY | 3 |
| NEW | 4 |

## SiteDiscoveryV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | PlaylistProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


### PlaylistProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | reason | ReasonProto | 2 |


#### ReasonProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | type | string | 1 |
| optional | id | string | 2 |
| optional | ja | TextProto | 3 |
| optional | en | TextProto | 4 |
| optional | deepLink | string | 5 |


##### TextProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | text | string | 1 |
| optional | prefix | string | 2 |
| optional | suffix | string | 3 |


## SiteRankingPlaylistsV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteRankingPlaylist100V4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteRankingGenresV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteRankingPlaylisterV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | users | UserProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


### UserProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | users | SiteUserRankingProto | 2 |
| optional | loadedAt | int64 | 15 |


## SiteGenreMoodV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | officials | SiteContentV4Proto | 2 |
| repeated | populars | SiteContentV4Proto | 3 |
| repeated | albums | AlbumsProto | 4 |
| repeated | essentials | SiteContentV4Proto | 5 |
| repeated | playlisters | UsersProto | 6 |
| repeated | stations | StationsProto | 7 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


### UsersProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | users | SiteUserRankingProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


### AlbumsProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | albums | AlbumProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


#### AlbumProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |


### StationsProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | stations | StationProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteRecommendTodayV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteRecommendEditorV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteRecommendWeeklyV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | contents | PlaylistProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


### PlaylistProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | displayDate | string | 2 |
| repeated | playlists | SitePlaylistV4Proto | 3 |


## SiteNewMusicsAttentionV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | captions | ContentCaptionProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteNewMusicsPlaylistsV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteNewMusicsAlbumsV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | albums | AlbumProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


### AlbumProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |


## SiteOfficialPlaylisterPopularV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | users | UserProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


### UserProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | users | SiteUserRankingProto | 2 |
| optional | loadedAt | int64 | 15 |


## SiteOfficialPlaylisterRecommendV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteOfficialPlaylisterLatestV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | playlists | SitePlaylistV4Proto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteFeaturedAttentionV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | package | PlaylistPackageProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


## SiteFeaturedBackNumberV4Proto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | packages | PlaylistPackageProto | 2 |
| optional | updatedAt | int64 | 14 |
| optional | cachedAt | int64 | 15 |


