Facebook Messenger API - 如何从页面取消订阅用户?

时间:2018-01-13 09:25:06

标签: facebook-graph-api facebook-chatbot

有没有办法以编程方式取消订阅Facebook用户,因此他在我的Facebook页面上没有收到来自机器人的任何消息?

我可以在我的数据库中将他标记为取消订阅,以便我的程序可以检查并通过发送API不向他发送消息,但他仍然会收到通过Broadcasts API发送的广播。

1 个答案:

答案 0 :(得分:1)

看起来您可以使用数据库和SendAPI取消订阅用户,但不能对广播API执行相同的操作。为了使用户不接收特定的广播,您需要使用FB的目标广播API从用户的PSID中删除广播标签

例如,如果您的广播与标签“MY_BROADCAST_LABEL_123”相关联,则您需要:

  1. 将所有已订阅的用户'的PSID与此广播标签相关联
  2. 删除与您所有未订阅用户'的PSID相关联的标签
  3. 然后,只需在发送广播消息时在请求有效负载的custom_label_id属性中包含标签“MYBROADCAST_LABEL_123”,如下所示:

    {    
        "message_creative_id": <YOUR_BROADCAST_MESSAGE_ID_HERE>,
        "custom_label_id": "MY_BROADCAST_LABEL_123"
    }
    

    要完成上述所有操作,您应该查看Targeting Broadcast Messages的FB文档,了解所需的所有实现详细信息。确保您至少使用Graph API v2.11。