Подавления
`suppressions->list`, `listAll`, `iterate`, `get`, `add` и `remove`.
Все методы
use OpenEmail\Constants\SuppressionReasons; $complaints = $client->suppressions->listAll(reason: SuppressionReasons::COMPLAINT);echo implode(', ', array_column($complaints, 'email')), PHP_EOL; $row = $client->suppressions->add(['email' => '[email protected]']); if ($row['removable']) { $client->suppressions->remove($row['id']);}Адреса, на которые это рабочее пространство не будет отправлять: жёсткие отказы и жалобы, записываемые по мере возникновения, и любой адрес, заблокированный вручную. Отправка на такой адрес отклоняется для этого получателя до того, как что-либо уйдёт. Для чтения нужна settings:read, а для изменения settings:write, те же области, которыми защищён экран «Заблокированные адреса». reason: оставляет один вид: bounce, complaint или manual, и OpenEmail\Constants\SuppressionReasons их перечисляет. q: ищет по адресам.
list возвращает одну OpenEmail\Result\Page, сначала новые, listAll возвращает все строки одним массивом, а iterate возвращает Generator, который выдаёт строки по одной. Строка представляет собой массив с id, email, reason, detail, removable и createdAt, а add принимает один массив с email.
add возвращает строку, новая она или уже была, поэтому повтор безвреден, и клиент повторяет вызов после сетевого сбоя. remove отклоняет жёсткий отказ с 409 suppression_not_removable, выбрасываемым как ConflictException, о чём заранее говорит removable. Ключ, ограниченный определёнными адресами или доменами, может читать список, но не может его менять: add и remove отвечают ему 422 capability_unsupported.