Facebook Pixel
Fit'DistanceDocumentation
Ouvrir l'app
Sur cette page

Le récap du lundi, sur Telegram ou WhatsApp

Chaque lundi à 8 h, reçois sur Telegram le récap de ta semaine : nouveaux élèves, séances, bilans et habitudes, avec n8n ou Make.

Chaque lundi à 8 h, tu reçois sur Telegram le récap de la semaine écoulée : nouveaux élèves, séances terminées, bilans reçus, habitudes cochées. Le cas pratique ne fait que lire : le message part du nœud Telegram de ton outil, pas de l'API. Il te faut une clé avec Élèves › Lire (students:read), Entraînement › Lire (training:read), Bilans › Lire (bilans:read) et Habitudes › Lire (habits:read). Si tu n'en as pas, crée-la dans l'app.

Ce que fait ce cas pratique

  1. Déclencheur : chaque lundi à 8 h. La fenêtre commence le lundi précédent, à la même heure.
  2. Lectures : GET /students, toute la liste, puis /workouts?status=done, /bilans et /habits/entries avec since, chacune avec limit=50, toutes les pages. since porte sur updated_at, que bouge aussi une modification ultérieure, un commentaire par exemple : on ne compte que les lignes dont ended_at, submitted_at ou completed_at est dans la fenêtre, et les nouveaux élèves sont ceux dont joined_at l'est.
  3. Texte : les quatre comptes, les trois élèves qui ont le plus de séances et le prénom des nouveaux. Le récap donne les nouveaux de la semaine, pas le total d'élèves. Un élève qui a quitté ta liste n'est pas cité.
  4. Envoi : un message sur ton Telegram.
curl "https://api.fitdistance.io/api/partner/v1/workouts?status=done&limit=50&since=2026-10-19T06:00:00.000Z" \
  -H "Authorization: Bearer fd_live_xxxxxxxx"

Si ton outil est éteint un lundi, la semaine manquée n'est pas rattrapée.

Ce que ça coûte

Une page lue coûte un crédit, débité avant l'appel : une page pour 50 élèves, plus une page par liste de séances, de bilans et d'habitudes, soit au moins 4 crédits par lundi, et une de plus à chaque tranche de 50 lignes. L'envoi sur Telegram ou WhatsApp ne coûte rien côté API. Un paramètre refusé coûte quand même un crédit ; un 401, un 403 ou un 429 ne coûtent rien.

Créer le bot Telegram

  1. Écris à @BotFather : /newbot, un nom, puis copie le jeton.
  2. Ouvre ton bot, envoie-lui /start, puis ouvre https://api.telegram.org/bot<TON_JETON>/getUpdates dans ton navigateur : ton chat_id est le champ id de chat.

Ne partage pas ce jeton : il donne la main sur ton bot. S'il a fuité, génère-en un nouveau avec /token chez @BotFather.

Dans n8n

  1. Choisis Import from URL… et colle https://fitdistance.io/documentation/api/cas-pratiques/recap-du-lundi.n8n.json, ou télécharge le workflow et choisis Import from File…. Choisis l'identifiant Fit'Distance API de Brancher n8n dans chaque nœud HTTP Request.
  2. Dans Send recap, crée l'identifiant Telegram avec le jeton du bot et nomme-le Fit'Distance alerts, puis remplace ta_conversation par ton chat_id.
  3. Exécute le workflow et lis le texte de Build the recap, puis active-le.

Le texte est en haut du code de Build the recap. Chaque liste est une boucle de Brancher n8n, avec un nœud Code qui garde les pages lues, par exemple Collect workouts. Les heures et les fenêtres suivent le fuseau horaire du workflow (Timezone dans ses paramètres, New York par défaut).

WhatsApp, en variante

Le fichier envoie sur Telegram. Pour WhatsApp, remplace Send recap par WhatsApp Business Cloud › Send Template. Hors des 24 heures qui suivent un message de ton correspondant, WhatsApp n'accepte qu'un modèle de message approuvé par Meta : crée un modèle avec une variable pour le texte et fais-le approuver. Il te faut un compte Meta Business et un numéro WhatsApp Business vérifié. WhatsApp refuse en général les sauts de ligne dans une variable : remplace-les par des · dans le code, et retire aussi esc(), qui échappe &, < et > pour Telegram : WhatsApp afficherait le texte échappé tel quel. Meta facture chaque modèle envoyé.

Dans Make

  1. HTTP › Make a request (planning : chaque lundi à 8 h) : GET sur https://api.fitdistance.io/api/partner/v1/students, limit = 200, Parse response sur Yes, puis un Iterator sur data, un filtre joined_at postérieur ou égal à {{addDays(now; -7)}} et un Flow Control › Array aggregator.
  2. Trois autres HTTP › Make a request, GET sur /workouts (status = done), /bilans et /habits/entries, avec limit = 200, since = {{addDays(now; -7)}} et Parse response sur Yes.
  3. Tools › Set variables : un compte par liste, length du tableau agrégé et du data de chaque module.
  4. Telegram Bot › Send a Text Message or Reply : ton Chat ID et un Text qui assemble les quatre comptes. Pour WhatsApp, WhatsApp Business Cloud › Send a Template Message.

Make compte les séances, bilans et habitudes mis à jour depuis sept jours, un peu plus que n8n, s'arrête à 200 lignes par liste et ne cite ni les prénoms ni les élèves les plus actifs. Référence : élèves, entraînement, bilans, habitudes.

Page suivanteUn programme se termine cette semaine → une alerteChaque lundi, reçois sur Telegram la liste des programmes qui se terminent dans la semaine, avec n8n ou Make.