Skip to content

Instantly share code, notes, and snippets.

@adriens
Last active March 26, 2019 07:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adriens/256ddb2e0494868404ca65b500169f74 to your computer and use it in GitHub Desktop.
Save adriens/256ddb2e0494868404ca65b500169f74 to your computer and use it in GitHub Desktop.
OPT > BP Status endpoint via UUID

Contexte

Ce gist s'inscrit dans la série des OPT & Vous, et fais une proposition simple autour des boîtes postales.

Concept : l'endpoint de FLAG pour la BP

L'idée est de fournir un fournir extrêmement simmple mais égalemet répondant à une exigence utilisateur final : savoir si une BP contient ou pas un objet, comme sur les boîtes aux lettres américaines, avec le petit drapeau que :

  • le facteur lève quand il dépose un courrier
  • le client baisse lorsqu'il a vidé sa boîte

Pour cela, j'ai éliminé toute source de complexité pouvant gêner la mise en oeuvre d'une telle solution. Du coup, je suis arrivé à un système contenant deux informations, qui son anonymes :

  • le status de la BP : plein ou pas (1 ou 0)
  • un identifiant unique UUID ne faisant pas de lien avec une vraie BP. Impossible notamment de remonter à une personne par exemple

Munis de ces deux concepts, créer une API publique non anthentifiée répondant ainsi :

Endpoint

Exemple :

Cet endpoint /BP/{uuid}

renverrait ceci :

{
    "uuid": "d8516d0c-4f95-11e9-8647-d663bd873d93",
    "lastUpdate": "2019-03-26",
    "status": 1 
}

Avantages

  • Aucune authentification
  • Facilité extrême d'intégration pour des solutions tierces (monitoring, alerting, appli mobile, BOT,...), possibilité de faire des hackathons très créatifs.

Point faible

Il faut permettre :

  • lors du dépôt de courrier : de lever le flag
  • lors du relevé physique de la boîte, de resetter le status de la boîte à vide

Pour cela, à priori, un peu d'informatisation et implémentation d'un petit backend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment