Guide de configuration
📱 Termux + Cron
Recommandé
Script Python cron sur votre téléphone Android.
Aucun compte, aucune app tierce.
Nécessite Termux + Termux:API (F-Droid) et le provider
android_queue
dans les réglages.
-
1Installer Termux et Termux:API depuis F-Droid (pas depuis le Play Store — version Play Store obsolète). Ouvrir Termux:API au moins une fois après installation.
-
2Dans Termux, lancer la commande d'installation en une seule fois :Pour multi-SIM, ajouter
curl -fsSL "https://cabinet.goubs.net/api/cabinet/termux/bootstrap" \ -H "X-Api-Key: f98c4ab1f592ace88df49b040b1946131846683744938a612f82e9869a4d9c5b" | bash?sim=0ou?sim=1à l'URL. -
3Le script installe automatiquement :
python,cronie,termux-api, configure le cron toutes les 10 min et gère le redémarrage Android via Termux:Boot. Installer l'app Termux:Boot depuis F-Droid pour que crond redémarre automatiquement. -
4Tester manuellement l'envoi depuis Termux :Les logs sont dans
python3 ~/scripts/termux-sms-queue.py~/sms-queue.log.
Flux :
Communication créée →
status=prepared →
Termux envoie via antenne Android → status=sent ou error
🤖 MacroDroid (alternative sans terminal)
Alternative sans ligne de commande : macro visuelle sur Android.
Aucun compte.
Même provider
android_queue que Termux.
-
1Installer MacroDroid depuis le Play Store. Créer un nouveau macro Cabinet SMS avec un déclencheur Minuterie périodique → 10 min.
-
2Action 1 — Requête HTTP GET pour récupérer la file :
GET https://cabinet.goubs.net/api/cabinet/sms/queue En-tête : X-Api-Key → f98c4ab1f592ace88df49b040b1946131846683744938a612f82e9869a4d9c5b Réponse → variable : queue_response -
3Action 2 — Boucle Pour chaque : source = tableau JSON, variable JSON =
{queue_response}, JSONPath =$.items, variable de boucle =item. -
4Dans la boucle — extraire
$.id→sms_id,$.to→sms_to,$.message→sms_messagevia Variables → Définir (JSONPath). -
5Messages → Envoyer un SMS : numéro =
{sms_to}, message ={sms_message}. -
6Requête HTTP POST pour confirmer l'envoi (ACK) :
POST https://cabinet.goubs.net/api/cabinet/sms/queue/{sms_id}/ack En-tête : X-Api-Key → f98c4ab1f592ace88df49b040b1946131846683744938a612f82e9869a4d9c5b Corps : {"status":"sent"} -
7Terminer par une Fin de boucle et optionnellement une notification SMS Cabinet envoyés ✓.
🔑 Clé API
La clé API (X-Api-Key)
permet aux scripts externes (Termux, MacroDroid) d'accéder à l'API sans session Grav.
Si un Token push (sms_push_token) est configuré, les scripts Android l'utilisent à la place.
Elle doit être longue, aléatoire et gardée secrète.
f98c4ab1f592ace88df49b040b1946131846683744938a612f82e9869a4d9c5b
-
1Pour changer la clé, aller dans Plugins → Cabinet → Clé API et saisir une nouvelle valeur. Exemple de génération :
openssl rand -hex 32dans un terminal. -
2Après changement, retélécharger les scripts Termux pour que la nouvelle clé soit injectée :
curl -fsSL "https://cabinet.goubs.net/api/cabinet/termux/bootstrap" \ -H "X-Api-Key: NOUVELLE_CLE" | bash -
3Mettre à jour la clé dans le macro MacroDroid si vous l'utilisez (en-têtes des deux requêtes HTTP).
⏰ Rappels automatiques J-1
Le scheduler Grav envoie un SMS de rappel la veille de chaque rendez-vous.
Nécessite sms_enabled: true et le scheduler Grav actif sur le serveur.
-
1Activer SMS dans les réglages (sms_enabled → Oui) et choisir un provider.
-
2Ajouter le scheduler Grav au cron du serveur :Vérifier dans Outils → Scheduler que le job
* * * * * cd /chemin/vers/grav && php bin/grav scheduler 1>> /dev/null 2>&1cabinet-sms-rappelsapparaît. -
3Par séance, cocher "Désactiver le rappel SMS J-1" pour exclure un rendez-vous spécifique.
Tableau de bord
Clients
+ ce mois
actifs (90 j)
Séances ce mois
vs le mois passé
Prochain RDV
Aucun à venir
Total séances
~h de pratique
Activité sur 12 mois
Types de séances
Aucune séance enregistrée
Prochains rendez-vous
Aucun rendez-vous planifié
| Date | Client | Type | Durée | |
|---|---|---|---|---|
Derniers clients vus
Aucune séance enregistrée
séances
👤
Sélectionnez un client
ou créez un nouveau dossier
Client sélectionné
📋
Séances
🕐
Dernière séance
📅
Prochaine séance
🗂️
Dossier créé
Identité
Motif & contexte
Historique des séances
Aucune séance enregistrée
Clinique
Bilan
Observations
Exercices transmis
Intention prochaine séance
Aucune note clinique
Usage interne — non communiqué au client
État des méridiens
Aucun bilan enregistré
Élément dominant
Synthèse MTC
Points / zones travaillés
Évolution perçue
Connectez Google Drive pour afficher le bilan tablette.
Recherche du bilan tablette…
Bilan tablette
Aucun bilan tablette pour
.
Fichier attendu :
Fichier attendu :
Centre de communication
Nouveau message
Astuce: si l'envoi SMS API n'est pas configuré, le module ouvre le client SMS natif et garde une trace dans l'historique.
Conseil: configurez l'URL Google Business dans l'admin plugin pour activer l'invitation à laisser un avis dans le template compte-rendu.
Historique
Aucun échange enregistré pour le moment.
•