Télécharger les fichiers uploadés par un usager sur son dossier

Exemple d'implémentation pour récupérer l'URL des fichiers des champs d'un dossier. Une fois ces URL récupérées vous pouvez les télécharger avec la méthode de votre choix.

Nous recommandons de paralléliser / asynchroniser le téléchargement des fichiers. En effet, un dossier peut avoir de nombreuses PJ, qui elle même peuvent peser jusqu'a 200Mo.

Pour ajouter les URLs des fichiers à votre code existant, Il vous faut ajouter le FileFragment au ChampFragment :

  fragment ChampFragment on Champ {
    ... on PieceJustificativeChamp {
      files {
        ...FileFragment
      }
    }
  }
  
  fragment FileFragment on File {
    filename
    contentType
    checksum
    byteSize: byteSizeBigInt
    url
  }

Vous pouvez tester en executant le script suivant avec les variables d'environnement adaptées :

API_TOKEN="votre_token" DEMARCHE_NUMBER=votre_numero_de_demarche ruby downloader.rb

Pour faciliter la lecture du code, la query complète GraphQL est fournie en PJ

query GraphQL minimaliste pour lister les type de champs Piece Justificative ainsi que les fichiers associéés

Ensuite, vous pouvez executer ce code ruby

Mis à jour