POST graph.user.subscribe ✎ Дополнить на GitHub

Подписка на получение сообщений о событиях в чатах на Webhook

При подписке на все Webhook из списка подписанных приходят сообщения о событиях в чате.

В качестве сообщений выступают данные о следующих событиях: * изменение состояния чата (изменение названия, иконки чата); * новое сообщение в чате (только сообщения, написанные не владельцем чата, который подписан на Webhook); * действия над участниками чата (добавление нового участника, выход участника из чата)

Сообщения в чате могут содержать приложения (изображение, видео, аудиозапись, share ссылки), это также отображается в сообщении, приходящем на Webhook.

https://api.ok.ru/graph/me/subscribe?access_token=tkn18YdUJZe:CQABPOJKAKEKEKEKE

Пример POST-payload

{
  "url": "http://sample.com/webhook.php"
}

На зарегистрированные Webhook URL’ы будут отправляться уведомления о входящих сообщениях методом POST в формате JSON.

На каждый такой запрос скрипт должен в течение максимум 5 секунд вернуть HTTP ответ со статусом 200 OK. Если отправка уведомления не удалась, или если скрипт вернул ответ со статусом, отличным от 200, через некоторое время будет предпринята попытка повторной отправки уведомления. Если в течение 8 часов от скрипта не было получено положительного ответа, регистрация указанного Webhook может быть автоматически отменена.

Ответ

{
  "success": true       /* Индикатор того, что подписка произошла успешно */
}

Примеры сообщений

При появлении нового события в чате / диалоге на зарегистрированный Webhook приходит сообщение с информацией об этом событии.

Сообщения аналогичны тем, которые можно получить при вызове метода /me/messages.

Новое сообщение (без приложения):

{
  "sender": {
    "user_id": "user:123456789012"
  },
  "recipient": {
    "chat_id": "chat:C3ecb9d02a600"
  },
  "message": {
    "text": "text",
    "seq": 98211023614189660,
    "mid": "mid:C3ecb9d02a600.15cea67d78d2059"
  },
  "timestamp": 1498581292941
}

Новое сообщение (с приложением):

{
  "sender": {
    "user_id": "user:123456789012"
  },
  "recipient": {
    "chat_id": "chat:C3ecb9d02a600"
  },
  "message": {
    "text": "https://ya.ru/",
    "seq": 98211018056672380,
    "attachments": [
      {
        "type": "SHARE",
        "payload": {
          "url": "https://ya.ru/"
        }
      }
    ],
    "mid": "mid:C3ecb9d02a600.15cea668c4c2481"
  },
  "timestamp": 1498581208140
}