Согласен! Это кажется лучшим решением. Добавление username и granted_by_username и объявление user_id и granted_by_id устаревшими могли бы обеспечить период плавного перехода без нарушений совместимости.
В настоящее время, если значок изменяется системой (т. е. автоматически), вебхук возвращает granted_by_id со значением -1. Что будет эквивалентом для granted_by_username?
""(пустая строка)"<system>"(магическое значение, которое не может быть именем пользователя)null- Ничего – т. е. опустить
granted_by_usernameиз полезной нагрузки, если это было системное событие
Я бы предположил, что null или отсутствие поля имели бы наибольший смысл.