Un appareil est un téléphone Android équipé de l'application et appairé à votre passerelle. C'est le téléphone, et non la passerelle, qui envoie et reçoit les SMS, avec ses propres cartes SIM et son propre forfait. Vous pouvez appairer autant de téléphones que vous le souhaitez : la passerelle répartit le trafic entre eux et prend le relais quand l'un d'eux décroche.
Tout ce qui suit se passe dans l'écran Appareils du tableau de bord.
Ce qu'il vous faut
- Un téléphone Android (un modèle modeste et dédié suffit) avec une ou deux cartes SIM disposant d'un forfait SMS ou de crédit.
- Un chargeur qui reste branché. Voir Garder le téléphone en service.
- Une connexion réseau entre le téléphone et la passerelle : Wi-Fi ou données mobiles. Le téléphone doit pouvoir joindre l'adresse de votre passerelle.
- Un compte Superadministrateur : l'appairage, le désappairage et la modification des quotas lui sont réservés.
Installer l'application
L'application est distribuée hors du Play Store. Dans Appareils, le panneau Application Android affiche un code QR : photographiez-le avec l'appareil photo du téléphone pour télécharger l'application, ou utilisez Télécharger l'APK. Android demande d'autoriser l'installation depuis le navigateur : c'est normal pour une application qui ne vient pas du Play Store.
Si le panneau indique qu'aucune application n'est déposée sur la passerelle, le fichier APK n'a pas été placé sur votre installation. Voir le guide d'installation.
Au premier lancement, l'application demande quelques autorisations :
| Autorisation | Pourquoi |
|---|---|
| SMS | Envoyer et recevoir des SMS est tout le travail de l'application |
| État du téléphone | Pour lister les cartes SIM et choisir celle qui envoie. Aucun identifiant matériel n'est transmis |
| Appareil photo | Uniquement pour lire le code QR d'appairage. Aucune image n'est conservée |
| Notifications | Android impose une notification permanente à une application qui tourne en continu |
Appairer un téléphone
- Dans Appareils, cliquez sur Appairer un appareil. Un code QR s'affiche, valable cinq minutes.
- Dans l'application, choisissez Appairer et scannez le code.
- Le téléphone apparaît dans la liste, En ligne, avec ses cartes SIM.
Pas d'appareil photo utilisable ? Sous le code QR, la fenêtre affiche un Code de repli, sans caméra de huit caractères. Dans l'application, touchez Saisir le code à la main, puis entrez l'adresse du serveur et ce code.
Chaque code ne sert qu'une fois et expire au bout de cinq minutes. S'il a expiré, cliquez sur Générer un nouveau code. Le code QR est signé par votre passerelle : un code modifié ne peut pas amener un téléphone à s'appairer à un autre serveur.
Suivre vos téléphones
Le tableau Appareils montre, pour chaque téléphone :
| Colonne | Ce qu'elle indique |
|---|---|
| Appareil | Son nom et son modèle. L'avertissement Optimisation de batterie encore active apparaît quand Android peut endormir l'application |
| SIM | Les cartes SIM détectées, avec opérateur et numéro masqué. Une SIM mise hors service porte la mention hors service |
| Statut | En ligne quand le téléphone est connecté, Hors ligne quand la passerelle n'en a plus de nouvelles depuis cinq minutes (plus longtemps avec un intervalle de synchronisation long, voir ci-dessous) |
| Batterie, Signal | Les dernières valeurs remontées par le téléphone |
| Quota du jour | Pour chaque SIM, le nombre de SMS envoyés aujourd'hui rapporté à son quota journalier |
| Fuseau horaire | Le fuseau horaire réglé sur le téléphone |
| Disponibilité (24 h) | La part des dernières 24 heures pendant laquelle le téléphone est resté connecté à la passerelle. Voir Historique de disponibilité |
| Dernière activité | Le moment où le téléphone a donné des nouvelles pour la dernière fois |
Un téléphone connecté donne des nouvelles toutes les trente secondes, ou selon l'Intervalle de synchronisation réglé dans Paramètres > Général, appareils. Après cinq minutes sans nouvelles, ou trois de ses intervalles quand c'est plus long (trente minutes pour un intervalle de dix minutes), la passerelle le marque Hors ligne. Les messages que ce téléphone détenait retournent dans la file et partent d'un autre téléphone, sans compter comme une tentative échouée : le message n'y est pour rien, c'est le téléphone qui a disparu.
La passerelle publie aussi un événement quand un téléphone se connecte (device.online), décroche
(device.offline) ou quand sa batterie passe sous 15 % (device.low_battery, émis une fois au
franchissement du seuil, pas à chaque relevé en dessous). Abonnez un webhook à ces événements pour
être prévenu dans vos propres outils : voir Webhooks.
Actions sur un téléphone
Depuis la colonne Actions (Superadministrateur) :
| Action | Effet |
|---|---|
| Renommer l'appareil | Lui donne un nom que vous reconnaissez, par exemple « Accueil » ou « Entrepôt » |
| Retirer du pool / Remettre dans le pool | Hors du pool, le téléphone reste appairé mais la passerelle ne lui confie plus rien à envoyer. Utile pour une maintenance, ou pour réserver un téléphone à la réception |
| Supprimer cet appareil | Désappaire le téléphone. Son historique de messages est conservé. Pour le réutiliser, appairez-le de nouveau |
Historique de disponibilité
La passerelle conserve l'historique de connexion de chaque téléphone, pour distinguer un téléphone fiable d'un téléphone qui décroche sans cesse. Vous le voyez à deux endroits :
- la carte Disponibilité des appareils du Tableau de bord, sous le graphique d'activité (les huit premiers téléphones, avec un lien vers les autres) ;
- la même carte sous le tableau de l'écran Appareils, pour toute la flotte, et la colonne Disponibilité (24 h) du tableau.
Choisissez la période avec les boutons 24 h, 7 j, 30 j et 90 j. Chaque téléphone a sa ligne : son nom, son statut actuel, son pourcentage de disponibilité sur la période, et une barre par tranche (une par heure sur 24 heures, par six heures sur 7 jours, par jour sur 30 et 90 jours). Les tranches suivent le fuseau de la plateforme (Paramètres > Envoi), changement d'heure compris : le jour d'un changement d'heure dure 23 ou 25 heures. Survolez ou touchez une barre pour les heures exactes de la tranche et la durée passée dans chaque état. En haut de la carte, Disponibilité de la flotte donne un chiffre unique pour tous vos téléphones.
Chaque barre répartit le temps entre trois états, distingués par leur position, un mot et une icône dans la légende et l'infobulle, jamais par la seule couleur :
| État | Affichage | Ce qu'il signifie |
|---|---|---|
| En ligne | Vert, en bas | Le téléphone a gardé sa connexion à la passerelle |
| Hors ligne | Rouge, au-dessus | La passerelle tournait et le téléphone n'était pas connecté |
| Passerelle arrêtée (inconnu) | Gris hachuré, en haut | La passerelle elle-même était arrêtée (mise à jour, redémarrage, machine éteinte) : personne ne pouvait dire si le téléphone était joignable |
Une tranche d'avant l'appairage reste une piste vide : un téléphone appairé ce matin n'est pas compté hors ligne pour la nuit précédente.
Le calcul du pourcentage. La disponibilité est le temps en ligne divisé par le temps en ligne plus hors ligne. Le temps où la passerelle était arrêtée n'est pas compté hors ligne : une mise à jour de la passerelle pendant la nuit ne fait pas baisser la disponibilité de vos téléphones. Quand rien n'a été observé sur la période (la passerelle était arrêtée tout le temps), la carte affiche Aucune donnée plutôt que 0 %.
La durée de conservation. L'historique est conservé 90 jours par défaut, la plus longue
période du graphique. Réglez GATEWAY_UPTIME_RETENTION_DAYS (de 90 à 3650) pour le garder plus
longtemps, voir le guide d'installation. L'historique commence
quand vous installez une version de la passerelle qui l'enregistre : le temps antérieur se lit comme
inconnu. Désappairer un téléphone efface son historique.
Par l'API. GET /devices/uptime?period=24h (ou 7d, 30d, 90d) renvoie le même rapport :
pour chaque téléphone et chaque tranche, les secondes en ligne, hors ligne, inconnues et avant
l'appairage, plus uptimePercent (null quand rien n'a été observé). Toute clé de portée read et
tous les rôles du tableau de bord peuvent le lire.
Quota journalier des SIM
Chaque SIM dispose d'une allocation quotidienne de SMS, 200 par défaut.
Pourquoi c'est important. Les opérateurs surveillent les cartes SIM grand public. Une SIM qui envoie soudain des milliers de SMS par jour ressemble à du spam et peut être suspendue, parfois définitivement. Le quota maintient chaque SIM sous un volume que vous choisissez. Quand une SIM a épuisé le sien, la passerelle en utilise une autre ; quand toutes l'ont épuisé, les messages attendent.
Comment il se compte.
- Un message long compte pour autant de SMS qu'il en occupe (un message de 200 caractères simples compte pour deux SMS).
- Le compteur repart à zéro chaque jour à minuit UTC, quel que soit le fuseau horaire de votre plateforme. C'est voulu : les opérateurs comptent en temps absolu, et changer de fuseau ne doit jamais accorder une seconde allocation pour la même journée.
Où le voir. Dans la colonne Quota du jour : « 12 sur 200 aujourd'hui », ou simplement « Sans plafond » pour une SIM sans plafond, avec une barre qui passe à l'orange dès 80 % et au rouge quand le quota est atteint, et la mention Quota atteint. Le Tableau de bord affiche aussi une alerte pour chaque SIM proche de son quota ou l'ayant atteint.
Le modifier (Superadministrateur). Cliquez sur le crayon à côté de la SIM. La fenêtre Quota et cadence de la SIM propose :
| Champ | Effet |
|---|---|
| Messages par jour | La nouvelle allocation, un nombre entier jusqu'à 1 000 000 |
| Sans plafond journalier | Supprime la limite. À faire en connaissance de cause : c'est précisément ce qui peut faire suspendre une SIM grand public |
| SIM en service | Désactivé, la SIM n'envoie rien, quel que soit son quota. Utile quand une SIM n'a plus de crédit ou va être remplacée |
| Intervalle propre à cette SIM | Désactivé (par défaut), la SIM suit l'intervalle minimal entre deux SMS de Paramètres > Envoi, rappelé sous l'interrupteur. Activé, Secondes entre deux SMS sur cette SIM (0 à 3600) le remplace pour cette SIM seulement : une attente plus longue pour une SIM neuve que l'opérateur surveille, 0 pour une SIM qui n'en a pas besoin. Voir Cadence des SIM |
Ce qui se passe à l'enregistrement :
- Le compteur du jour est conservé. Passer de 200 à 500 à midi après 200 envois laisse 300 SMS pour le reste de la journée. Descendre sous ce qui a déjà été envoyé arrête la SIM jusqu'à minuit UTC.
- Les messages retenus partent aussitôt. Si des messages attendaient parce que tous les quotas étaient atteints, relever un quota, retirer le plafond ou remettre une SIM en service les envoie tout de suite au lieu d'attendre minuit. L'écran File d'attente affiche un bandeau qui compte ces messages, avec un lien Modifier les quotas vers cet écran.
Une SIM qui a son propre intervalle affiche « Cadence propre : 1 SMS toutes les 30 s » sous son quota.
Par l'API, le même réglage se fait avec PATCH /devices/{deviceId}/sims/{slot}, champs
dailyQuota (0 signifie sans plafond), enabled et minIntervalSeconds (null pour suivre de
nouveau le réglage, 0 pour aucune attente). GET /devices renvoie minIntervalSeconds pour chaque
SIM, null quand elle suit le réglage.
L'heure locale de chaque téléphone
Vos téléphones ne sont pas forcément dans le même pays que votre plateforme. L'en-tête du tableau de bord affiche, à côté de l'indicateur temps réel, l'Heure des appareils : avec un seul téléphone, son heure directement ; avec plusieurs, leur nombre, et le détail quand vous cliquez dessus. Chaque téléphone indique son fuseau et la mention Pas à l'heure de la plateforme quand son heure diffère du fuseau de la plateforme.
Pourquoi c'est important. Les pauses de nuit et du dimanche des campagnes et l'heure des envois programmés suivent le fuseau de la plateforme (réglé dans Paramètres > Envoi), pas l'heure de chaque téléphone. La mention vous signale un téléphone qui vit à une autre heure que celle de vos programmations.
Un téléphone marqué Fuseau inconnu utilise une ancienne version de l'application : mettez à jour l'application sur ce téléphone pour voir son fuseau.
Garder le téléphone en service
Une passerelle SMS n'est pas plus fiable que ses téléphones. Android est conçu pour économiser la batterie en endormant les applications, ce qu'une passerelle doit justement éviter. L'application garde une connexion permanente avec votre passerelle pour que les messages partent en quelques secondes ; pour cela, le téléphone doit rester éveillé.
À faire une fois pour chaque téléphone :
- Le laisser branché. Android ne met pas en veille profonde un téléphone en charge. C'est la mesure la plus efficace de toutes. Si votre téléphone propose une option de protection de la batterie (charge limitée à 80 % ou équivalent), activez-la : elle ménage une batterie qui reste des mois sur le chargeur.
- Désactiver l'optimisation de batterie pour l'application. Dans l'application, touchez Corriger la batterie. Tant que le tableau de bord affiche Optimisation de batterie encore active, Android peut suspendre l'application et les SMS cessent de partir.
- Autoriser le démarrage automatique. Certains fabricants (Xiaomi, Huawei, Oppo, Samsung et d'autres) empêchent les applications de redémarrer seules. L'application affiche une carte Démarrage automatique avec Ouvrir le réglage. Si le réglage est introuvable, cherchez « Démarrage automatique » ou « Autostart » dans les paramètres de batterie. Le lien Assistant batterie, sous le tableau Appareils, ouvre un site qui décrit les réglages de chaque fabricant.
- Ne pas toucher à la notification permanente. C'est elle qui permet à Android de garder l'application active. Ne balayez pas l'application depuis les applications récentes, et ne forcez pas son arrêt.
- Lui donner une connexion stable. Préférez un Wi-Fi qui ne se coupe pas la nuit, ou des données mobiles qui restent actives.
Un téléphone appairé relance l'application de lui-même après un redémarrage, pourvu que le fabricant autorise le démarrage automatique (point 3) et que Démarrage automatique soit activé dans Paramètres > Général, appareils. Ce réglage désactivé, ouvrez l'application une fois après chaque redémarrage du téléphone. Sur un téléphone dont le fabricant suspend les applications dès que l'écran s'éteint malgré les points ci-dessus, Garder l'écran allumé, dans le même onglet, garde l'écran allumé et atténué tant que l'application tourne ; il vide la batterie, ne l'utilisez donc que sur un téléphone qui reste branché.
Options
Chaque réglage d'un téléphone et de ses cartes SIM, où le modifier, et ce qu'il change dans le reste du produit. Tous sont réservés au Superadministrateur.
| Option | Où | Par défaut | Valeurs admises | Effet |
|---|---|---|---|---|
| Nom de l'appareil | Actions > Renommer l'appareil ; API PUT /devices/{deviceId}, champ name |
Fixé à l'appairage | 1 à 80 caractères | Affichage seulement : le nom montré dans le tableau de bord, dans les règles de routage et dans la file |
| Pool de routage | Actions > Retirer du pool / Remettre dans le pool ; API PUT /devices/{deviceId}, champ inRoutingPool |
Dans le pool | Dedans ou dehors | Hors du pool, le téléphone n'envoie plus rien : le routage automatique l'ignore, les règles de routage sautent ses SIM, et un envoi qui désigne ce téléphone est retenté, puis échoue avec Aucun appareil disponible pour émettre si le téléphone est toujours hors du pool quand ses tentatives sont épuisées. Il continue de recevoir les SMS |
| Messages par jour | Crayon dans Quota du jour ; API PATCH /devices/{deviceId}/sims/{slot}, champ dailyQuota |
200 | 0 à 1 000 000 (par l'API, 0 signifie sans plafond) |
Une fois atteint, la SIM est ignorée jusqu'à minuit UTC. Quand toutes les SIM utilisables ont épuisé le leur, les messages attendent avec le statut Quota atteint. Le relever libère aussitôt ces messages |
| Sans plafond journalier | Même fenêtre | Désactivé | Activé ou désactivé | Équivaut à un quota de 0 : la SIM n'est jamais arrêtée par son quota. En mode de routage automatique « quota », une SIM sans plafond passe toujours en premier. Libère aussitôt les messages retenus |
| Intervalle propre à cette SIM | Même fenêtre ; API, champ minIntervalSeconds |
Désactivé (null : suit Paramètres > Envoi) |
0 à 3600 secondes | Temps minimal entre deux SMS sur cette SIM, à la place du réglage d'envoi. 0 : aucune attente sur cette SIM. Les messages attendent dans la file et partent d'eux-mêmes ; les autres SIM continuent d'envoyer |
| SIM en service | Même fenêtre ; API, champ enabled |
Activé | Activé ou désactivé | Désactivé, la SIM n'envoie rien quel que soit son quota : tous les modes de routage et toutes les règles de routage la sautent (une règle stricte dont toutes les SIM sont hors service fait attendre ses messages). La SIM continue de recevoir. La remettre en service libère aussitôt les messages retenus |
| Code d'appairage | Appairer un appareil ; API POST /devices/pairing |
Aucun | Valable cinq minutes, usage unique | Générer un nouveau code n'annule pas les téléphones déjà appairés |
Une modification du quota ou de l'interrupteur de service s'applique dès le message suivant : rien à redémarrer, ni sur la passerelle ni sur le téléphone. La limite par minute de chaque SIM, les nouvelles tentatives et le fuseau horaire sont des réglages d'envoi, décrits dans Envoyer des messages.
L'onglet Paramètres > Général, appareils porte les réglages des téléphones : Intervalle de synchronisation, en secondes (la fréquence à laquelle le téléphone donne des nouvelles, donc le délai avant qu'un téléphone muet passe hors ligne), Retirer les diacritiques, Supprimer les espaces superflus, Tout en majuscules (appliqués au texte au moment où le message part vers le téléphone, et visibles tels quels dans l'historique), Démarrage automatique et Garder l'écran allumé. Chaque téléphone les applique dès l'enregistrement, ou à sa reconnexion. Leur détail est dans Paramètres.
Dépannage
| Symptôme | Ce qu'il faut vérifier |
|---|---|
| Le code QR est refusé comme expiré | Il est valable cinq minutes. Cliquez sur Générer un nouveau code |
| « Passerelle injoignable » dans l'application à l'appairage | Le téléphone ne joint pas l'adresse de la passerelle : vérifiez qu'il est sur le bon réseau et que l'adresse du code QR est accessible depuis le téléphone |
| « La passerelle a refusé l'appairage » | Le code a déjà servi. Générez-en un nouveau |
| Un téléphone passe régulièrement Hors ligne, la nuit | Optimisation de batterie ou démarrage automatique (voir plus haut), ou Wi-Fi qui se met en veille. Branchez le téléphone |
| Des tranches hachurées Passerelle arrêtée dans le graphique de disponibilité | La passerelle elle-même était arrêtée à ce moment (mise à jour, redémarrage, machine éteinte). Cela ne fait pas baisser la disponibilité des téléphones |
| L'application dit que la passerelle ne la reconnaît plus | Le téléphone a été supprimé dans Appareils, ou la passerelle a été réinstallée avec une nouvelle clé maîtresse. Appairez-le de nouveau |
| Des messages attendent en Quota atteint | Toutes les SIM utilisables ont épuisé leur quota du jour. Relevez un quota, ou attendez minuit UTC |
| Une SIM n'envoie rien alors qu'elle est En ligne | Vérifiez qu'elle est en service, que son quota n'est pas atteint et que le téléphone est dans le pool de routage |
| Fuseau inconnu dans l'en-tête | Mettez à jour l'application sur ce téléphone |