특정 작업을 수행하기 위해 어떤 API 호출을 해야 하는지 파악하는 좋은 방법은, 웹 인스펙터의 네트워크 탭을 보면서 Discourse 사용자 인터페이스를 통해 해당 작업을 실행하고 요청에 대한 세부 정보를 확인하는 것입니다. 이 방법에 대한 자세한 내용은 Discourse API 역공학하기를 참고하세요.
사용자 아바타는 시스템 아바타로 업데이트할 수 있으며, 이를 위해 다음 URL로 API PUT 요청을 보내야 합니다.
http://forum.example.com/u/<discourse_username>/preferences/avatar/pick
요청의 폼 데이터에 type=system을 설정하세요. URL에는 해당 포럼의 URL과 업데이트하려는 Discourse 사용자 이름을 대체해야 합니다.
다음은 제 로컬 사이트에서 가져온 curl 요청 예시입니다. $api_key는 All Users API Key로 설정해 두었습니다:
curl -X PUT "http://localhost:3000/u/scossar/preferences/avatar/pick" \
-H "Api-Key: $api_key" \
-H "Api-Username: system" \
-H "Content-Type: multipart/form-data;" \
-F "type=system"
참고할 점은 sso overrides avatar 사이트 설정을 활성화해 두었다면 이 요청이 실패한다는 것입니다.