Public
Scanner QR retours Ecotrack / OM Express + validation
ecotrackhonologisticsmobileom-expressqr-scannerreactreturnssqlite
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Application mobile de scan de QR codes de colis retournés, avec vérification du statut dans OM Express / Ecotrack et validation officielle du retour.
Projet totalement indépendant des autres applications SAMI.TECH : code, logique, base SQLite et fonctions propres à ce val.
- Déverrouillage par schéma Android 3×3 (hash PBKDF2-SHA256 salé, côté serveur).
- La caméra arrière démarre automatiquement après déverrouillage et ne se ferme plus.
- Le scanner QR reste actif en continu : QR détecté → pause logique → traitement → reprise.
- Le backend relit le colis dans Ecotrack et décide seul de l'éligibilité.
- La validation n'est proposée que pour
retour_recuoulivraison_echoue_recu.
| Niveau | Signification |
|---|---|
| 1 | QR détecté |
| 2 | Tracking trouvé dans OM Express |
| 3 | Tracking éligible au retour (retour_recu / livraison_echoue_recu) |
| 4 | Retour réellement validé (returned = "success" ou confirmation après relecture) |
Un QR détecté ne signifie jamais que le retour est validé.
Rendering mermaid diagram...
| Méthode | Route | Rôle |
|---|---|---|
| GET | /health | Santé ({ "ok": true }) |
| GET | /api/access/status | Schéma configuré ? session ouverte ? |
| POST | /api/access/setup | Créer le schéma (une seule fois) |
| POST | /api/access/unlock | Déverrouiller (cookie sami_access, ~12 h) |
| POST | /api/access/logout | Verrouiller |
| GET | /api/config | apiSaved |
| GET/POST/DELETE | /api/ecotrack/settings | Token API (jamais réaffiché) |
| POST | /api/validate | Vérifier un tracking |
| POST | /api/return/validate | Valider un retour (mutation) |
- Vérification token :
GET /api/v1/validate/token - Lecture colis :
GET /api/v1/get/orders?tracking=... - Validation retour :
POST /api/v1/valid/returnsavec{ "trackings": ["..."] }
/retours/recu/validated— dépendait d'une session web Ecotrack (HTTP 403)./api/v1/valid/order— autre opération, ne remplace pas/valid/returns.
API_NOT_CONFIGURED, ECOTRACK_READ_ERROR, ECOTRACK_BAD_RESPONSE, TRACKING_NOT_FOUND,
TRACKING_FOUND, ECOTRACK_NETWORK_ERROR, RETURN_NOT_READY, RETURN_INVALID,
RETURN_API_ERROR, RETURN_NOT_ELIGIBLE, RETURN_VALIDATED, RETURN_ACCEPTED_UNCONFIRMED,
RETURN_UNEXPECTED_RESPONSE, RETURN_NETWORK_ERROR.
- Le token API est stocké côté serveur dans
app_settings.ecotrack_api_credentials(cléecotrack_api_credentials, format{ "apiToken": "..." }). - Il n'est jamais renvoyé au navigateur, jamais loggé, jamais placé en URL publique.
- Le schéma est stocké sous forme de hash salé ; les sessions ne stockent que le SHA-256 du token.
- Les logs de validation ne contiennent que
httpStatus,returnedetemptyBody.
- Ouvrir l'application — le schéma 3×3 est demandé (à créer puis confirmer).
- Icône ⚙ → coller le token API Ecotrack →
ENREGISTRER L'API. - La caméra démarre automatiquement : scanner un QR de colis.
- Si le colis est éligible,
VALIDER LE RETOURapparaît ; sinon le scanner reprend seul.
La base SQLite et les réglages sont propres à ce val. Aucune donnée n'est partagée avec une autre application SAMI.TECH.