Glowb Dev Docs
SaaS APIAgency API

POST /admin/agency/branding/favicon

어드민이 에이전시 지정 화면에서 파비콘을 업로드

파비콘 업로드 (어드민)

어드민이 에이전시를 지정하거나 수정할 때 파비콘을 업로드하고, 반환된 faviconUrl을 POST /admin/agency 또는 PATCH /admin/agency/{id}의 brand.faviconUrl에 담아 저장합니다.

업로드한 이미지는 비율을 유지한 채 투명 정사각 캔버스 가운데에 놓은 180x180 PNG로 변환됩니다. 지원 형식은 PNG, JPG, GIF, WEBP, SVG이고, SVG는 스크립트와 외부 참조를 제거한 뒤 래스터화합니다.

로고와 마찬가지로 에이전시 지정 전에 올릴 수 있도록 TB_AGENCY 행 존재를 요구하지 않고, 지정 대상 기업을 businessId로 받습니다. S3 경로는 business/{businessId}/brand-favicon/입니다.

파비콘을 업로드하지 않으면

brand.faviconUrl을 보내지 않고 brand.logoUrl만 저장하면, 서버가 브랜드 로고로 파비콘을 자동 생성해 저장합니다. 규칙 전체는 브랜딩/로고·파비콘의 파비콘 규칙 표를 참고하세요.

brand.faviconUrl 값동작
생략변경 없음. 미설정 상태에서 로고를 저장하면 로고로 자동 생성
URL그 URL을 파비콘으로 저장. 이후 로고가 바뀌어도 유지
빈 문자열해제. 아이콘 없이 두고 로고를 저장해도 자동 생성하지 않음
항목값
메서드POST
경로/admin/agency/branding/favicon 또는 /ai/admin/agency/branding/favicon
인증필요
권한ROLE_ADMIN
Content-Typemultipart/form-data

요청

curl -X POST "https://api.glowb.com/admin/agency/branding/favicon" \
  -H "Authorization: Bearer {access_token}" \
  -F "businessId=acme_corp" \
  -F "file=@favicon.png"
const form = new FormData();
form.append('businessId', 'acme_corp');
form.append('file', file);

const response = await fetch('/admin/agency/branding/favicon', {
  method: 'POST',
  headers: { Authorization: `Bearer ${accessToken}` },
  body: form,
});

const { data } = await response.json();
// data.faviconUrl

Form Parameters

Prop

Type

응답

성공 응답 (200 OK)

{
  "status": "200",
  "message": null,
  "data": {
    "faviconUrl": "https://d3mp6eqt0w2808.cloudfront.net/business/acme_corp/brand-favicon/1758412800000.png"
  }
}

에러 응답

glowb는 CustomException을 HTTP 200으로 감싸 내려보냅니다. 실패 판별은 HTTP 상태가 아니라 응답 본문의 status/code 로 해야 합니다.

본문 code본문 status설명
INVALID_BUSINESS_USER404businessId에 해당하는 기업이 없음
FILE_EMPTY400빈 파일
AGENCY_FAVICON_IMAGE_UNSUPPORTED400파비콘으로 변환할 수 없는 파일(이미지가 아니거나 손상·조작됨). 손상 파일 일부가 INTERNAL_SERVER_ERROR로 나가던 것을 이 코드로 통일했습니다
AGENCY_FAVICON_FILE_TOO_LARGE4135MB 초과 (args.maxMb)
AGENCY_FAVICON_RESOLUTION_TOO_LARGE4132,500만 픽셀 초과
AGENCY_FAVICON_CONVERT_FAILED500지원 형식인데 변환 중 서버 오류
FILE_UPLOAD_FAILED500S3 업로드 실패

API 테스트

On this page