Вы можете подписаться на получение уведомлений обо всех новых комментариях на площадке.
Комментарии из закрытых и платных подсайтов будут приходить анонимизированными или (в некоторых случаях) не будут приходить вообще.
Вы можете предоставить URL, на который Основа будет отправлять новые комментарии.
Тип запроса: POST
Тайм-аут: 1 секунда
Данные отправляются в теле запроса в виде JSON-структуры
Если ваш сервер будет регулярно отвечать кодом, отличным от 200 или не будет отвечать вообще в течение длительного времени, вебхук будет отключён. Позднее вы сможете включить его обратно, отправив запрос на подключение заново.
Вебхуки на сервисы вроде https://requestbin.fullcontact.com/ могут отключаться автоматически через какое-то время.
Для тестирования вебхуков вы можете воспользоваться сервисом RequestBin. Для этого перейдите по ссылке и создайте новый bin. Вы получите URL вроде http://requestbin.fullcontact.com/1d9hrbq1
.
После окончания тестирования вместо этого URL вы должны будете использовать URL своего сервера.
Пример запроса для TJ:
curl --request POST \\
--url [<https://api.tjournal.ru/v1.8/webhooks/add>](<https://api.dtf.osnova.io/v1.5/webhooks/add>) \\
--header 'X-Device-Token: yourtoken' \\
--form 'url=http://requestbin.fullcontact.com/1d9hrbq1?token=anystring' \\
--form 'event=new_comment'
В параметре url
передаётся URL вашего сервера, а в параметре event
тип события, на которое вы подписываетесь. В данный момент доступен только тип new_comment
.
С одного аккаунта можно создать только один вебхук одного типа.
Мы также рекомендуем добавлять к URL любой GET-параметр (в примере это token=anystring
), который вы сможете проверить на своей стороне при получении запроса от Основы чтобы быть уверенным, что это настоящий запрос.
Вебхук о новом комментарии придёт в таком виде:
{
"type":"new_comment",
"data":{
"id":2102075,
"url":"https:\\/\\/tjournal.ru\\/art\\/84125-na-noch-glyadya?comment=2102075",
"text":"Это обычный комментарий с видео и картинкой.\\nВ нём две строки",
"media":[
{
"type":"image",
"data":{
"uuid":"e747973b-df54-4f85-6635-865efd4019a7",
"width":4000,
"height":2330,
"size":545223,
"type":"jpg",
"color":"f8b63c",
"external_service":[
]
}
},
{
"type":"video",
"data":{
"thumbnail":{
"type":"image",
"data":{
"uuid":"7bcdbc30-592d-b982-2639-3f0b2fbe7732",
"width":1280,
"height":720,
"size":126600,
"type":"jpg",
"color":"5c412e",
"external_service":[
]
}
},
"width":800,
"height":450,
"time":0,
"external_service":{
"name":"youtube",
"id":"dQw4w9WgXcQ"
}
}
}
],
"creator":{
"id":1,
"avatar":"https:\\/\\/leonardo.osnova.io\\/d49d71ab-f78a-db1d-b4c4-0c72b8fcda0e\\/",
"name":"Ilya Chekalsky",
"url":"https:\\/\\/tjournal.ru\\/u\\/1-ilya-chekalsky"
},
"content":{
"id":84125,
"title":"На ночь глядя",
"url":"https:\\/\\/tjournal.ru\\/art\\/84125-na-noch-glyadya",
"owner":{
"id":214363,
"name":"Арт и дизайн",
"avatar":"https:\\/\\/leonardo.osnova.io\\/357dedc0-c17e-2e05-e568-b7c383257091\\/",
"url":"https:\\/\\/tjournal.ru\\/art"
}
},
"reply_to":null
}
}
Обратите внимание на поле media
. Внутри него могут быть разные типы медиа, в будущем здесь появится каталог возможных значений. В любом случае вы можете использовать поле uuid
следующим образом: