web-dev-qa-db-ja.com

Android:WhatsAppで番号がオンラインかどうかをプログラムで確認する方法

WhatsAppで連絡先番号がオンラインであるかどうかをプログラムで確認するにはどうすればよいですか Android

Googleで検索したところ、入力した連絡先番号がオンラインになったときに通知を行う別のアプリケーションを見つけましたが、プログラムでそれを知り、アプリケーションに実装できるようにしたいと思います。

:-この種のアプリケーションが存在する場合、私の問題の解決策が必要です。

SOで別の質問を見つけましたが、答えは質問で尋ねられたものとはまったく関係がありませんでした。

そこで、そこに利用可能な api はありますか?または任意のインテントアクション?

6
user10767715

アカウントのオンラインステータスを知ることは、引き続きプライベート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"
      }
   ]
}
3
shadowsheep