Consultar el estado de una notificación
Saber si llegó, se entregó, se abrió o se descargó.
Esta es la receta que el servidor MCP entrega a los asistentes de IA, tal cual. Está en inglés porque los modelos la siguen mejor así; el asistente le responde en su idioma.
Un asistente la lee con docs({uri:"docs://recipes/check-a-notification-status"})
docs://recipes/check-a-notification-status — what happened to a notification that was sent
Use when the lawyer asks "did it arrive?", "was it delivered?", "did they open it?" about a
notification. For what those words legally mean, read docs://recipes/what-counts-as-delivered
before you answer — the words matter in court. A bounce? docs://recipes/handle-a-bounce.
1. whoami({})
→ orgId
skip if you already hold orgId
2. manage_resource({resource:"notifications", action:"notificationList", params:{orgId:"<orgId>", q:"<radicado>", limit:50}})
→ notification.id, status, subject, case
Newest first. q matches the subject, the radicado, or a recipient's name or email: pass
whatever the lawyer named. Nothing matched? Drop q and call again with limit:200. Still not
there? Stop and ask for more detail.
skip if you already hold notification.id
3. manage_resource({resource:"notifications", action:"getNotification", params:{orgId:"<orgId>", notificationId:"<notification.id>"}})
→ status, recipients[] (each with its status), attachments[], timeline[]
X_NOT_FOUND? The id is wrong or another firm's: go back to step 2.
status "draft"? It was never sent — say so. A send request may be waiting for the lawyer's
confirmation: docs://recipes/confirm-pending-sends.
status "scheduled"? Confirmed for scheduledFor, not sent: docs://recipes/send-outside-court-hours.
status "freezing" | "frozen" | "sending"? In progress, not sent yet; check again in a minute.
Do not poll more than 5 times.
status "failed"? Say so, and quote the timeline's last event.
4. Report per recipient, in plain words, with times in America/Bogota:
- "accepted" = the recipient's mail server took the message (the delivery proof).
- "opened" = a tracking pixel loaded: an INDICIO only, never proof of reading.
- "downloaded" = someone fetched an attachment through the per-recipient link.
- "acknowledged" = the recipient confirmed receipt on the recipient page.
- "bounced" | "complained" | "deferred" = say exactly that, then docs://recipes/handle-a-bounce.
Done when every recipient has a status line and a time, or you said why not.
Tips
- Read, don't infer: quote the timeline events, never guess a delivery that is not there.
- A "sent" notification with a recipient still "sent" (not "accepted") usually means the remote
server has not answered yet; minutes are normal, hours are worth mentioning.
- Several notifications of one case at once:
manage_resource({resource:"notifications", action:"caseRecipients", params:{orgId:"<orgId>", caseId:"<case.id>"}})
lists every recipient with its acuse (acknowledgedAt) and surtidaAt.
- The constancia is issued after delivery events arrive — see
docs://recipes/download-evidence-for-a-perito to fetch it.