Как отправить сообщение новому пользователю после того, как пользователь прокомментировал сообщение

Мне нужно отправить пользователю сообщение с приглашением после того, как пользователь прокомментирует сообщение на странице facebook.

Шаги следующие:

  1. Комментарии пользователей к посту
  2. Приложение получает уведомление о комментарии через webhook
  3. Получить psid из комментария
  4. Отправьте сообщение с приглашением на psid через мессенджер, используя

message_type = MESSAGE_TAG и тег = NON_PROMOTIONAL_SUBSCRIPTION

Вышеупомянутый поток работает, если пользователь когда-либо взаимодействовал со страницей через мессенджер.

Но если пользователь ранее не взаимодействовал со страницей через мессенджер, API отправки сообщения завершается сбоем с ответом ниже:

{"error":{"message":"(#551) Этот человек сейчас недоступен.","type":"OAuthException","code":551,"error_subcode":1545041,"fbtrace_id": "....."}}

Пробовал использовать некоторые другие приложения, такие как Many Chat. Это работает для новых пользователей в приведенном выше сценарии.

кто-нибудь знает, как решить эту проблему?

Тест выглядит следующим образом:


curl -X POST -d @test_message.json -H "Content-Type: application/json" 'https://graph.facebook.com/v3.3/me/messages?access_token=<page token>'

test_message.json:
{
  "messaging_type": "MESSAGE_TAG",
  "tag": "NON_PROMOTIONAL_SUBSCRIPTION",
  "recipient": {
    "id": "<psid of the user>"
  },
  "message": {
    "text": "This is a test"
  }
}

Ожидайте, что отправка сообщения прошла успешно.

Большое спасибо.


person Frank    schedule 06.07.2019    source источник


Ответы (1)


Разобрался. Следующий API следует использовать для отправки сообщения пользователю, который оставил комментарий в facebook:

https://developers.facebook.com/docs/graph-api/reference/v3.3/object/private_replies

person Frank    schedule 06.07.2019