Envoyer un message WhatsApp
Résumé
- Nom interne :
SendWhatsAppMessage - Catégorie : Automatisation d'app
- Objectif : Envoyer un message via l'app WhatsApp (automatise l'app elle-même - WhatsApp n'expose aucune API accessible pour un compte personnel).
- Type de tâche : Normale
Description
Cette tâche ouvre WhatsApp avec le destinataire et le message déjà pré-remplis, via le lien officiel "click to chat" de WhatsApp (https://api.whatsapp.com/send?phone=...&text=...), puis appuie sur le bouton Envoyer via le service d'accessibilité.
Le bouton Envoyer est recherché avec deux sélecteurs essayés dans l'ordre :
- Un
resourceIdtechnique (com.whatsapp:id/send) - indépendant de la langue. - Si ça échoue, le libellé localisé du bouton (
R.string.whatsapp_send_button_label, ex. "Send" / "Envoyer") résolu automatiquement par Android selon la langue système de l'appareil.
Avant toute tentative, la tâche vérifie que WhatsApp est bien installé et lève immédiatement PACKAGE-MANAGER-ERROR-001 si ce n'est pas le cas (plutôt que de planter sur l'intent).
Ceci automatise un compte personnel - ce n'est pas l'API officielle WhatsApp Business Platform. Envoyer trop vite ou trop souvent expose le numéro à un bannissement par Meta. Garder un débit d'envoi raisonnable pour une vraie campagne.
Paramètres d'entrée
| Paramètre | Type | Obligatoire | Description | Défaut |
|---|---|---|---|---|
SendWhatsAppMessage_msisdn |
String | Oui | Numéro du destinataire, format international sans + (ex. 21624444943) - supporte les références $variable |
"" |
SendWhatsAppMessage_message |
String | Oui | Corps du message à envoyer - supporte les références $variable |
"" |
Paramètres de sortie
Cette tâche ne produit aucune variable de sortie. Elle retourne VoidResult.
Exceptions
| Code | Nom de l'exception | Description |
|---|---|---|
PACKAGE-MANAGER-ERROR-001 |
Package introuvable | WhatsApp (com.whatsapp) n'est pas installé sur l'appareil. |
SCREEN-AUTOMATOR-ERROR-010 |
Service d'accessibilité non connecté | Le service d'accessibilité AndroMate n'est pas activé sur l'appareil. |
SCREEN-AUTOMATOR-ERROR-011 |
Action échouée | Le bouton Envoyer n'a pas pu être trouvé/cliqué (ni par resourceId ni par le libellé localisé) - généralement signe que l'UI de l'app a changé, ou que la langue de l'appareil n'est pas encore couverte par les traductions AndroMate. |