Ir a la documentación
API

Listar los destinatarios de un envío masivo

Todas las personas a las que fue el envío masivo, una fila por copia, ordenadas por dirección: el id de la copia, su estado, cuándo se envió y se entregó, si rebotó o se marcó como spam, cuántas veces se abrió y se hizo clic, y si la persona se dio de baja después de que saliera.

GETapi.openemail.uk/broadcasts/{id}/recipients

Ejecuta la llamada real contra tu espacio de trabajo, con tu propia clave.

GET /broadcasts/{id}/recipients

Todas las personas a las que fue el envío masivo, una fila por copia, ordenadas por dirección: el id de la copia, su estado, cuándo se envió y se entregó, si rebotó o se marcó como spam, cuántas veces se abrió y se hizo clic, y si la persona se dio de baja después de que saliera.

Parámetros

idstringobligatorio
En la ruta. Un id `brd_` de `POST /broadcasts` o `GET /broadcasts`.
filterstring
Se queda con un grupo: `pending` (aún en cola o enviándose), `sent`, `delivered`, `opened`, `not_opened` (enviadas y nunca abiertas), `clicked`, `bounced`, `complained`, `failed` (fallidas o canceladas) o `unsubscribed`.
qstring
Busca en la dirección y el nombre, sin distinguir mayúsculas. Hasta 200 caracteres.
limitinteger
Filas por página, de 1 a 200. Por defecto, 50.
cursorstring
El `nextCursor` de la página anterior, devuelto tal como llegó, con los mismos `filter` y `q`. Guarda dónde estaba la última fila, así que una fila que cambia entre páginas nunca rompe el recorrido.

Ejemplo

Necesita emails:read. La respuesta es una página de filas broadcast_recipient.

curl
curl "$OE/broadcasts/brd_5a8c1e3f7b2d94a06c8e1f3b/recipients?filter=opened&limit=50" -H "$AUTH"
Respuesta
{  "object": "list",  "data": [    {      "object": "broadcast_recipient",      "emailId": "msg_01dad25067bc4dac966d515d",      "contactId": "6f1c2a8e-3b4d-4e9f-a1c7-2d5e8b0f9a34",      "email": "[email protected]",      "name": "Ada Lovelace",      "status": "sent",      "sentAt": "2026-09-23T12:00:09.000Z",      "deliveredAt": "2026-09-23T12:00:11.000Z",      "bouncedAt": null,      "complainedAt": null,      "failure": null,      "opens": 3,      "firstOpenAt": "2026-09-23T12:14:30.000Z",      "clicks": 1,      "firstClickAt": "2026-09-23T12:15:02.000Z",      "unsubscribedAt": null    }  ],  "hasMore": true,  "nextCursor": "WyJhZGFAZXhhbXBsZS5jb20iLCJtc2dfMDFkYWQyNTA2N2JjNGRhYzk2NmQ1MTVkIl0"}

Las aperturas y los clics excluyen los proxies de imágenes y los escáneres de enlaces, y se quedan en 0 cuando el envío masivo se hizo con el seguimiento desactivado.

status es el estado de la copia en el registro de envíos: queued, scheduled, sending, sent, failed o cancelled. deliveredAt, bouncedAt y complainedAt son el primer email.delivered, email.bounced y email.complained de la copia, y failure dice por qué falló una copia.

unsubscribedAt es cuándo la persona se dio de baja de una de las audiencias del envío masivo después de que saliera, con su enlace o de otra forma. contactId es null cuando el contacto se ha eliminado desde entonces.

emailId es el id msg_ de la copia. GET /broadcasts/{id}/recipients/{emailId} la lee con su contenido, y GET /emails/{id} la lee como correo enviado.

Rechazos

EstadoCódigoCuándo
400invalid_cursorEn la lista de destinatarios, un cursor que esa lista no entregó.
403insufficient_scopeLa clave no tiene emails:read.
404broadcast_not_foundEl id no nombra ningún envío masivo de este espacio de trabajo, o la clave está limitada a direcciones o dominios concretos y el envío masivo salió de uno que no tiene.
404recipient_not_foundEn GET /broadcasts/{id}/recipients/{emailId}, un emailId que no es una copia de este envío masivo.