-
Notifications
You must be signed in to change notification settings - Fork 0
Структура ответа
Poloz Alexey edited this page Dec 21, 2018
·
5 revisions
<Root>
<Item>
<ID>IkLgI550LAc</ID>
<Header>Лига наций. Обзор матчей от 15.10.2018</Header>
<Body>Статистика турнира: https://news.sportbox.ru/Vid .....</Body>
<Username>Матч ТВ</Username>
<Userlink>UCtetJiD_llxdGL4Uh5-Oe2w</Userlink>
<Hashtags>
<Tag>#Football</Tag>
<Tag>#Sport</Tag>
<Tag>#BreakingNews</Tag>
</Hashtags>
<Date>1539561600</Date>
<Keyword>#sport</Keyword>
<Details>
<Emotions>
<Likes>203</Like>
<Dislike>89</Dislike>
</Emotions>
<Reposted></Reposted>
<UsersReposted>
<Userlink></Userlink>
<Userlink></Userlink>
</UsersReposted>
<Comments></Comment>
</Details>
</Item>
</Root>
{
"id": "IkLgI550LAc",
"head": "Лига наций. Обзор матчей от 15.10.2018",
"body": "",
// Автор поста в источнике
"author": {
"id": 48197213,
"login": "matchtv",
"name": "Матч ТВ",
"link": "UCtetJiD_llxdGL4Uh5-Oe2w",
},
// Источник
"source": {
"type": ..., // Канал, группа, чат, бот, личные сообщения
"id": 53993345,
"login": "matchtv",
"name": "Матч ТВ",
"link": "UCtetJiD_llxdGL4Uh5-Oe2w",
},
"hashtags": [
"Football",
"Sport",
],
"keyword": "#sport",
"time": 1539561600.00,
"reactions": {
"likes": {
"count": 12,
"all": [
{
"user": 2415321,
"time": 325673356.00,
}, {
"user": 3452463,
"time": 643543536.00,
},
...
]
},
// Другие реакции, обозначающиеся смайликами
"fire": {
"count": 8,
"all": [
...
]
},
"reposts": {
"count": 2,
"all": [
...
]
},
"comments": {
"count": 3,
"all": [
// комментарии
]
}
}
}
Обоснование:
- Вынесение информации о пользователе в подструктуру, чтобы не засорять общее пространство (тем более, что в зависимости от сети - набор полей будет отличаться)
- Разделение автора и источника (Users -> Author & Source). Для унификации, так как во многих сетях в одном паблике могут постить множество пользователей.
- Details -> Reactions: Так как любое взаимодействие является реакцией / эмоцией и в разных сетях они имеют разный набор и функционал, то можно создать общий формат, где перечислены лайки, дизлайки, реакции, репосты, комментарии, просмотры, ... Каждый элемент имеет количество (на случай если сеть не предоставляет список людей на соответствующую реакцию) и перечисление с содержанием (кто, в какое время, содержимое - если комментарий).
- Время в float формате (в некоторых каналах помогает отслеживать копирование постов с помощью ботов)
- Перечисление тегов без #, излишняя информация, также по ним осуществляется поиск, не всегда теги обозначаются с #