Névjegyek
`contacts.list`, `get`, `create`, `update` és `delete`.
Az összes metódus
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)Elöl a legutóbb látottak, hátul azok a névjegyek, akiknek soha nem ment levél. A source értéke auto, ha a sor azért íródott, mert egy tag az alkalmazás szerkesztőjéből üzenetet küldött arra a címre, ami lényegileg más állítás, mint hogy valaki elmentette. Az adott címről érkező levél semmit nem ír, és az ezen az API-n keresztüli küldés sem.
A címjegyzék a munkaterülethez tartozik, nem egy emberhez, így a bármelyik tag által elmentett névjegyet minden tag és minden kulcs látja. A create a source mezőt manual értékkel írja, és a névjegyet írás közben beteszi az alapértelmezett célközönségbe. Saját listáidat az audienceIds mezőben nevezd meg, ha ugyanabban a hívásban akarsz csatlakozni hozzájuk – ehhez audiences:write is kell –, vagy add hozzá a névjegyet később az openemail.audiences.addContact hívással.
A címeket kisbetűsítve tároljuk, az átadottat pedig a kliens kódolja, így az [email protected] a megfelelő sorhoz jut el. A cím az identitás, ezért az update nem tudja megváltoztatni: a névjegy áthelyezése egy delete és egy create.
Paraméterek: contacts.list
limitnumber- Hány névjegyet adjon vissza oldalanként: 1 és 200 közötti egész szám, alapértelmezés szerint 50. Konvertáljuk, így a lekérdezési sztringből érkező `'100'` is jó, a tartományon kívüli érték pedig 422, nem pedig levágott érték.
cursorstring- Az előző oldal `nextCursor` értéke. Soha ne állítsd elő magad: az a kurzor, amely már nem létező névjegyet nevez meg, 400 `invalid_cursor` hibát ad, ami azt jelenti, hogy a lapozási állapotod elavult, és a bejárást kurzor nélkül kell újrakezdeni.
sourceContactSource- `'manual'` azoknak a névjegyeknek, amelyeket valaki szándékosan mentett el, `'auto'` azoknak, amelyeket az alkalmazás szerkesztője rögzített. Hagyd ki a teljes címjegyzékhez.
Válasz: ContactResource
A contacts.list egy Page<ContactResource> értékkel tér vissza, tehát a sorok a page.items mezőben vannak, a bejárás pedig a page.nextCursor értékét követi, amíg a page.hasMore igaz. A get, a create és az update egy-egy ContactDetailResource értékkel tér vissza: ugyanaz a sor, plusz az audiences. A címjegyzék korlátlan, ezért lapoz ez az útvonal, ahelyett hogy olyan tömböt adna vissza, amely csendben megállt 200 sornál.
object'contact'- Mindig a `contact` sztring, a listasorokon és a `get` hívásnál egyaránt.
emailstring- A cím, íráskor kisbetűsítve, így a `[email protected]` és a `[email protected]` egy névjegy, és ez az a kulcs, amelyet minden contacts-metódus vár, mivel névjegyazonosítót nem teszünk közzé. A sorok a munkaterülethez tartoznak, nem ahhoz a taghoz vagy kulcshoz, amely írta őket, így a munkaterület minden tagja és minden kulcsa ugyanazt az egy címjegyzéket olvassa és írja.
namestring | null- A megjelenítendő név. Null, ha a címhez soha nem rögzítettünk nevet. Az automatikus írás csak akkor hordoz nevet, ha a fejléc a címen kívül mást is megadott, és soha nem írhatja felül a felhasználó által beírt nevet.
source'manual' | 'auto' | (string & {})- Az `auto` azt jelenti, hogy a sor azért íródott, mert a felhasználó levelet küldött arra a címre; a `manual` azt, hogy valaki kézzel vitte be – ez lényegileg más állítás –, és egy upsert soha nem minősíti vissza a `manual` értéket `auto`-ra. Az adott címről ÉRKEZŐ levél szándékosan egyetlen sort sem ír, tehát aki csak írt neked valaha, az nincs itt; az unió azért marad nyitva, mert az oszlop szabad szöveg, `manual` alapértelmezéssel.
notesstring | null- Szabad szöveg, amelyet valaki erről a személyről írt, az alkalmazásban vagy az `update` hívásban – soha nem generált. Null, ha senki nem írt ilyet, és az `update` hívásban megadott explicit null törli.
lastSeenAtstring | null- ISO-8601 UTC, amelyet minden alkalommal frissítünk, amikor egy tag az alkalmazás szerkesztőjéből arra a címre küld, de nem akkor, amikor onnan levél érkezik – az semmit nem ír. Null azon a `create` hívással mentett névjegyen, amelynek soha nem küldtek levelet, és ezek kerülnek a végére abban a csökkenő `lastSeenAt` sorrendben, amelyet ez az útvonal visszaad.
audiencesArray<ContactAudienceResource>- Csak a `get`, a `create` és az `update` hívásnál van jelen, a listasorokon soha. A névjegy összes célközönsége `{ id, name, builtin }` formában, az alapértelmezettet is beleértve. A `builtin` értéke `default` azon a célközönségen, amelybe minden névjegy tartozik, és null azon, amelyet valaki létrehozott, ezért erre ágazz el, ne a névre, amelyet bárki megváltoztathat.