Ir a la documentación
SDK

Audiencias

`audiences.list`, `get`, `create`, `update`, `delete`, `listContacts`, `addContact` y `removeContact`.

Todos los métodos

audiences.ts
const audiences = await openemail.audiences.list()const everyone = audiences.find((audience) => audience.builtin === 'default') const list = await openemail.audiences.create({  name: 'Product updates',  description: 'Customers who asked to hear about releases',}) await openemail.contacts.create({ email: '[email protected]', name: 'Grace Hopper' })await openemail.audiences.addContact(list.id, { email: '[email protected]' }) const members = await openemail.audiences.listContacts(list.id, { limit: 200 }) await openemail.audiences.update(list.id, { name: 'Release notes' })await openemail.audiences.removeContact(list.id, '[email protected]')await openemail.audiences.delete(list.id) console.log(everyone?.contactCount, members.length)

Una audiencia es una lista de contactos con nombre dentro de este espacio de trabajo. Todo contacto está en la audiencia predeterminada integrada desde el momento en que existe, y builtin es lo que identifica esa fila; las demás son tuyas para crearlas, llenarlas y eliminarlas. Ramifica según builtin y no según el nombre, que cualquiera puede cambiar.

Esta versión gestiona listas y no les envía nada. No hay ningún método de difusión que buscar, y poner un contacto en una audiencia es una escritura sobre la audiencia y no sobre el contacto, así que audiences:write es el único ámbito que se comprueba.

addContact acepta una dirección que ya es un contacto y rechaza la que no lo es, con 422 contact_not_found. Guárdala antes con openemail.contacts.create. Añadir a alguien dos veces responde con la pertenencia que ya existe, con su addedAt original, así que la llamada se puede reintentar sin riesgo.

La audiencia predeterminada se puede renombrar y describir como cualquier otra, pero no se puede eliminar ni vaciar parcialmente. Ambas cosas se rechazan con 409 audience_immutable. Elimina el contacto cuando lo que quieras es que se vaya el contacto.

Respuesta: AudienceResource

list se resuelve en un array simple de estos, con la audiencia predeterminada primero y el resto de la más reciente a la más antigua, y get, create y update se resuelven cada uno en uno solo. listContacts, en cambio, se resuelve en un array de ContactResource: los contactos en sí, no registros de pertenencia.

idstring
El identificador duradero, `aud_` seguido de 24 caracteres hexadecimales. Los nombres no son únicos, así que esto es lo que debe ir en la configuración almacenada.
namestring
Se recortan los espacios al escribir, de 1 a 120 caracteres. Dos audiencias pueden compartir nombre, porque una audiencia se referencia por su id.
descriptionstring | null
Texto libre para quien lea la lista más adelante. Null cuando nadie escribió nada, y un null explícito en `update` lo borra.
builtin'default' | (string & {}) | null
`default` en exactamente una fila por espacio de trabajo, la audiencia que contiene todos los contactos, y null en todas las audiencias creadas por alguien. La unión se mantiene abierta para que una integrada añadida más adelante siga acotándose en un editor sin romper el tipo publicado.
contactCountnumber
Cuántos contactos hay en la audiencia, contados en el momento de la lectura en lugar de almacenarse en caché. Dos lecturas a uno y otro lado de un `contacts.create` difieren en uno.
createdAtstring
ISO-8601 UTC, cuándo se creó la audiencia. Determina el orden de la lista después de la predeterminada.
updatedAtstring
ISO-8601 UTC, se actualiza al renombrar o al cambiar la descripción. Los cambios de pertenencia no lo tocan.