À la fin de cet article, votre site ira chercher lui-même les contenus prêts du projet — texte, images, vidéos — et les publiera chez vous. Le propriétaire a besoin de quelques minutes pour créer une clé ; le développeur, d'écrire trois requêtes. Le site ne génère rien, il ne fait que recevoir ce qui est prêt.
Comment cela fonctionne
Telematic n'obtient aucun accès à votre site. C'est le site qui demande de temps en temps les nouveaux contenus et les reçoit au format JSON. Une fois un contenu publié, il le signale — et dans le projet, le contenu passe à publié.
Un même projet peut alimenter plusieurs sites. Chacun a sa clé et sa propre trace de ce qui est déjà publié ; les contenus, eux, sont les mêmes pour tous les sites.
Créez la connexion et copiez la clé
- Ouvrez la section « Intégrations » et cliquez sur « Ajouter un flux de site ».
- Dans la fenêtre « Connecter un site externe », remplissez « Nom du site ».
- Dans le bloc « Quels statuts exposer dans le flux », laissez les statuts voulus : « Accepté », « Planifié », « Publié ». Les brouillons, les contenus rejetés et archivés ne sont jamais transmis au site.
- Choisissez « Rythme de diffusion » — détails plus bas.
- Cliquez sur « Générer une clé ».

Le bloc « Votre clé secrète » apparaît. La clé commence par tlmf_.
Important. La clé n'est affichée qu'une fois : le service n'en conserve que l'empreinte. Copiez-la tout de suite et transmettez-la au développeur par un canal sûr. Si vous la perdez, générez-en une nouvelle.
Plus bas dans la même fenêtre se trouve « Guide d’intégration » : des commandes toutes prêtes, avec votre clé et votre adresse.

Récupérez les contenus : les requêtes pour le développeur
L'adresse de l'API est https://<adresse indiquee dans le guide>/api/feed/v1. La partie /api est obligatoire : sans elle, la requête tombe sur le site ordinaire. Chaque requête porte l'en-tête Authorization: Bearer <cle>.
| Requête | Ce qu'elle fait |
|---|---|
GET /me | vérifie la clé, renvoie le projet et les réglages du flux |
GET /content?since=&limit= | les contenus prêts que ce site n'a pas encore confirmés ; les plus anciens d'abord |
GET /content/{id} | un contenu, y compris déjà confirmé — pour en rafraîchir la copie |
POST /content/{id}/ack | confirme la publication sur le site |
POST /content/{id}/stats | transmet les vues et les réactions |
GET /openapi.json | la description de l'API lisible par une machine |
BASE="https://<adresse indiquee dans le guide>/api/feed/v1"
KEY="tlmf_..."
curl -H "Authorization: Bearer $KEY" "$BASE/content?limit=20"
La réponse contient items, nextCursor et un bloc pacing. limit va de 1 à 100, avec 20 par défaut. Conservez nextCursor et transmettez-le en tant que since à la requête suivante.
Confirmez la publication et envoyez les statistiques
curl -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"externalId":"123","url":"https://my-site.ru/p/123"}' \
"$BASE/content/<ID>/ack"
Tous les champs sont facultatifs : externalId, url, publishedAt. Une fois confirmé, le contenu disparaît du flux de ce site et prend dans le projet le statut « Publié » — ou reste « Partiellement publié » tant que d'autres plateformes l'attendent. Rappeler la requête est sans risque.
Pour que les chiffres du site remontent dans les Statistiques, envoyez views, reactions, comments, shares sur /content/<ID>/stats. Avant la confirmation du contenu, cette requête renvoie 404. De notre côté, nous n'allons pas chercher les chiffres sur le site.
Rythme de diffusion : un contenu par intervalle
C'est le site qui interroge, donc c'est vous qui fixez la cadence. Sur un intervalle, le flux ne livre pas plus d'un contenu, quel que soit le limit de la requête, et il ne rend pas d'un bloc ce qui s'est accumulé pendant une interruption du site. L'intervalle se compte à partir de la dernière confirmation.
- L'option « Comme la planification du projet » reprend l'intervalle, la plage horaire et la limite quotidienne de la planification des publications du projet. La limite se compte à part pour le site. Sans planification, il n'y a pas de restriction.
- « Rythme personnalisé » — votre propre intervalle, de 5 minutes à 30 jours, une plage horaire et une limite de 1 à 1000 par jour.
- « Sans limite » — le site reçoit tout ce qu'il demande : jusqu'à 100 contenus d'un coup.
Quand un contenu n'est pas encore « dû », la réponse arrive vide et le bloc pacing en explique la raison :
{ "items": [],
"pacing": { "reason": "interval", "intervalSeconds": 3600,
"nextAvailableAt": "2026-09-19T13:00:00.000Z" } }
reason prend les valeurs interval (l'intervalle n'est pas écoulé), window (on est hors de la plage horaire), daily-cap (la limite du jour est atteinte), ready, unlimited. Le bloc contient aussi les champs enabled, source, timeFrom, timeTo, maxPerDay, allowance. La plage horaire se calcule sur l'heure du serveur : fiez-vous à nextAvailableAt.
Les champs d'un contenu
id,title,excerpt— l'identifiant, le titre, le résumé.bodyMarkdown— le texte principal avec ses titres, ses listes et ses images. Convertissez-le en HTML et appliquez-lui les styles de votre site.bodyest le même texte sans mise en forme, conservé pour les anciennes connexions.topics— en général 3 à 7 étiquettes, dans la langue du contenu.sourceUrl,createdAt,updatedAt.media[]— les fichiers :type(IMAGE,VIDEO,AUDIO,OTHER),url,width,height,duration,thumbnail. Les liens sont absolus.
La première image de media est la couverture ; elle n'est pas insérée dans le texte. Prenez aussi les vidéos et les fichiers audio dans media : pas plus d'une vidéo par orientation. Les vidéos qui attendent votre validation n'arrivent pas dans le flux.
Sur la page du contenu, la carte du site affiche son statut — « En attente de récupération par le site », « Confirmé par le site » ou « Pas dans le flux » — ainsi que l'heure du dernier appel du site. Le bouton « Aperçu » ouvre le texte exactement tel que le site le recevra.

Pause et nouvelle clé
- Pause. Dans la section « Intégrations », cliquez sur le bouton de pause de la carte du site. Le message « Intégration en pause » s'affiche et le site se met à recevoir une erreur 401. Le même bouton relance la diffusion.
- Nouvelle clé. Cliquez sur la carte du site puis, dans la fenêtre « Flux de site », choisissez « Régénérer la clé ». La nouvelle clé n'est elle aussi affichée qu'une fois, et l'ancienne cesse aussitôt de fonctionner : mettez-la à jour sur le site.
Cette même fenêtre permet de changer le nom, les statuts et le rythme ; n'oubliez pas « Enregistrer ».

Si le site ne reçoit rien
- Réponse 401. La clé n'a pas été copiée en entier, elle a été renouvelée, ou la connexion est en pause. Vérifiez l'en-tête
Authorization: Bearer …avec une requêteGET /me. - Le site renvoie une page au lieu du JSON. Il manque
/apidans l'adresse. itemsest vide. Regardez d'abordpacing.reasonetnextAvailableAt. Si vous y lisezreadyouunlimited, c'est que le projet n'a aucun contenu dans les statuts choisis : un brouillon doit d'abord être accepté, voir Travailler avec le contenu.- Le même contenu revient. Le site n'a pas envoyé son
ack.
Et ensuite
- Projets et plateformes — les autres plateformes du projet.
- Publications et calendrier — la planification dont le flux tire son rythme.
- Résolution des problèmes courants — si vous avez besoin de l'assistance.