Модерація через API
Як через API BDO UA Translate працювати з чергою пропозицій перекладів і глосарія: подивитися стан, схвалити, відхилити з причиною та які правила діють.
Пропозиції можна не лише подавати, а й розглядати · тими самими правилами, що й у браузері. Здатність у ключі нових повноважень не додає: вона лише віддзеркалює право ролі, а рішення виконує той самий workflow, що й інтерфейс · з перевіркою версії, аудитом і забороною схвалювати власне.
Черга перекладів
curl -s -G -H "X-API-Key: $BDO_API_KEY" \
--data-urlencode 'per_page=20' \
https://bdo-ua.com.ua/api/agent/v1/translations/proposals
Віддає pending-пропозиції в порядку id. identity_hash звужує до одного
рядка · зручно одразу після власної пачки, щоб не гортати всю чергу. У meta ·
total_matching, count, per_page (стеля 100).
Рішення · POST /translations/proposals/{id}/approve і
POST /translations/proposals/{id}/reject:
curl -s -X POST -H "X-API-Key: $BDO_API_KEY" -H 'Content-Type: application/json' \
-d '{"reason":"Назва предмета не збігається з глосарієм"}' \
https://bdo-ua.com.ua/api/agent/v1/translations/proposals/123/reject
| Правило | Чому так |
|---|---|
reason обовʼязковий для відхилення |
автор мусить знати, що саме не так, інакше він не виправить |
для схвалення reason необовʼязковий |
згода не потребує пояснення |
| повторне рішення неможливе | непending-пропозиція дає invalid_request із поточним станом |
text у тілі схвалення виправляє рядок |
те саме, що модератор робить у картці, коли текст майже добрий |
Схвалення з черги повертає машинний текст у ШІ-шар із його provider/model,
а не робить його ручним перекладом людини.
Черга глосарія
GET /glossary/proposals/{id} показує стан вашої пропозиції терміна: прийнята,
відхилена, чекає. Автор бачить свою завжди; чужу · лише адміністратор.
POST /glossary/proposals/{id}/approve і POST /glossary/proposals/{id}/reject ·
рішення по терміну, з тим самим правилом про обовʼязкову причину відмови. Термін впливає на весь корпус
одразу, тому ці два маршрути доступні лише адміністраторам.
Чого API не дозволить
- Схвалити власну пропозицію в обхід правил. Заборона self-review діє однаково для браузера й для ключа.
- Отримати права «через ключ». Якщо роль не має права рішення, здатність у
ключі нічого не змінює · буде
forbidden_permission. - Ухвалити рішення двічі. Друга спроба поверне поточний стан замість тихої зміни · так виглядає захист від паралельного модератора.
Якщо ви пишете автоматичного модератора · не робіть його автономним. Рішення, ухвалене моделлю без людини, стає чинним перекладом для всіх гравців.