Ves a la documentació
SDK

Contactes

`contacts.list`, `get`, `create`, `update` i `delete`.

Tots els mètodes

usage.ts
const page = await openemail.contacts.list({ limit: 100 })  const contact = await openemail.contacts.get('[email protected]')   const saved = await openemail.contacts.create({    email: '[email protected]',    name: 'Grace Hopper',    notes: 'Met at the compiler workshop',  })   await openemail.contacts.update(saved.email, { notes: null })  await openemail.contacts.delete(saved.email)   console.log(page.items.length, page.hasMore, contact.source, contact.lastSeenAt)

Primer els vistos més recentment, i al final els contactes als quals mai no s'ha escrit. source és auto quan la fila es va escriure perquè un membre va enviar un missatge a aquella adreça des del redactor de l'aplicació, cosa que és una afirmació materialment diferent de dir que algú l'ha desada. El correu que arriba d'una adreça no escriu res, i un enviament a través d'aquesta API tampoc.

La llibreta pertany a l'espai de treball i no pas a una sola persona, de manera que un contacte desat per qualsevol membre és el contacte que veuen tots els membres i totes les claus. create escriu source com a manual i posa el contacte a l'audiència per defecte en el moment d'escriure'l. Anomena llistes teves a audienceIds per afegir-l'hi en la mateixa crida, cosa que també necessita audiences:write, o afegeix el contacte més tard amb openemail.audiences.addContact.

Les adreces es desen en minúscules i el client codifica la que li passes, de manera que [email protected] arriba a la fila correcta. L'adreça és la identitat, així que update no la pot canviar: moure un contacte és un delete i un create.

Paràmetres: contacts.list

limitnumber
Quants contactes s'han de retornar per pàgina: un integer d'1 a 200, amb 50 per defecte. Es converteix, de manera que un `'100'` vingut d'una query string va bé, i un valor fora del rang és un 422 i no pas un valor retallat.
cursorstring
El `nextCursor` de la pàgina anterior. No en construeixis mai cap tu: un cursor que anomena un contacte que ja no existeix és un 400 `invalid_cursor`, cosa que vol dir que el teu estat de paginació és obsolet i que el recorregut s'ha de reiniciar sense cursor.
sourceContactSource
`'manual'` per als contactes que algú ha desat expressament, `'auto'` per als que ha registrat el redactor de l'aplicació. Omet-lo per obtenir tota la llibreta.

Resposta: ContactResource

contacts.list es resol en un Page<ContactResource>, de manera que les files són a page.items i el recorregut segueix page.nextCursor mentre page.hasMore sigui cert. get, create i update es resolen cadascun en un ContactDetailResource, la mateixa fila més audiences. La llibreta d'adreces no té límit, i per això aquesta ruta pagina en comptes de retornar un array que s'aturava a 200 sense dir-ho.

object'contact'
Sempre la cadena `contact`, tant a les files de la llista com a `get`.
emailstring
L'adreça, passada a minúscules en escriure-la perquè `[email protected]` i `[email protected]` siguin un sol contacte, i la clau que pren cada mètode de contacts, ja que no s'exposa cap id de contacte. Les files pertanyen a l'espai de treball i no pas al membre o la clau que les van escriure, de manera que tots els membres i totes les claus de l'espai de treball llegeixen i escriuen una sola llibreta d'adreces.
namestring | null
El nom visible. Null quan mai no s'ha registrat cap nom per a l'adreça. Una escriptura automàtica en porta un només quan la capçalera va proporcionar alguna cosa diferent de l'adreça mateixa, i no pot sobreescriure mai un nom que hagi escrit l'usuari.
source'manual' | 'auto' | (string & {})
`auto` vol dir que la fila es va escriure perquè l'usuari va enviar correu a aquella adreça; `manual` vol dir que algú la va introduir a mà, una afirmació materialment diferent, i un upsert no rebaixa mai `manual` a `auto`. El correu que arriba d'una adreça no escriu cap fila, deliberadament, de manera que algú que només t'ha escrit no hi és; la unió es manté oberta perquè la columna és text lliure amb `manual` per defecte.
notesstring | null
Text lliure que algú ha escrit sobre aquesta persona, a l'aplicació o mitjançant `update`, mai generat. Null quan ningú no n'ha escrit, i un null explícit a `update` el buida.
lastSeenAtstring | null
ISO-8601 UTC, actualitzat cada vegada que un membre envia a aquella adreça des del redactor de l'aplicació, no pas quan n'arriba correu, cosa que no escriu res. Null en un contacte desat amb `create` al qual mai no s'ha escrit, i aquests queden al final de l'ordre descendent per `lastSeenAt` que retorna aquesta ruta.
audiencesArray<ContactAudienceResource>
Només a `get`, `create` i `update`, mai a les files de la llista. Totes les audiències on és el contacte, com a `{ id, name, builtin }`, inclosa la per defecte. `builtin` és `default` a l'audiència a la qual pertanyen tots els contactes i null en una que hagi creat algú, així que ramifica segons això i no segons el nom, que qualsevol pot canviar.