Cahier des charges — branchements API
Document de référence pour le profil MEDIA_MANAGER et les équipes qui construiront la vitrine externe (design guideline séparé). Toute intégration passe par l’API REST MyAgrichem — WEB-05 : aucun accès direct à la base.
Console CMS opérationnelle
· Spec fondation : docs/V8.1_FOUNDATION.md §17, §14.20, §22.16–22.20
Règles absolues (vitrine)
- WEB-01 — Jamais de prix (DA, DZD, montants) dans les contenus ni les métadonnées exposées.
- WEB-02 — Le Media Manager n’accède pas aux modules BUS_, FAC_, INC_, STATS.
- WEB-03 — Tout contenu et toute liaison Solutions sont validés avant publication publique.
- WEB-05 — Consommer uniquement les routes documentées ci-dessous (+ Sanctum pour le back-office).
1. API publique (sans authentification)
Base : https://myagrichem.madvisor.app/api/web/public
| Méthode | Route | Usage vitrine |
|---|---|---|
| GET | /cultures | Liste cultures (moteur Solutions) |
| GET | /cultures/{id}/problems | Problèmes / maladies par culture |
| GET | /solutions?culture_id=&problem_id= | Produits recommandés + contenus liés (vidéos, témoignages) sans prix |
| GET | /contents?type=ARTICLE|VIDEO|TESTIMONIAL | Actualités, médias publiés |
| GET | /distributors?wilaya= | Carte points de vente |
| POST | /leads | Formulaire contact — champ correlation_id pour idempotence |
Réponse /solutions : chaque recommandation inclut contents[] (articles, vidéos, témoignages publiés et rattachés par le back-office).
2. Flux catalogue (authentifié — préchargement CMS)
GET /api/web/feed/catalog — Bearer Sanctum · permission WEB_CMS_MANAGE ou WEB_SOLUTIONS_WRITE.
Retourne produits ACTIF (sans prix), cultures, distributeurs actifs.
3. Workflow contenus (Media Manager)
États : BROUILLON → EN_ATTENTE → (REVISION_DEMANDEE) → VALIDE → PUBLIE → ARCHIVE.
POST /api/web/contents | Créer brouillon — types : ARTICLE, VIDEO, TESTIMONIAL, PRODUCT_PAGE, INSTITUTIONAL |
POST …/contents/{id}/submit | Soumettre (contrôle prix WEB-01) |
POST …/contents/{id}/publish | Publier si statut VALIDE (auto-publication possible via config) |
POST …/contents/{id}/archive | Retirer du site |
Validateurs : ARTICLE/VIDEO/TESTIMONIAL → DCM · Fiche produit → PM gamme · Institutionnel → CEO.
4. Moteur Solutions (liaison produit + médias)
États liaison : BROUILLON → EN_ATTENTE → PUBLIE (validation PM).
POST /api/web/solutions/draft | Proposer culture + problème + produit (Media ou PM) |
POST …/solutions/{id}/submit | Soumettre au PM |
POST …/solutions/{id}/contents | Rattacher contenu déjà PUBLIE — body : content_id, asset_role (ARTICLE|VIDEO|TESTIMONIAL) |
DELETE …/solutions/{id}/contents/{contentId} | Retirer un média |
Ordre recommandé : 1) publier les vidéos/témoignages · 2) valider la liaison produit (PM) · 3) rattacher les médias à la solution publiée.
5. Distributeurs & leads (périmètres)
POST /api/web/distributors— Media Manager : points de vente carte.- Leads : saisis via API publique ; qualification / promotion CRM = DCM / CEO uniquement (
WEB_LEADS_PROMOTE).
6. Sections vitrine ↔ types de contenu
| Section brief | Source API |
|---|---|
| Accueil | /contents + campagnes metadata |
| Produits | /feed/catalog (interne) · fiches PRODUCT_PAGE |
| Solutions | /cultures + /solutions |
| Actualités | /contents?type=ARTICLE |
| Contact | POST /leads |
| Distributeurs | /distributors |