Audiences
`audiences.list`, `get`, `create`, `update`, `delete`, `listContacts`, `addContact` und `removeContact`.
Jede Methode
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)Eine Audience ist eine benannte Kontaktliste in diesem Workspace. Jeder Kontakt gehört ab dem Moment seiner Existenz zur eingebauten Standard-Audience, und builtin ist das, was diese Zeile benennt; die übrigen legen Sie an, füllen Sie und löschen Sie selbst. Verzweigen Sie auf builtin statt auf den Namen, den jeder ändern kann.
Diese Version verwaltet Listen und sendet nichts an sie. Es gibt keine Broadcast-Methode, nach der man suchen müsste, und einen Kontakt in eine Audience zu legen ist ein Schreibzugriff auf die Audience und nicht auf den Kontakt; deshalb wird allein audiences:write geprüft.
addContact nimmt eine Adresse, die bereits ein Kontakt ist, und lehnt eine ab, die es nicht ist, mit 422 contact_not_found. Speichern Sie sie zuerst mit openemail.contacts.create. Wer jemanden zweimal hinzufügt, erhält die bereits bestehende Mitgliedschaft samt ihrem ursprünglichen addedAt zurück; der Aufruf lässt sich also gefahrlos wiederholen.
Die Standard-Audience lässt sich wie jede andere umbenennen und beschreiben, aber sie lässt sich nicht löschen und nicht ausdünnen. Beides wird mit 409 audience_immutable abgelehnt. Löschen Sie den Kontakt, wenn der Kontakt gehen soll.
Response: AudienceResource
list löst zu einem einfachen Array davon auf, die Standard-Audience zuerst und der Rest neueste zuerst, und get, create und update lösen jeweils zu einer auf. listContacts löst stattdessen zu einem Array von ContactResource auf, also zu den Kontakten selbst und nicht zu Mitgliedschaftsdatensätzen.
idstring- Der dauerhafte Bezeichner, `aud_` gefolgt von 24 Hexzeichen. Namen sind nicht eindeutig, das hier gehört also in eine gespeicherte Konfiguration.
namestring- Beim Schreiben getrimmt, 1 bis 120 Zeichen. Zwei Audiences dürfen sich einen Namen teilen, denn eine Audience wird über ihre id adressiert.
descriptionstring | null- Freier Text für alle, die die Liste später lesen. Null, wenn niemand etwas geschrieben hat, und ein ausdrückliches null bei `update` löscht ihn.
builtin'default' | (string & {}) | null- `default` bei genau einer Zeile pro Workspace, der Audience, die jeden Kontakt enthält, und null bei jeder Audience, die jemand angelegt hat. Die Union bleibt offen, damit ein später hinzugefügter Builtin im Editor eingrenzt, ohne den veröffentlichten Typ zu brechen.
contactCountnumber- Wie viele Kontakte in der Audience sind, gezählt im Moment des Lesens und nicht gecacht. Zwei Lesevorgänge beiderseits eines `contacts.create` weichen um eins voneinander ab.
createdAtstring- ISO-8601 UTC, wann die Audience angelegt wurde. Bestimmt die Listenreihenfolge nach der Standard-Audience.
updatedAtstring- ISO-8601 UTC, angehoben durch eine Umbenennung oder eine Beschreibungsänderung. Mitgliedschaftsänderungen rühren es nicht an.