Android:如何以编程方式检查WhatsApp上的电话号码是否在线?

时间:2018-12-09 18:38:06

标签: android api whatsapp

如何以编程方式检查WhatsApp上的联系电话是否在线?上没有联系电话?

我在Google上进行搜索,我刚刚找到了另一个应用程序,当输入的联系电话在线时会发出通知,但是我想通过编程方式知道这一点,以便可以在我的应用程序中实现。

注意:-如果存在这种应用程序,那么必须解决我的问题。

我在SO上发现了另一个问题,但答案与问题中所问的内容完全无关,仍然有4个投票,并且被OP接受,我不知道如何?

那么,那里有可用吗?还是任何Intent操作?

1 个答案:

答案 0 :(得分:3)

知道帐户在线状态仍然是私有API。因此,您不能以“合法”方式进行操作。

但是,当然,WhatsApp和您提到的其他应用程序都可以做到这一点。所以他们知道该怎么做。

如果您想知道它们如何完成您要的工作,就必须对它们进行反向工程。

您所能做的就是知道号码是否是有效的WhatsApp用户。

根据文档,您必须拥有Facebook WhatsApp Buisiness API

https://developers.facebook.com/docs/whatsapp/api/reference/

  

WhatsApp是企业快速,安全和可靠的联系方式   他们的客户遍布世界各地。本指南介绍了   企业可以使用WhatsApp Business API与他们的互动   客户。

     

此版本的WhatsApp Business API使用REST API架构   JSON数据格式。 API遵循标准的HTTP   请求-响应交换。

拥有有效的企业帐户后,您就可以查询ContactsContacts)节点

  

将联系人节点用于以下目的:

     

要验证数据库中的电话号码是否属于有效号码   WhatsApp帐户。您必须先确保状态有效,然后才能   向用户发送消息。获取电话号码的WhatsApp ID。 WhatsApp的   发送消息,使用通知和使用时需要ID   组。

从文档中发出这样的POST请求:

POST /v1/contacts

{
   "blocking": "wait",
   "contacts": [
      "16315551003",
      "1-631-555-1002",
      "+54 9 11 5612-1008",
      "+1 (516) 283-7151"
   ] 
}

您可以获得以下信息:

  

响应发送请求以检查联系人后,您将收到   带有所请求号码当前状态的响应。联络人   新的通常会处于处理状态,因为   应用程序异步确定数字是否属于有效数字   WhatsApp帐户。

     

如果在请求中使用“ blocking”:“ wait”选项,则响应   现在是同步的,因此仅在状态为   所有的数字已经确定。这意味着   如果有新联系人,请求将需要较长时间才能返回,   但您不会看到返回的“处理”值。示例代码   下面演示了这种行为。

{
   "contacts": [
      {
         "input": "1-631-555-1002",
         "status": "invalid"
      },
      {
         "input": "6315551003",
         "status": "valid"
         "wa_id": "16315551003"
      },
      {
         "input": "+54 9 11 5612-1008",
         "status": "invalid"
      },
      {
         "input": "+1 (516) 283-7151",
         "status": "valid"
         "wa_id": "15162837151"
      }
   ]
}