Closed Noezor closed 3 years ago
Ca va être difficile voire impossible. Valwin n'est pas une plateforme, c'est plutôt une agence qui créé des sites de pharmacies et des services autour. Il n'y a aucun annuaire des 700 pharmacies qu'ils ont (et c'est juste des pharmacies clientes, elles n'ont pas forcement de système de prise de RDV). J'ai trouvé un certain nombre de pharmacie Valwin ; si je prend https://pharmacie-francoise-parolini.com/animations qui a des RDV, il n'y a pas d'API, il faudrait donc scraper le site (et pas sur que la totalité des sites aient la même structure HTML). Sinon, il y a une app Valwin compatible avec toutes les pharmacies, potentiellement qu'avec un package sniffer, il y aurait moyen de récupérer les appels d'APi que fait l'app, mais rien ne garantie que l'API ne soit pas authentifié ou autre.
Après peut etre que la plateforme peut fournir une doc pour l'api ?
@rozierguillaume peux tu leur dire de venir sur le mattermost ?
Pour info, ya une liste de sites de pharmacie ici : http://www.ordre.pharmacien.fr/ecommerce/search (peut-être tout systèmes confondus).
@DavidLibeau tu veux faire un truc ? ça sera aussi l'occasion de voir à quel point c'est facile d'étendre la collection et l'exportation des horaires de tous les rdvs
@Noezor Je ne code pas en Python/pas le temps d'apprendre.
Il y a des trucs : https://pharmacie-francoise-parolini.com/api/on-duty/in-range?from=2021-04-30T22:00:00.000Z&to=2021-05-31T21:59:59.999Z
Effectivement, il n'y a pas zéro API, mais là il me semble que c'est une API pour avoir les pharmacies au alentour de garde. Je ne vais pas m'amuser à aller plus loin sans doc, ça va être une perte de temps qui sera mieux consacré à d'autres sujets.
Pour être tout à fait complet, ça serait possible et assez simple à scrap car les sites Valwin semble être des simili Jamstacks qui utilisent l'hydratation mais sans API : tout se fait en backend et les données sont en JSON dans la page. En gros, il faut détecter le JSON meetingTypes
sur le /animations
puis le JSON meetingSlots
sur le /animation-details/{id}/{page}/{pageSize}
.
Avec cette recherche google, on voit le nombre de pharmacie compatible : https://www.google.com/search?q=%22Une+cr%C3%A9ation+Valwin%22+pharmacie+%22%2Fanimations%22
il y en a pas mal. en parcourant à la main, il y a assez peu de site qui propose des RDV de vaccination... Cette requête "$($('div:contains("Vaccin COVID-19")')[4]).next()[0].href" te permet d'avoir l'avoir le lien vers la page de réservation et renvoit undefined si cela n'est pas proposé
Boucler en jquery est facile et on peut obtenir rapidement tous les rdvs via ce type de requête : jour : $('.meeting-slot__day','.meeting-slot')[ID_CRENEAUX] mois : $('.meeting-slot__month','.meeting-slot')[ID_CRENEAUX] heure : $('.hour','.meeting-slot')[ID_CRENEAUX] liens : $('.a','.meeting-slot')[ID_CRENEAUX]
ça ne doit pas être "compliqué" à mettre en place.
A voir à partir de combien de pharmacie ça peut valoir le coup. Sachant que ça sera AZ et Moderna.
Guillaume a reçu un message sur Twitter pour intégrer Valwin à VMD. Ils ont 700 pharmacies sur leurs rdvs.