web-dev-qa-db-fra.com

Android: comment vérifier par programme si un numéro est en ligne sur WhatsApp?

Comment puis-je vérifier par programme si un numéro de contact est en ligne sur WhatsApp ou non Android ?

J'ai cherché sur Google, je viens de trouver une autre application, qui donne une notification lorsque le numéro de contact entré est en ligne, mais je veux le savoir par programme afin de pouvoir l'implémenter dans mon application.

Remarque : - Si ce type d'application existe, alors il doit y avoir une solution à mon problème.

J'ai trouvé une autre question sur SO mais la réponse était totalement sans rapport avec ce qui était demandé dans la question et pourtant, cette réponse a 4 votes positifs et est acceptée par OP, je ne sais pas comment?

Alors, y a-t-il api disponible là-bas? Ou toute action d'intention?

6
user10767715

Connaître l'état en ligne d'un compte est toujours une API privée. Vous ne pouviez donc pas le faire de manière "légale".

Mais bien sûr, WhatsApp et les autres applications que vous mentionnez le font. Ils savent donc comment procéder.

Vous devez les inverser si vous voulez savoir comment ils font ce que vous demandez.

Ce que vous pouvez faire, c'est de savoir si un numéro est un utilisateur WhatsApp valide ou non.

Selon la documentation, vous devez avoir votre Facebook WhatsApp Buisiness API :

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

WhatsApp est un moyen rapide, sécurisé et fiable pour les entreprises d'atteindre leurs clients partout dans le monde. Ce guide décrit comment les entreprises peuvent utiliser l'API WhatsApp Business pour interagir avec leurs clients.

Cette version de l'API WhatsApp Business utilise une architecture d'API REST avec les formats de données JSON. L'API suit l'échange de requête-réponse HTTP standard.

Une fois que vous avez un compte professionnel valide, vous pouvez alors interroger le nœud Contacts ( Contacts )

Utilisez le nœud de contacts aux fins suivantes:

Pour vérifier qu'un numéro de téléphone dans votre base de données appartient à un compte WhatsApp valide. Vous devez vous assurer que l'état est valide avant de pouvoir envoyer un message à un utilisateur. Pour obtenir l'ID WhatsApp d'un numéro de téléphone. Les identifiants WhatsApp sont nécessaires pour envoyer des messages, utiliser des notifications et travailler avec des groupes.

De doc faisant une POST comme ça:

POST /v1/contacts

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

Vous pouvez obtenir ces informations:

Réponse Après avoir envoyé la demande de vérification des contacts, vous recevrez une réponse avec l'état actuel des numéros demandés. Les contacts nouveaux auront généralement un statut de traitement car l'application détermine de manière asynchrone si les numéros appartiennent à un compte WhatsApp valide.

Si vous utilisez l'option "blocage": "attendre" dans la demande, la réponse est désormais synchrone, de sorte que la réponse n'est générée qu'une fois que l'état de tous les numéros a été déterminé. Cela implique que la demande mettra plus de temps à retourner s'il y a de nouveaux contacts, mais vous ne verrez pas la valeur de "traitement" renvoyée. L'exemple de code ci-dessous illustre ce comportement.

{
   "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