Перейти до вмісту

Управління згодами

Модуль управління згодами додає версіонування згод, аудиторський слід, експорт даних та інтеграцію з GDPR. Відстежує історію згод клієнтів та реагує на зміни змісту регламентів.

Автоматичне виявлення змін

Section titled “Автоматичне виявлення змін”

Плагін моніторить зміст етикеток правових чекбоксів. При кожному збереженні налаштувань обчислює хеш (SHA-256) змісту етикетки. Якщо хеш змінився - плагін автоматично створює нову версію згоди.

Кожна версія згоди містить:

  • номер версії (автоінкремент)
  • хеш змісту етикетки
  • повний зміст етикетки
  • дату створення версії
  • ID користувача, який вніс зміну

У налаштуваннях правових чекбоксів доступна кнопка Історія версій біля кожного чекбокса. Відображає список усіх версій із датами та переглядом змісту.

Повторне надання згоди

Section titled “Повторне надання згоди”

Коли зміст згоди змінюється (нова версія), плагін може вимагати повторного надання згоди клієнтами. Налаштування:

ПараметрОпис
Вимагати повторної згодиВмикає запит на повторне надання згоди після зміни змісту
Відображати запитНа сторінці каси / У панелі Мій обліковий запис / Обидва
Зміст повідомленняТекст, що інформує клієнта про зміну регламенту

Клієнт бачить повідомлення з інформацією про зміну змісту та повинен повторно відмітити чекбокс. Попередня згода залишається в історії з позначкою версії.

Плагін реєструє всі операції, пов’язані зі згодами:

ПодіяДані
Згода наданаID користувача, ID згоди, версія, дата, IP, user agent
Згода відкликанаID користувача, ID згоди, дата, джерело (клієнт/адміністратор)
Зміна змісту згодиID згоди, стара версія, нова версія, дата, ID адміністратора
Запит на повторну згодуID користувача, ID згоди, дата
Повторна згодаID користувача, ID згоди, нова версія, дата

Перейдіть до WooCommerce > Налаштування > Polski > Модулі PRO > Згоди > Аудиторський слід. Таблиця містить усі події з фільтрами:

  • ID користувача або електронна пошта
  • тип події
  • діапазон дат
  • конкретна згода

Аудиторський слід можна експортувати у двох форматах:

  • CSV - для відкриття в електронній таблиці
  • JSON - для програмної обробки або імпорту в іншу систему

Експорт доступний із панелі аудиторського сліду. Можна експортувати повну історію або відфільтровані результати.

Інтеграція з панеллю Мій обліковий запис

Section titled “Інтеграція з панеллю Мій обліковий запис”

У панелі Мій обліковий запис клієнта з’являється розділ “Мої згоди” з переліком наданих згод. Клієнт може:

  • переглядати поточні надані згоди
  • бачити дату надання кожної згоди
  • відкликати згоду кнопкою “Відкликати”

Відкликання згоди реєструється в аудиторському сліді. Адміністратор отримує сповіщення електронною поштою про відкликання згоди (налаштовується).

Запит на повторну згоду

Section titled “Запит на повторну згоду”

Якщо зміст згоди змінився, клієнт бачить у панелі Мій обліковий запис повідомлення з проханням ознайомитися з новою версією та повторно надати згоду.

Експорт персональних даних

Section titled “Експорт персональних даних”

Плагін інтегрується з механізмом експорту персональних даних WordPress (wp_privacy_personal_data_exporters). При запиті на експорт даних клієнта плагін додає:

  • перелік наданих згод із датами та версіями
  • повну історію змін згод (надання, відкликання, повторні згоди)
  • IP-адреси та дати, пов’язані з кожною згодою
/**
* Rejestracja eksportera danych osobowych.
*/
add_filter('wp_privacy_personal_data_exporters', function (array $exporters): array {
$exporters['polski-pro-consents'] = [
'exporter_friendly_name' => 'Polski PRO - Zgody',
'callback' => [PolskiPro\Privacy\Exporter::class, 'export'],
];
return $exporters;
});

Видалення персональних даних

Section titled “Видалення персональних даних”

Плагін інтегрується з механізмом видалення даних WordPress (wp_privacy_personal_data_erasers). При запиті на видалення даних:

  • персональні дані в аудиторському сліді анонімізуються (IP, user agent)
  • записи згод позначаються як видалені
  • сам факт надання/відкликання згоди залишається (без ідентифікуючих даних) для цілей звітності
/**
* Rejestracja erasera danych osobowych.
*/
add_filter('wp_privacy_personal_data_erasers', function (array $erasers): array {
$erasers['polski-pro-consents'] = [
'eraser_friendly_name' => 'Polski PRO - Zgody',
'callback' => [PolskiPro\Privacy\Eraser::class, 'erase'],
];
return $erasers;
});

Модуль надає ендпоінт REST API для перегляду згод (доступний для адміністраторів):

Список згод користувача

Section titled “Список згод користувача”
GET /wp-json/polski-pro/v1/consents?user_id={id}

Повертає перелік згод користувача з поточним статусом та версією.

GET /wp-json/polski-pro/v1/consents/audit?user_id={id}

Параметри запиту:

ПараметрТипОпис
user_idintID користувача
consent_idstringID конкретної згоди
event_typestringТип події (granted, revoked, re_consented)
date_fromstringДата від (YYYY-MM-DD)
date_tostringДата до (YYYY-MM-DD)
per_pageintКількість результатів (за замовчуванням 50)
GET /wp-json/polski-pro/v1/consents/export?format={csv|json}

Повертає повний експорт аудиторського сліду у вибраному форматі.

Дія, що викликається після надання згоди.

/**
* @param int $user_id ID użytkownika
* @param string $consent_id ID zgody
* @param int $version Numer wersji zgody
*/
do_action('polski_pro/consent/granted', int $user_id, string $consent_id, int $version);

Приклад:

add_action('polski_pro/consent/granted', function (int $user_id, string $consent_id, int $version): void {
// Synchronizacja z zewnętrznym CRM
if ($consent_id === 'marketing') {
wp_remote_post('https://crm.example.com/api/consent', [
'body' => wp_json_encode([
'email' => get_userdata($user_id)->user_email,
'consent' => 'marketing',
'status' => 'granted',
'version' => $version,
]),
'headers' => ['Content-Type' => 'application/json'],
]);
}
}, 10, 3);

Дія, що викликається після відкликання згоди.

/**
* @param int $user_id ID użytkownika
* @param string $consent_id ID zgody
* @param string $source Źródło wycofania (customer, admin)
*/
do_action('polski_pro/consent/revoked', int $user_id, string $consent_id, string $source);

Приклад:

add_action('polski_pro/consent/revoked', function (int $user_id, string $consent_id, string $source): void {
if ($consent_id === 'newsletter' && $source === 'customer') {
// Wypisanie z newslettera
do_action('newsletter_unsubscribe', get_userdata($user_id)->user_email);
}
}, 10, 3);

Найпоширеніші проблеми

Section titled “Найпоширеніші проблеми”

Запит на повторну згоду не відображається

Section titled “Запит на повторну згоду не відображається”
  1. Перевірте, чи увімкнена опція “Вимагати повторної згоди”
  2. Перевірте, чи зміст згоди дійсно змінився (перевірте історію версій)
  3. Очистіть кеш сторінки каси та панелі Мій обліковий запис

Експорт GDPR не містить даних згод

Section titled “Експорт GDPR не містить даних згод”
  1. Переконайтеся, що модуль управління згодами активний
  2. Перевірте, чи експортер polski-pro-consents зареєстрований у Інструменти > Експорт персональних даних
  3. Перевірте логи на наявність помилок PHP

Аудиторський слід зростає надто швидко

Section titled “Аудиторський слід зростає надто швидко”

Плагін зберігає історію згод в окремій таблиці бази даних. При великій кількості клієнтів таблиця може зростати. Рекомендується:

  • регулярне експортування та архівування старших записів
  • налаштування автоматичного очищення записів, старших за визначену кількість місяців (опція в налаштуваннях)
Ця сторінка має виключно інформаційний характер і не є юридичною консультацією. Перед впровадженням зверніться до юриста. Polski for WooCommerce - це програмне забезпечення з відкритим кодом (GPLv2), що надається без гарантій.