Я пытаюсь создать небольшой инструмент Python для соединения нашего программного обеспечения Helpdesk (Helpscout) со страницей нашей компании в Facebook, чтобы иметь возможность получать и отвечать на сообщения от клиентов непосредственно из Helpscout.
Я использую конечную точку беседы, чтобы перехватить всю непрочитанную беседу:
conversations = api.get_object('[page_id]/conversations?fields=messages.limit(20){message,from},name, unread_count,message_count')
Проблема в том, что после прочтения сообщений счетчик непрочитанных сообщений остается неизменным до тех пор, пока мы не откроем эти сообщения непосредственно на странице Facebook. Потратил много времени, чтобы найти решение, но, видимо, нет возможности сбросить счетчик или обработать его каким-либо другим способом.
В качестве обходного пути я в настоящее время использую общее количество сообщений и сравниваю его каждый раз, когда проверяю новое сообщение, чтобы загрузить только новые. Это работает нормально, но есть проблема, что все сообщения остаются непрочитанными на странице Facebook и будут снова загружаться при каждом вызове API, пока мы не нажмем на них вручную.
Подумал об использовании Selenium, чтобы просто выполнять эту работу 1 раз в день и чистить почтовый ящик, но на самом деле это не нравится. Есть идеи, как это решить? Может быть, я пропустил какую-то функцию API, которая может помочь?
Я использую Send API для отправки сообщений обратно нашему клиенту, но также не смог найти какой-либо вариант, чтобы каким-либо образом обновить диалог:
data = {"recipient": {"id": "xxxxx"}, "message": {"text": message}}
response = requests.post('https://graph.facebook.com/v3.2/me/messages?access_token=xxxx', headers=headers, data=json.dumps(data))
Может быть, можно переместить беседу из обычной папки «Входящие» в папку «Готово», которая могла бы ее решить?