Контакты
Адресная книга тех, кому пишет этот ящик.
Инструменты контактов
| Инструмент | Что делает |
|---|---|
| listContacts | Люди, которым пишет этот ящик, начиная с самой свежей переписки. Поиск по имени или адресу, сужение до одной аудитории или отделение тех, кого кто-то добавил, от тех, кто был записан автоматически. |
| getContact | Один контакт по адресу электронной почты, с его заметками целиком и всеми аудиториями, в которых он состоит. |
| createContact | Добавить контакт вручную. Один контакт на адрес, поэтому адрес, который уже здесь есть, отклоняется, а не записывается дважды. Новый контакт попадает в аудиторию по умолчанию. |
| updateContact | Изменить имя контакта или заметки, которые о нём хранятся. Передача null очищает поле, а отсутствие поля оставляет его как есть. |
| deleteContact | Удалить контакт навсегда. Заметки уходят вместе с ним, как и все аудитории, в которых он состоял. |
Контакты принадлежат ПОЧТОВОМУ ЯЩИКУ, а не тому, кто их сохранил, поэтому коллега с такой же ролью читает и пишет ту же самую книгу. Контакт записывается автоматически в первый раз, когда письмо уходит на адрес из редактора письма в приложении; приходящая с адреса почта не записывает ничего.
Адрес — это идентичность, и никакого id нет. Поэтому updateContact не может его изменить, а перенос человека на новый адрес — это createContact и deleteContact. createContact не принимает source: всё созданное здесь — manual, и отправка никогда не понижает это обратно до auto.
Ничто из этого ничего не отправляет и никого ни на что не подписывает, а deleteContact никого не отписывает, потому что этот ящик вообще не хранит состояния подписок. Адрес, которому ящик продолжает писать, записывается снова при следующей отправке — без заметок и без аудиторий.