Facebook - Получить идентификатор потока беседы с идентификатором сообщения?
Когда я получаю событие "сообщение, полученное обратным вызовом" из API реального времени Facebook (webhooks), я хочу получать предыдущие сообщения в разговоре. Для этого мне нужен идентификатор потока беседы.
https://developers.facebook.com/docs/messenger-platform/webhook-reference/message?locale=en_US
Событие не содержит информации об идентификаторе потока беседы (t_id). Он содержит только идентификатор сообщения (середина).
https://developers.facebook.com/docs/graph-api/reference/v2.8/conversation
Есть ли способ получить идентификатор потока беседы?
Ответы
Ответ 1
Нет прямого способа сделать это. Вы можете использовать обходной путь ниже, чтобы зациклить идентификаторы разговора:
(a) Получить все идентификаторы разговора с идентификаторами отправителя https://graph.facebook.com/v3.0 / --PAGE-ID--/conversations?fields=senders
(б) поиск user_id отправителя сообщения. https://graph.facebook.com/v3.0 / --MESSAGE-ID--?fields=from
(c) перебрать идентификаторы диалога, чтобы найти совпадение для сообщения user_id и получить thread_id.
PS: это дорогое решение. Старайтесь избегать этого, если вам это действительно не нужно.
Ответ 2
Я думаю, что есть более простой способ сделать это. Вы можете использовать фильтр user_id для разговоров:
https://graph.facebook.com/v3.0 / --PAGE-ID--/conversations?fields=senders&user_id=
Смотрите раздел Параметры здесь: https://developers.facebook.com/docs/graph-api/reference/page/conversations/
Ответ 3
Вы можете получить прямо так: {идентификатор страницы}/разговор? Message_id = {идентификатор сообщения} из API графа Facebook