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.
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 "$OE/broadcasts/brd_5a8c1e3f7b2d94a06c8e1f3b/recipients?filter=opened&limit=50" -H "$AUTH"{ "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
| Estado | Código | Cuándo |
|---|---|---|
| 400 | invalid_cursor | En la lista de destinatarios, un cursor que esa lista no entregó. |
| 403 | insufficient_scope | La clave no tiene emails:read. |
| 404 | broadcast_not_found | El 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. |
| 404 | recipient_not_found | En GET /broadcasts/{id}/recipients/{emailId}, un emailId que no es una copia de este envío masivo. |