Envoyez des rappels WhatsApp récurrents avec l’API
Envoyez le même message WhatsApp selon un planning – loyer mensuel, emploi du temps hebdomadaire, point quotidien – depuis votre propre numéro. Créez le rappel une fois avec une expression cron et un fuseau horaire, et WbizTool met le message en file d’attente à chaque correspondance. Les rappels sont inclus dans tous les forfaits payants, à partir de 25 $ par mois aux États-Unis (votre prix figure sur la page Tarifs).
Les rappels nécessitent un forfait payant : à partir de 25 $ par mois aux États-Unis.
Comment ça marche
Obtenez votre clé API et reliez votre numéro
Reliez votre numéro WhatsApp sur la page Numéros WhatsApp avec un code QR ou un code de connexion, et créez une clé dans Paramètres → Clés API. Les rappels nécessitent un forfait payant (Lite, Standard, Advanced ou Enterprise).
Choisissez le planning
Écrivez-le sous forme d’expression cron à cinq champs :
0 10 1 * *correspond à 10 h le 1er de chaque mois,0 9 * * 1-5à 9 h en semaine. Ajoutez un fuseau horaire IANA commeAsia/Kolkata.Créez le rappel
Faites un POST vers
/api/v1/reminder/create/avecreminder_name,phone,message,cron_expressionettimezone. Conservez lereminder_idde la réponse.Listez-le ou annulez-le plus tard
/api/v1/reminder/list/renvoie vos rappels, 50 par page./api/v1/reminder/cancel/avec lereminder_iden arrête un définitivement – par exemple quand le client paie.
Exemples de code API de rappels
curl -X POST https://wbiztool.com/api/v1/reminder/create/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"reminder_name": "Monthly rent reminder",
"phone": "919876543210",
"message": "Hi Aman, a reminder that your rent is due on {current_date_formatted}.",
"cron_expression": "0 10 1 * *",
"timezone": "Asia/Kolkata"
}'import requests
response = requests.post(
"https://wbiztool.com/api/v1/reminder/create/",
json={
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"reminder_name": "Monthly rent reminder",
"phone": "919876543210",
"message": "Hi Aman, a reminder that your rent is due on {current_date_formatted}.",
"cron_expression": "0 10 1 * *",
"timezone": "Asia/Kolkata",
},
timeout=60,
)
try:
result = response.json() # read the body even when the HTTP code is 400
except ValueError:
raise SystemExit(f"HTTP {response.status_code}: not JSON. Send every text value as a string.")
if result["status"] == 1:
print("Reminder created with reminder_id", result["reminder_id"])
else:
print("Failed:", result["message"])import requests
response = requests.post(
"https://wbiztool.com/api/v1/reminder/create/",
json={
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"reminder_name": "Weekly class timetable",
"phone": "919876543210",
"msg_type": 1,
"img_url": "https://example.com/timetable.png",
"message": "Here is this week's timetable.",
"cron_expression": "0 8 * * 1",
"timezone": "Asia/Kolkata",
},
timeout=60,
)
print(response.status_code, response.text)curl -X POST https://wbiztool.com/api/v1/reminder/list/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"page": 1
}'curl -X POST https://wbiztool.com/api/v1/reminder/cancel/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"reminder_id": "3187"
}'Ce que vous pouvez faire
Tous les plannings que cron sait exprimer
Tous les jours à 9 h (
0 9 * * *), chaque lundi (0 9 * * 1), deux fois par jour (0 9,18 * * *), le 15 de chaque mois (0 10 15 * *) ou toutes les 6 heures (0 */6 * * *).Des dates remplies pour vous
Des variables comme
{current_date_formatted},{current_time_12h}et{reminder_name}sont remplacées à chaque exécution du rappel, dans son propre fuseau horaire.Images et fichiers
msg_type1 envoie une image depuisimg_url. Pour un fichier, utilisezmsg_type2 avec l’URL publique du fichier dansimg_urlet son nom dansfile_name.Visibles dans votre tableau de bord
Les rappels créés via l’API apparaissent aussi sur la page Rappels, où vous pouvez les mettre en pause ou les modifier. Cette page permet aussi d’importer de nombreux rappels depuis un fichier CSV ou Excel.
Envoi depuis le numéro de votre choix
Indiquez
whatsapp_clientpour choisir le numéro. Sans lui, chaque exécution utilise un numéro connecté à ce moment-là.
Bon à savoir
- Les rappels nécessitent un forfait payant. Avec l’essai gratuit, l’API répond
Upgrade your plan to use reminders feature. - Utilisez des noms de fuseaux horaires IANA comme
Asia/KolkataouAmerica/Chicago. Les abréviations commeISTouCSTsont refusées avecInvalid timezone; sans fuseau horaire, le planning suit l’heure UTC. phoneprend le numéro avec son indicatif pays, comme 919876543210 – cet endpoint n’a pas de champcountry_code.- L’API n’a pas d’appel de modification ni de pause. Pour changer un planning, annulez le rappel et créez-en un nouveau ; pour le mettre en pause, utilisez la page Rappels.
- Les rappels sont vérifiés périodiquement, pas à la seconde près : un envoi peut partir jusqu’à 10 minutes après son heure ; si une vérification arrive plus tard que cela, l’envoi est sauté. Chaque envoi compte dans les 1 000 messages par jour du numéro.
- Dans la liste des rappels,
next_runest calculé comme si le fuseau horaire du rappel était UTC. Consultez la page Rappels pour connaître la bonne heure du prochain envoi. - Si un champ texte comme
phone,messageoureminder_nameest envoyé sous forme de nombre, detrueou denull, la réponse est une page d’erreur HTML (HTTP 500) : envoyez donc les valeurs texte sous forme de chaînes et gérez un corps qui n’est pas du JSON, comme le fait l’exemple Python. - Si le numéro
whatsapp_clientest déconnecté quand vous créez le rappel, l’API le refuse avecWhatsApp Logged Out. Please Reconnect!! - Les messages partent de votre propre numéro WhatsApp, donc les règles de WhatsApp s’appliquent : écrivez aux personnes qui s’attendent à avoir de vos nouvelles.
Questions fréquentes
- Quelle différence entre un rappel et un message planifié ?
- Un message planifié (
/api/v1/schedule_msg/) part une seule fois, à la date et à l’heure indiquées. Un rappel se répète selon son planning cron jusqu’à ce que vous l’annuliez. - Comment arrêter un rappel quand le client paie ?
- Appelez
/api/v1/reminder/cancel/avec sonreminder_id. Il s’arrête immédiatement et ne sera plus exécuté. Un message qu’il avait déjà mis en file d’attente avant l’annulation peut encore partir. - Puis-je mettre en pause ou modifier un rappel via l’API ?
- Pas encore. Mettez-le en pause ou modifiez-le sur la page Rappels de votre tableau de bord, ou annulez-le et créez-en un nouveau avec le nouveau planning.
- Un rappel peut-il envoyer un PDF ?
- Oui. Utilisez
msg_type2, mettez l’URL publique du fichier dansimg_urlet son nom avec l’extension (commeinvoice.pdf) dansfile_name. Le fichier est téléchargé à chaque exécution du rappel : gardez donc le lien actif. - Quels forfaits incluent les rappels ?
- Tous les forfaits payants : Lite (1 numéro), Standard (3 numéros) et Advanced (10 numéros) – 25 $, 59 $ et 149 $ par mois aux États-Unis ; la page Tarifs affiche le prix de votre pays. Tous envoient des messages illimités dans le cadre d’un usage raisonnable. L’essai gratuit n’inclut pas les rappels.
Lire les guides
- API de création de rappel
- API de liste des rappels
- API d’annulation de rappel
- Les rappels dans le tableau de bord
- Forfaits et facturation
- Clés API et Client ID
Voir aussi
- Rappels de paiementRappels de paiement mensuels ou ponctuels depuis votre numéro, avec la facture en PDF.
- Rappels de rendez-vousRappelez chaque rendez-vous à vos clients, depuis un fichier de réservations, votre logiciel de réservation ou un planning hebdomadaire.
- PythonEnvoyez des messages WhatsApp depuis Python avec le client officiel ou simplement requests.
- cURLEnvoyez, planifiez et suivez des messages WhatsApp avec une seule commande cURL.
Envoyez votre premier message WhatsApp automatisé dès aujourd'hui
Créez un compte, scannez le QR code et envoyez un message en moins de cinq minutes.
Essai gratuitForfaits payants à partir de 25 $ par mois aux États-Unis. Tarifs
