<aside>

Périmètre choisi : Snapchat comme boîte de réception client pour un petit commerçant. Trois scripts forment une boucle complète : savoir qu'il y a quelque chose, voir qui attend, répondre.

</aside>

1. Scripts

Script Type Rôle
@navinvenkatv/web.snapchat.com/list_conversations Lecture seule Renvoie toutes les conversations chargées avec nom, statut, dernière activité, indicateur de non-lu et action disponible. N'ouvre jamais une conversation.
@navinvenkatv/web.snapchat.com/get_unread_count Lecture seule Renvoie le nombre de messages non lus depuis le badge de l'onglet.
@navinvenkatv/web.snapchat.com/send_message Écriture Envoie un message à une conversation existante. Correspondance exacte du nom, refus si aucune ou plusieurs correspondances, un seul destinataire par appel, mode dryRun, vérification de l'envoi.

2. Périmètre

L'utilisateur

Un petit commerçant dont les clients le contactent sur Snapchat. Son problème n'est pas de publier : c'est de rater des messages et de répondre trop tard. Snapchat n'a pas d'API publique, donc tout se fait à la main.

Pourquoi ce périmètre

J'ai exploré la version web avant de choisir. Une première exploration en lecture seule a conclu que la publication de Story n'existait pas, parce que le mot n'apparaît pas sur la page d'accueil. En vérifiant, j'ai découvert qu'elle existe, mais uniquement après avoir pris un Snap avec la caméra en direct. On ne peut donc pas y publier une image préparée, comme le menu du jour d'un commerçant. J'ai choisi la boîte de réception, qui correspond au vrai problème de mon utilisateur. Les trois scripts forment une boucle complète :

  1. Savoir qu'il y a quelque chose : get_unread_count
  2. Voir qui attend : list_conversations
  3. Répondre : send_message

Choix de conception

J'ai séparé lecture et écriture. Sur Snapchat, ouvrir un Snap le marque comme lu et l'expéditeur le voit : lire un message est donc une écriture cachée. list_conversations lit uniquement la liste et n'ouvre jamais rien.

Limites connues

Suite logique

Un cron qui appelle get_unread_count toutes les quelques minutes et prévient le commerçant quand le chiffre monte.

3. Rapport QA