Согласие
Этот тип данных используется для хранения согласия пользователя на какие‑то действия, например на отправку почтовых рассылок.
Само согласие хранится в виде флажка (checkbox) в объекте данных. Дополнительная мета‑информация (например, отметка времени, IP и т.п.) сохраняется в виде заметки (note) на соответствующем объекте. Такая заметка создаётся и при предоставлении согласия, и при его отзыве.

Использование в административной панели Pimcore
Значение согласия можно изменять прямо в редакторе объектов. При каждом изменении значения автоматически добавляется заметка с набором значений по умолчанию.
Использование через PHP API
При установке/отзыве согласия в контроллерах или в других местах используйте сервис Pimcore\DataObject\Consent\Service
и его методы giveConsent и revokeConsent. Пожалуйста, убедитесь, что ваш объект данных был сохранен перед использованием сервиса получения согласия. Если у вашего объекта данных нет идентификатора, заметка не может быть сохранена!
<?php
$customer = Customer::getById(345);
$consentMessage = "lorem ipsum"; //вставьте точный текст, который был показан пользователю
$metaInfo = [
'ip' => $request->getClientIp()
];
/**
* @var Pimcore\DataObject\Consent\Service $consentService
**/
$consentService->giveConsent($customer, "directMailing", $consentMessage, $metaInfo);
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.