app.push_tickets
TablaSeguridad a nivel de fila activa
One push of one delivery to one device through the Expo push service (A65-012, ADR 0030): the ticket Expo returned, or why it refused the message, then the receipt. One row per delivery and device, so a retried delivery never pushes a device twice. Written only by the push sender's RPCs.
Clave primaria: id
| Columna | Tipo | Admite nulos | Descripción |
|---|---|---|---|
| id | uuid | No | Primary key, UUID v7. |
| org_id | uuid | No | Owning org, derived from app.notification_deliveries on insert; never accepted from the caller and never changed.Hace referencia a app.organizations.id |
| notification_delivery_id | uuid | No | Push delivery the ticket belongs to.Hace referencia a private.notification_deliveries_p202609.id |
| notification_created_at | timestamp with time zone | No | Partition key of the delivery, checked by the foreign key.Hace referencia a private.notification_deliveries_p202609.notification_created_at |
| push_subscription_id | uuid | Sí | Membership device pushed (app.push_subscriptions); null when the push went to one of the person's own devices.Hace referencia a app.push_subscriptions.id |
| expo_ticket_id | text | Sí | Ticket id the Expo push service returned; receipts are fetched by it. |
| message_status | app.message_status | No | Sent when Expo accepted the message, Delivered once the receipt confirms it reached Apple or Google, Failed on an error worth retrying, Bounced when the device is gone (DeviceNotRegistered) or the message can never be sent. |
| error_code | text | Sí | Expo error code, for example DeviceNotRegistered or MessageRateExceeded. |
| error_message | text | Sí | Expo error message. |
| receipt_checked_at | timestamp with time zone | Sí | When the receipt was read. |
| created_at | timestamp with time zone | No | When the row was inserted. Set by the database. |
| created_by | uuid | Sí | Person who inserted the row, or null for a platform process. Set by the database.Hace referencia a app.people.id |
| updated_at | timestamp with time zone | No | When the row last changed. Set by the database. |
| updated_by | uuid | Sí | Person who last changed the row, or null for a platform process. Set by the database.Hace referencia a app.people.id |
| deleted_at | timestamp with time zone | Sí | Soft delete time. A row with deleted_at set is ignored by every access helper. |
| push_service | text | No | Service that took the push: Expo for a Compass device, Web Push for a browser. A Web Push service answers at once and gives no receipt, so its accepted pushes are Delivered without a ticket id. |
| person_push_device_id | uuid | Sí | The person's own device pushed (app.person_push_devices, A101); null when the push went to a membership device.Hace referencia a app.person_push_devices.id |