API

L’API de Seenthis est en plein développement.

La méthode retenue est l’Atom Publishing Protocol. Pour une présentation :
http://www.bortzmeyer.org/5023.html.

Voici un code PHP qui, en utilisant CURL, provoque la publication d’un message sur le flux de l’auteur identifié par $login et $pass.

La connexion se fait en POST sur l’adresse https://seenthis.net/api/messages. Le protocole est obligatoirement https, pour éviter de faire circuler les mots de passe en clair sur le réseau (si vous n’envoyez pas les infos sur le port sécurisé, la connexion sera refusée).

Attention : le texte qu’on envoie n’est jamais du HTML, mais du texte brut (comme dans l’interface de Seenthis). Par convention, on préférera expédier ce texte via le summary d’ATOM. Si on n’utilise pas le summary, c’est le content qui est utilisé.

En réponse, si l’insertion a réussi, on récupère une entrée ATOM. Noter la subtilité :
- summary contient le message en mode texte (nettoyé), c’est le texte qu’on voudra éventuellement modifier et réexpédier via l’API ;
- content contient le message formaté, en HTML. On l’utilisera certainement, localement, pour l’affichage, mais en aucun cas on ne l’utilisera pour le réexpédier via l’API.

On doit (sauf erreur) pouvoir indiquer qu’un (nouveau) message est une réponse à un autre message, en utilisant thr:in-reply-to.

Pour modifier un message existant, indiquer son id, et passer le message HTTP en méthode PUT.

Pour l’instant, il n’y a pas la possibilité de consulter un message par l’API (qui sera en méthode GET). Ni de le supprimer (méthode DELETE). De ce fait, pour l’instant, l’API permet essentiellement d’alimenter automatiquement un compte depuis l’extérieur, mais pas réellement d’interagir avec le système.

Fonctions PHP pour exploiter directement l’API

J’ai également commencé un fichier de fonctions directement utilisables pour exploiter l’API.

Et pour l’utiliser :

— une fonction (totalement optionnelle, mais qui peut s’avérer pratique) seenthis_create_message, qui retourne une chaîne correspond aux habitudes de Seenthis ;

— surtout, la fonction seenthis_post pour poster ce message sur Seenthis. Particulièrement simple. Pour l’instant, ça retourne le contenu de la réponse (si ça a fonctionné, une entrée ATOM).