Aller au contenu
Documentation

Transférer des fichiers

Déposer des fichiers volumineux par morceaux, les envoyer à des destinataires, puis suivre leurs téléchargements.

2 min de lecture Mise à jour le 9 novembre 2026

Un transfert envoie des fichiers à des personnes qui n'ont pas de compte : chacune reçoit un lien, protégé au besoin par un code ou un mot de passe, valable une durée choisie. Les fichiers ne passent pas par l'API : vous les déposez directement dans le stockage, par morceaux, à des adresses que l'API vous donne.

1Les bornes

GET https://staging-api.docage.com/Transfers/Limits : la taille totale permise, le nombre de fichiers et de destinataires, la taille d'un morceau, les durées de vie possibles. Un compte d'essai a des bornes plus étroites.

2Le transfert

POST https://staging-api.docage.com/Transfers
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{
  "Name": "Plans de la vitrine — Atelier Lumière",
  "Kind": 0,
  "Mode": 0,
  "Protection": 1,
  "RetentionHours": 168,
  "Message": "Bonjour Hugo, voici les plans validés.",
  "NotifyOnDownload": true
}

Mode : 0 un email à chaque destinataire, 1 un lien commun à partager vous-même. Protection : 0 aucune, 1 un code envoyé au destinataire, 2 un mot de passe (posé par PUT https://staging-api.docage.com/Transfers/{id}/Password). La réponse est l'identifiant du transfert.

3Déposer un fichier

POST https://staging-api.docage.com/Transfers/{id}/Files
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{ "Name": "plans-vitrine.pdf", "Size": 41943040 }

La réponse ouvre le dépôt : l'identifiant du fichier, la taille d'un morceau (PartSize) et leur nombre (PartCount). Demandez les adresses des morceaux, valables dix minutes :

POST https://staging-api.docage.com/Transfers/{id}/Files/{fileId}/PartUrls
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{ "PartNumbers": [1, 2, 3] }

Envoyez chaque morceau par un PUT à son adresse, sans en-tête d'authentification, et gardez l'en-tête ETag de chaque réponse. Puis fermez le dépôt :

POST https://staging-api.docage.com/Transfers/{id}/Files/{fileId}/Complete
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{ "Parts": [ { "PartNumber": 1, "ETag": "\"9b2c…\"" }, { "PartNumber": 2, "ETag": "\"41fe…\"" }, { "PartNumber": 3, "ETag": "\"0d77…\"" } ] }

Après une coupure, GET https://staging-api.docage.com/Transfers/{id}/Files/{fileId}/Parts dit les morceaux déjà reçus : reprenez aux suivants.

4Les destinataires, puis l'envoi

PUT https://staging-api.docage.com/Transfers/{id}/Recipients
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

[ { "Email": "hugo.lefevre@example.com", "DisplayName": "Hugo Lefèvre" } ]

La liste envoyée remplace la précédente ; un contact se désigne aussi par ContactId.

POST https://staging-api.docage.com/Transfers/{id}/Send
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{ "TimeZoneId": "Europe/Paris" }

Chaque destinataire reçoit son lien par email ; en lien commun, la réponse porte le lien à partager (SharedLinkUrl).

5Suivre, prolonger, révoquer

  • GET https://staging-api.docage.com/Transfers/{id}/Overview : par destinataire et par fichier, les téléchargements et leurs dates.
  • POST https://staging-api.docage.com/Transfers/{id}/Extend prolonge la durée de vie ; POST https://staging-api.docage.com/Transfers/{id}/Resend renvoie les liens.
  • POST https://staging-api.docage.com/Transfers/{id}/Revoke coupe les liens et efface les fichiers aussitôt.

Les pièges

  • Donnez exactement un ETag par morceau, tel que le stockage l'a rendu, guillemets compris.
  • Les fichiers exécutables, les scripts, les pages web et les fichiers vides sont refusés.
  • Un échec d'email à un destinataire ne fait pas échouer l'envoi : vérifiez NotifiedAtUtc de chaque destinataire dans l'aperçu.
  • Pour des fichiers déjà dans Docage (les documents d'un parcours, d'un contact…), POST https://staging-api.docage.com/Files/Transfer les copie et les envoie en une seule requête.