Skip to content

API — Pièces jointes

Gestion centralisée des pièces jointes : archives sur NAS et live Gmail.


Pièces jointes archivées

GET /api/attachments/:accountId/archived 🔒

Liste les PJ des mails archivés avec pagination, tri et recherche.

Query params

ParamDéfautDescription
page1Numéro de page
limit50Résultats par page
sortsizeTri : size ou date
orderdescOrdre : asc ou desc
qRecherche dans filename, subject, sender

Réponse 200

json
{
  "attachments": [
    {
      "id": "uuid",
      "filename": "facture-mars-2026.pdf",
      "mime_type": "application/pdf",
      "size_bytes": 245000,
      "file_path": "/archives/...",
      "mail_subject": "Votre facture",
      "mail_sender": "billing@service.com",
      "mail_date": "2026-03-01T10:00:00Z",
      "gmail_message_id": "msg-123",
      "archived_mail_id": "uuid"
    }
  ],
  "total": 156,
  "totalSizeBytes": 52428800,
  "page": 1,
  "limit": 50
}

Pièces jointes live Gmail

GET /api/attachments/:accountId/live 🔒

Scanne les mails Gmail avec PJ (> 100 Ko) directement via l'API Gmail.

Query params

ParamDéfautDescription
maxResults200Nombre max de messages à scanner (max 500)

Réponse 200

json
{
  "attachments": [
    {
      "messageId": "msg-456",
      "filename": "photo.jpg",
      "mimeType": "image/jpeg",
      "sizeBytes": 1500000,
      "mailSubject": "Vacances",
      "mailSender": "ami@gmail.com",
      "mailDate": "2026-02-15",
      "mailSizeEstimate": 1600000
    }
  ],
  "totalSizeBytes": 45000000
}

Throttling Gmail API

Le scan live respecte les quotas Gmail API avec un batch de 100 messages max et une pause de 500ms entre chaque batch.