Bêta

Gestion des marchés

API de bout en bout pour soumettre et télécharger des offres sur 5 portails d'appels d'offres publics. Chiffrement, téléversement de fichiers et journalisation étape par étape — le tout via une API REST unifiée. Actuellement en phase de test bêta — pour y accéder, contactez-nous.

Portails pris en charge

GET/api/v2/procurement/portals

NEN (nen.nipez.cz), E-ZAK (URL d'instance), TenderArena, Eveza (URL d'instance), E-zakazky.cz (URL d'instance). Les portails E-ZAK, Eveza et E-zakazky requièrent portalUrl — l'URL de l'instance spécifique.

Soumettre une offre

POST/api/v2/procurement/bids

Paramètres body

ParamètreTypeDescription
portal*stringNEN | EZAK | TENDERARENA | EVEZA | EZAKAZKY
tenderId*stringID du marché sur le portail
credentialIdstringID de l'accès enregistré (ou credentials)
credentialsobjectObjet avec les champs username, password et (optionnellement) portalUrl — alternative à credentialId
filesarrayTableau d'objets (name, url, size) — fichiers de l'offre
criteriaarrayTableau d'objets (name, value) — critères d'évaluation
tenderTitlestringNom du marché (pour la vue d'ensemble)
dryRunbooleantrue = test sans envoi final
curl -X POST https://veritra.io/api/v2/procurement/bids \
  -H "X-API-Key: mrw_procurement_..." \
  -H "Content-Type: application/json" \
  -d '{
    "portal": "NEN",
    "tenderId": "N006-24-V00012345",
    "credentialId": "clx1abc...",
    "files": [{"name": "offre.pdf", "url": "https://..."}],
    "criteria": [{"name": "Prix de l'offre", "value": "1500000"}]
  }'
{
  "jobId": "clx1abc...",
  "status": "PENDING",
  "message": "Job created — will be processed by cron"
}

Statut du job

GET/api/v2/procurement/bids/:jobId
{
  "id": "clx1abc...",
  "type": "SUBMIT_BID",
  "status": "COMPLETED",
  "portal": "NEN",
  "steps": [
    {"step": 1, "action": "login", "status": "ok", "durationMs": 1240},
    {"step": 2, "action": "load_tender", "status": "ok", "durationMs": 890},
    {"step": 3, "action": "encrypt", "status": "ok", "durationMs": 320},
    {"step": 4, "action": "upload_file", "status": "ok", "durationMs": 2100},
    {"step": 5, "action": "submit", "status": "ok", "durationMs": 1560}
  ]
}

Liste des offres

GET/api/v2/procurement/bids

Télécharger une offre

DELETE/api/v2/procurement/bids/:jobId

Paramètres body

ParamètreTypeDescription
reasonstringMotif du retrait (facultatif)

Analyse IA

POST/api/v2/procurement/analyze
ParamètreTypeDescription
tenderId*stringID du marché dans la base de données RWX

Retourne un JSON structuré avec plus de 50 champs : intitulé, valeur, critères, qualifications, risques, recommandations IA, estimation des chances de succès.

Accès aux portails

Vous gérez les accès aux portails dans le tableau de bord sur /dashboard/procurement/credentials. Les mots de passe sont chiffrés en AES-256-GCM et ne sont jamais stockés en texte clair.

Coûts en crédits

ParamètreTypeDescription
Soumission d'une offrePOST bids50 crédits
Retrait d'une offreDELETE bids/:id20 crédits
Analyse IAPOST analyze10 crédits
Lecture (liste, détail)GET1 crédit
Liste des portailsGET portals0 crédit

Workflow

Procédure type : 1) Enregistrer les identifiants dans le tableau de bord → 2) Tester la connexion → 3) Rechercher un marché (GET tenders) → 4) Analyser la documentation (POST analyze) → 5) Soumettre une offre (POST bids) → 6) Suivre l'état (GET bids/:jobId)