KEPLIN Docs

Notifications

Comment une app prévient ceux qui l'utilisent — le canal à l'écran, le canal par e-mail, et la cloche de la barre de navigation.

Une application métier a besoin de prévenir des personnes : une opportunité a changé de phase, une demande est arrivée pour approbation, un rapport est prêt. Dans Keplin, cela se fait par deux canaux, qui existent dans toutes les apps et qui ne se créent ni ne se suppriment : l'un livre à l'écran, à celui qui utilise l'app à ce moment-là ; l'autre livre par e-mail, à celui qui n'y est pas.

Ils s'activent ou se désactivent dans les Paramètres de l'app, section Notifications :

  1. Ouvrez l'app.
  2. Cliquez sur l'icône Paramètres de l'app, en haut de l'arborescence latérale.
  3. Dans l'arborescence des paramètres, à l'intérieur du groupe Application, choisissez Notifications.

La section Notifications des paramètres de l'app : les deux canaux fixes — in-app et par e-mail — et le SMTP d'envoi.
La section Notifications des paramètres de l'app : les deux canaux fixes — in-app et par e-mail — et le SMTP d'envoi.

Notifications in-app

Le premier canal livre à l'intérieur de l'application. Il n'a qu'un seul interrupteur, Canal actif, et son comportement est celui-ci :

  • celui qui a l'app ouverte reçoit l'avertissement sur le moment, sans rien recharger ;
  • celui qui ne l'a pas ouverte le reçoit à sa prochaine connexion — le message est conservé et ne se perd pas ;
  • les messages non lus apparaissent dans la cloche de la barre de navigation de l'app.

Nota

La livraison immédiate dépend de l'interrupteur Notifications en temps réel des Paramètres de la plateforme. S'il est désactivé, rien ne se perd : les notifications continuent d'être conservées et apparaissent à la visite suivante, simplement sans le « maintenant ».

Notifications par e-mail

Le second canal envoie des e-mails, et il sert à deux choses : les notifications que la logique de l'app envoie par e-mail, et la récupération du mot de passe des utilisateurs de l'app. Les deux partent par le serveur d'envoi configuré juste en dessous, dans la même section.

Remplissez le bloc SMTP :

Champ Ce que c'est
Hôte L'adresse du serveur d'e-mail.
Port 465 avec connexion sécurisée, 587 pour STARTTLS.
Connexion sécurisée (TLS) Activez pour SMTPS (port 465) ; désactivez pour STARTTLS (port 587).
Utilisateur et Mot de passe Les identifiants d'envoi. Le mot de passe est enregistré chiffré et ne revient jamais à l'écran — le laisser vide veut dire « conserver celui qui est en place ».
Adresse d'expéditeur (from) L'expéditeur qui apparaît à celui qui reçoit.

Le bloc SMTP du canal e-mail : serveur, port, connexion sécurisée, identifiants et adresse d'expéditeur.
Le bloc SMTP du canal e-mail : serveur, port, connexion sécurisée, identifiants et adresse d'expéditeur.

Atenção

Sans le canal e-mail actif et avec le SMTP rempli, la récupération du mot de passe des utilisateurs de l'app ne fonctionne pas — la demande est acceptée mais l'e-mail ne part jamais.

Nota

Ce serveur d'e-mail appartient à l'app, et il est distinct de l'e-mail des avertissements de la plateforme (celui-là se configure dans Paramètres et sert aux alarmes d'infrastructure). Chaque app peut envoyer par le serveur de son client sans que cela change quoi que ce soit dans l'installation.

Envoyer une notification

Les notifications partent de la logique de l'app — d'un script ou d'une étape de workflow. Dans les scripts, il y a deux outils, un par canal (voir SDK des scripts).

À l'écran, avec notify.send. Les destinataires sont des utilisateurs de l'app : users reçoit des noms d'utilisateur, et roles se déploie sur tous les membres d'un rôle.

r = notify.send(
    "Opportunité gagnée",
    subtitle="Câmara Municipal de Aveiro — 18.400 €",
    body="La proposition a été acceptée. Le contrat part à la signature.",
    users=["ana.rocha"],
    roles=["direcao"],
    data={"url": "/oportunidades/42"},
)
# r = {"recipients": 4, "delivered": 2}

Le delivered compte ceux qui étaient connectés et ont reçu sur le moment ; les autres reçoivent quand ils se connecteront. Le data voyage avec le message — c'est lui qui permet qu'un clic sur l'avertissement mène la personne au bon endroit de l'app.

Par e-mail, avec notify.email. Ici, le to accepte des adresses libres, et users/roles se résolvent en l'e-mail des utilisateurs de l'app.

r = notify.email(
    "Résumé du pipeline",
    to=None,
    users=None,
    roles=["direcao"],
    text="12 opportunités sont ouvertes, 3 se ferment cette semaine.",
    html=None,
)
# r = {"accepted": ["ana.rocha@exemplo.pt"], "skipped": []}

Le skipped dit qui est resté de côté faute d'e-mail rempli sur sa fiche — il vaut la peine de regarder cette liste quand quelqu'un se plaint de ne rien recevoir.

La cloche dans la barre de l'app

La cloche qui montre les messages non lus n'apparaît pas toute seule : c'est un type de menu que l'on ajoute dans l'éditeur de navigation de l'app, avec le comptage automatique des non lues. C'est décrit dans Navigation de l'app.

Le menu Notifications dans l'éditeur de navigation — c'est lui qui met la cloche du centre de notifications dans la barre de l'app.
Le menu Notifications dans l'éditeur de navigation — c'est lui qui met la cloche du centre de notifications dans la barre de l'app.

Combien de temps sont-elles conservées

Les messages s'accumulent. Chaque app décide combien de temps elle conserve l'historique dans la section Rotation des enregistrements des paramètres de l'app — la même où se définit la rétention des journaux d'activité. Zéro jour veut dire « conserver indéfiniment ».

Questions fréquentes

La personne n'a rien reçu à l'écran. Vérifiez trois choses, dans cet ordre : le canal Notifications in-app est actif dans les paramètres de l'app ; l'interrupteur Notifications en temps réel est activé dans les Paramètres de la plateforme ; et la personne a une session ouverte dans l'app. Sans le temps réel, le message ne se perd pas — il arrive seulement plus tard.

Puis-je prévenir tout le monde d'un coup ? Oui : au lieu de noms, passez roles avec le rôle voulu. Ceux qui sont dans ce rôle au moment de l'envoi reçoivent.

Les notifications d'une app apparaissent-elles dans une autre ? Non. Les messages et l'historique appartiennent à l'app où ils ont été créés, et les destinataires sont des utilisateurs de cette app.

Puis-je créer d'autres canaux en plus de ces deux-là ? Non. Les canaux sont fixes, et c'est délibéré : ce qui change d'un avertissement à l'autre, c'est le destinataire et le texte, pas la tuyauterie. Pour séparer les sujets, servez-vous des rôles des destinataires.