Data sync
Scheduled jobs between the portal and the DMS — the pulls that bring documents in, and the purge notices that send deletions back out.
5 scheduled jobs
Each row is an automated DMS job. Failed and running jobs surface their latest message.
| Job | Schedule | Endpoint | Last run | Next run | Records | Status |
|---|---|---|---|---|---|---|
Retention purge notice outbound Sent 2 purge notices. 1 was rejected by the DMS (CNT-UPD-2026) and will retry tomorrow. | Daily at 01:00 | /dms/v1/files/purge-notice | 25 Jun 2026 · 01:002.5s | 26 Jun 2026 · 01:00 | 2 | Healthy |
Forecast pull inbound· Forecast | Hourly at :05 | /dms/v1/forecasts | 25 Jun 2026 · 09:051.8s | 25 Jun 2026 · 10:05 | 4 | Healthy |
Purchase order pull inbound· Order Run in progress — pulling firm orders for the 01–05 Jul window. | Every 30 min | /dms/v1/orders | 25 Jun 2026 · 09:302.3s | 25 Jun 2026 · 10:00 | 6 | Running |
Invitation pull inbound· Invitation | Every 15 min | /dms/v1/invitations | 25 Jun 2026 · 09:45940 ms | 25 Jun 2026 · 10:00 | 3 | Healthy |
Survey & assessment pull inbound· Survey DMS 504 — SPTT endpoint timed out after 5s. Auto-retry at next window. | Every 6 hours | /dms/v1/surveys | 25 Jun 2026 · 06:005.1s | 25 Jun 2026 · 12:00 | 0 | Failed |
Files due to leave the DMS
Every publication with a retention end date, and where its purge notice stands.
Contract — calls this job makes
Not wired up in the mockup. These are the request and response shapes the backend has to implement.
- POST/dms/v1/files/purge-noticeNotifyFilePurge→ 202 Accepted
Ask the DMS to delete a publication's files
Request{ "documentId": "CNT-UPD-2026", "dmsFileIds": [ "DMS-S-11001" ], "retentionEndDate": "2026-06-22", "requestedBy": "supplier-portal/retention-job" }Response{ "accepted": 1, "rejected": 0, "jobId": "purge_2026-06-25_001" }Field Source Type Meaning documentId DOC_ID string Publication whose files should be removed dmsFileIds[] FILE_ID string[] The DMS file ids pulled for this publication retentionEndDate RETENTION_DT ISO date The date that triggered the notice accepted — number Files the DMS queued for deletion rejected — number Files the DMS refused (locked, already gone) A write — never cache. Must be idempotent on (documentId, retentionEndDate) so a retried run cannot double-delete.
- PUT/dms/v1/filesPutAnnouncementAttachment→ 201 Created
Store an announcement attachment in the DMS
Request{ "fileName": "Monthly_Info_Jun2026.pdf", "contentType": "application/pdf", "sizeKb": 2480, "ownerType": "announcement", "ownerId": "ann-monthly-info-jun", "content": "<multipart/form-data — omitted>" }Response{ "dmsFileId": "DMS-A-70011", "storedAt": "2026-06-20T10:18:41+07:00" }Field Source Type Meaning ownerType — enum announcement (portal-authored content) dmsFileId FILE_ID string Identifier the DMS assigns — needed by NotifyFilePurge storedAt STORED_DT ISO datetime When the DMS accepted the file A write — never cache. The returned dmsFileId must be stored on the attachment so the purge notice can reference it later.