DSA - Акт про цифрові послуги
Акт про цифрові послуги (Digital Services Act, EU 2022/2065) вимагає, щоб онлайн-платформи дозволяли повідомляти про нелегальний контент. Плагін додає форму повідомлень, панель для керування повідомленнями, відстеження статусів та автоматичні сповіщення електронною поштою.
Вимоги DSA для інтернет-магазинів
Section titled “Вимоги DSA для інтернет-магазинів”З 17 лютого 2024 року магазини з контентом користувачів (відгуки, коментарі, фото) повинні:
- Надати механізм повідомлення про нелегальний контент
- Підтвердити отримання повідомлення
- Розглянути повідомлення в розумний термін
- Поінформувати заявника про рішення
- Уможливити оскарження рішення
Стосується магазинів, у яких користувачі можуть публікувати контент, насамперед відгуки про продукти.
Форма повідомлень
Section titled “Форма повідомлень”Shortcode
Section titled “Shortcode”Вбудуйте форму повідомлень DSA на будь-яку сторінку за допомогою shortcode:
[polski_dsa_report]З параметрами
Section titled “З параметрами”[polski_dsa_report product_id="123" category="illegal_content"]Параметри shortcode
Section titled “Параметри shortcode”| Параметр | Опис | Значення за замовчуванням |
|---|---|---|
product_id | ID продукту, якого стосується повідомлення | Немає (користувач обирає) |
category | Попередньо вибрана категорія повідомлення | Немає |

Поля форми
Section titled “Поля форми”Форма містить такі поля:
- Категорія повідомлення - вибір зі списку (нелегальний контент, порушення авторських прав, фальшивий відгук, мова ворожнечі, персональні дані, інше)
- URL або ідентифікатор контенту - посилання на контент, про який повідомляється, або ID відгуку
- Опис - детальний опис проблеми
- Правова підстава - необов’язкове зазначення норми
- Контактні дані - ім’я, адреса електронної пошти заявника
- Заява - чекбокс, що підтверджує, що повідомлення подається добросовісно
Приклад вбудовування
Section titled “Приклад вбудовування”Створіть сторінку “Повідомити про контент” та додайте shortcode:
[polski_dsa_report]Додайте посилання на цю сторінку у футері магазину, щоб вона була легко доступною.
Адміністративна панель
Section titled “Адміністративна панель”Повідомленнями DSA ви керуєте в WooCommerce > Повідомлення DSA.
Список повідомлень
Section titled “Список повідомлень”Список відображає всі повідомлення з колонками:
- ID повідомлення
- Дата подання
- Категорія
- Статус (нове, в процесі, розглянуте, відхилене)
- Заявник (ім’я, e-mail)
- Посилання на контент
Деталі повідомлення
Section titled “Деталі повідомлення”Після натискання на повідомлення ви побачите:
- Повні дані форми
- Перегляд контенту, про який повідомляється (якщо це відгук - пряме посилання)
- Історію змін статусу
- Поле для внутрішньої нотатки
- Кнопки дій (змінити статус, видалити контент, відхилити)
Статуси повідомлень
Section titled “Статуси повідомлень”| Статус | Опис |
|---|---|
new | Нове повідомлення, очікує розгляду |
in_progress | Повідомлення в процесі аналізу |
resolved | Повідомлення розглянуте, контент видалено або вжито інших заходів |
rejected | Повідомлення відхилене як безпідставне |
appealed | Заявник подав оскарження рішення |
Сповіщення електронною поштою
Section titled “Сповіщення електронною поштою”Плагін надсилає автоматичні листи в таких ситуаціях:
| Подія | Одержувач | Зміст |
|---|---|---|
| Нове повідомлення | Адміністратор | Інформація про нове повідомлення з даними |
| Підтвердження | Заявник | Підтвердження отримання повідомлення з номером ID |
| Зміна статусу | Заявник | Інформація про зміну статусу з обґрунтуванням |
| Розгляд | Заявник | Рішення з обґрунтуванням та інформацією про право на оскарження |
Шаблони листів можна налаштувати в WooCommerce > Налаштування > E-maile.
polski/dsa/report_created
Section titled “polski/dsa/report_created”Викликається після створення нового повідомлення DSA.
/** * @param int $report_id ID zgłoszenia DSA. * @param array $report_data Dane zgłoszenia. * @param string $category Kategoria zgłoszenia. */add_action('polski/dsa/report_created', function (int $report_id, array $report_data, string $category): void { // Przykład: wyślij powiadomienie do zespołu prawnego przez Slack $webhook_url = 'https://hooks.slack.com/services/XXXX/YYYY/ZZZZ';
wp_remote_post($webhook_url, [ 'body' => wp_json_encode([ 'text' => sprintf( 'Nowe zgłoszenie DSA #%d (kategoria: %s) - %s', $report_id, $category, $report_data['description'] ), ]), 'headers' => ['Content-Type' => 'application/json'], ]);}, 10, 3);Приклад - автоматичне видалення відгуків певної категорії
Section titled “Приклад - автоматичне видалення відгуків певної категорії”add_action('polski/dsa/report_created', function (int $report_id, array $report_data, string $category): void { // Automatycznie ukryj recenzje zgłoszone jako mowa nienawiści if ($category !== 'hate_speech') { return; }
$comment_id = $report_data['content_id'] ?? 0; if ($comment_id > 0) { wp_set_comment_status($comment_id, 'hold');
// Zaloguj automatyczną akcję update_post_meta($report_id, '_auto_action', 'comment_held'); }}, 10, 3);Звітність
Section titled “Звітність”DSA вимагає ведення реєстру повідомлень. Експортуйте всі повідомлення в CSV через WooCommerce > Повідомлення DSA > Експортувати. Експорт містить:
- ID повідомлення
- Дата і час подання
- Категорія
- Статус і дата розгляду
- Час обробки (у годинах)
- Вжиті заходи
Конфігурація
Section titled “Конфігурація”Налаштування модуля DSA знайдете в WooCommerce > Налаштування > Polski > DSA.
| Опція | Опис | Значення за замовчуванням |
|---|---|---|
| Увімкнути форму DSA | Активує модуль | Так |
| Сторінка форми | Сторінка WordPress із shortcode | Немає |
| E-mail адміністратора | Адреса електронної пошти для сповіщень | E-mail адміністратора WordPress |
| Термін розгляду | Кількість робочих днів на розгляд | 7 |
| Категорії повідомлень | Список доступних категорій | Список за замовчуванням |
Віджет на сторінці продукту (Polski 1.14.0+)
Section titled “Віджет на сторінці продукту (Polski 1.14.0+)”З версії 1.14.0 ви можете увімкнути необов’язковий віджет повідомлень безпосередньо на картці продукту. Клієнт натискає “Повідомити про нелегальний контент (DSA)” та розгортає форму з попередньо заповненим URL продукту та назвою, не мусить переписувати посилання.
update_option('polski_dsa', array_merge( (array) get_option('polski_dsa', []), [ 'product_widget_enabled' => true, 'product_widget_position' => 'after_summary', // lub 'product_meta' ]));Віджет використовує HTML-елемент <details>, працює без JavaScript, доступний з клавіатури та програм читання з екрана. Форма надсилається до того самого обробника (polski_dsa_report), тому повідомлення потрапляють до тієї самої черги в адмінпанелі.
Ключ у polski_dsa | Значення | Опис |
|---|---|---|
product_widget_enabled | false (за замовчуванням) | Вмикає віджет на сторінках продуктів |
product_widget_position | after_summary | product_meta | Позиція на сторінці продукту |
Девелоперські фільтри:
| Фільтр | Призначення |
|---|---|
polski/dsa/product_widget_enabled | Головний перемикач віджета |
Усунення проблем
Section titled “Усунення проблем”Форма не відображається на сторінці
Перевірте, чи shortcode [polski_dsa_report] є на сторінці та модуль DSA увімкнено в налаштуваннях.
Сповіщення електронною поштою не доходять
Перевірте конфігурацію SMTP. Стандартна функція wp_mail() працює не на всіх серверах. Встановіть плагін SMTP (наприклад, WP Mail SMTP).
Повідомлення не з’являються в панелі
Перевірте права доступу. Для керування повідомленнями DSA потрібна роль shop_manager або administrator.
Подальші кроки
Section titled “Подальші кроки”- Повідомляйте про проблеми: GitHub Issues
- Обговорення та запитання: GitHub Discussions