Вы можете подписаться на получение уведомлений обо всех новых комментариях на площадке.

Комментарии из закрытых и платных подсайтов будут приходить анонимизированными или (в некоторых случаях) не будут приходить вообще.

Как работают вебхуки

Вы можете предоставить 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 следующим образом: