API / анонимизация или удаление

Привет. Мы используем хостинг Discourse с OAuth. Внезапно мы поняли, что при обработке удалений забываем удалять данные из нашего экземпляра Discourse.

Мне хотелось бы иметь возможность анонимизировать учётную запись или удалять её программно через API, но я не вижу простого способа сделать это, поскольку не знаю идентификатор учётной записи в Discourse.

Не упускаю ли я что-то очевидное? Есть какие-то предложения?

Спасибо,

Эндрю

Вы знаете, совпадают ли адреса электронной почты между вашим провайдером OAuth и Discourse? Если да, то вы можете получить данные пользователя Discourse по его адресу электронной почты, отправив аутентифицированный API-запрос к /admin/users/list/all.json?email=<users_email_address>. Например:

curl -X GET "http://localhost:3000/admin/users/list/all.json?email=bob@example.com" \
-H "Api-Key: $api_key" \
-H "Api-Username: system"

Они должны совпадать, спасибо — это был звонок, которого мне не хватало. Проверяю.

Меня также интересует использование API-вызова для анонимизации пользователя. Какой API-эндпоинт вы используете для анонимизации пользователя?

Конечная точка API для анонимизации:

HTTP-метод: PUT
Конечная точка: https://example-community.dev/admin/users/{id}/anonymize


Вы можете использовать приведенный выше вызов, чтобы получить значение {id}, если вам уже известен адрес электронной почты пользователя, которого вы хотите анонимизировать.

Endpoint /anonymize был удалён из документации API?

Я искал здесь:

В разделах users и admin.

Возможно, это ещё не добавлено в документацию по API, но я обязательно скоро оформлю это.

@sarahann маршрут /anonymize был добавлен в документацию API.

Фух! На секунду напугал :stuck_out_tongue:

Спасибо за оперативную работу по этому вопросу!