Kontakty
`contacts.list`, `get`, `create`, `update` a `delete`.
Všechny metody
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)Nejnověji viděné nahoře, kontakty, kterým nikdy nic neodešlo, dole. source je auto, když řádek vznikl proto, že člen na tuto adresu poslal zprávu z editoru v aplikaci, což je věcně jiné tvrzení než to, že si ji někdo uložil. Pošta přicházející z nějaké adresy nezapisuje nic a odeslání přes toto API také ne.
Adresář patří pracovnímu prostoru, ne jednomu člověku, takže kontakt uložený kterýmkoli členem je kontaktem, který vidí každý člen i každý klíč. create zapíše source jako manual a při zápisu zařadí kontakt do výchozího publika. Uveďte v audienceIds své vlastní seznamy, chcete-li do nich kontakt zařadit ve stejném volání, což vyžaduje i audiences:write, nebo ho přidejte později pomocí openemail.audiences.addContact.
Adresy se ukládají malými písmeny a klient tu, kterou předáte, zakóduje, takže [email protected] dorazí na správný řádek. Adresa je identita, takže ji update nemůže změnit: přesun kontaktu je delete a create.
Parametry: contacts.list
limitnumber- Kolik kontaktů vrátit na stránku: integer od 1 do 200, výchozí hodnota 50. Hodnota se převádí, takže `'100'` z query stringu je v pořádku, a hodnota mimo rozsah je 422, ne oříznutí do rozsahu.
cursorstring- `nextCursor` z předchozí stránky. Nikdy si ho nesestavujte sami: cursor označující kontakt, který už neexistuje, je 400 `invalid_cursor`, což znamená, že váš stav stránkování je zastaralý a procházení by mělo začít znovu bez cursoru.
sourceContactSource- `'manual'` pro kontakty, které někdo uložil záměrně, `'auto'` pro ty, které zaznamenal editor v aplikaci. Vynechte ho, chcete-li celý adresář.
Odpověď: ContactResource
contacts.list se vyhodnotí na Page<ContactResource>, takže řádky jsou v page.items a procházení následuje page.nextCursor, dokud je page.hasMore true. get, create a update se každé vyhodnotí na jeden ContactDetailResource, tedy tentýž řádek plus audiences. Adresář je neomezený, a proto tato cesta stránkuje, místo aby vracela pole, které se tiše zastavilo na 200.
object'contact'- Vždy řetězec `contact`, jak na řádcích výpisu, tak u `get`.
emailstring- Adresa, při zápisu převedená na malá písmena, takže `[email protected]` a `[email protected]` jsou jeden kontakt, a zároveň klíč, který přijímá každá metoda nad kontakty, protože žádné id kontaktu se nevystavuje. Řádky patří pracovnímu prostoru, ne členovi ani klíči, který je zapsal, takže každý člen i každý klíč v pracovním prostoru čte a zapisuje jeden adresář.
namestring | null- Zobrazované jméno. Null, když pro danou adresu nikdy žádné jméno nebylo zaznamenáno. Automatický zápis ho nese jen tehdy, když hlavička dodala něco jiného než samotnou adresu, a nikdy nemůže přepsat jméno, které zadal uživatel.
source'manual' | 'auto' | (string & {})- `auto` znamená, že řádek vznikl proto, že uživatel poslal na tuto adresu poštu; `manual` znamená, že ji někdo zadal ručně, což je věcně jiné tvrzení, a upsert nikdy nesníží `manual` zpět na `auto`. Pošta přicházející z nějaké adresy záměrně nezapíše žádný řádek, takže někdo, kdo vám jen psal, tu není; sjednocení zůstává otevřené, protože sloupec je volný text s výchozí hodnotou `manual`.
notesstring | null- Volný text, který o tomto člověku někdo napsal, v aplikaci nebo přes `update`, nikdy není generovaný. Null, když nikdo žádný nenapsal, a explicitní null při `update` ho vymaže.
lastSeenAtstring | null- ISO-8601 UTC, posouvá se pokaždé, když člen na tuto adresu odešle z editoru v aplikaci, ne když z ní pošta přijde, což nezapisuje nic. Null u kontaktu uloženého přes `create`, kterému nikdy nic neodešlo, a takové se v sestupném řazení podle `lastSeenAt`, které tato cesta vrací, řadí na konec.
audiencesArray<ContactAudienceResource>- Jen u `get`, `create` a `update`, nikdy na řádcích výpisu. Všechna publika, ve kterých kontakt je, jako `{ id, name, builtin }`, včetně toho výchozího. `builtin` je `default` u publika, do kterého patří každý kontakt, a null u toho, které někdo vytvořil, takže se větvete podle něj, ne podle názvu, který může kdokoli změnit.