Glowb Dev Docs
SaaS APIAgency API

POST /admin/agency/branding/logo

어드민이 에이전시 지정 화면에서 브랜드 로고를 업로드

브랜드 로고 업로드 (어드민)

어드민이 기업을 에이전시로 지정할 때 브랜드 로고를 먼저 업로드하고, 반환된 logoUrlPOST /admin/agencybrand.logoUrl에 담아 지정을 완료합니다.

로고는 에이전시 지정 전에 업로드되므로 이 엔드포인트는 TB_AGENCY 행 존재를 요구하지 않습니다. 대신 지정 대상 기업을 businessId로 명시받습니다. 에이전시 id가 곧 그 businessId라서, 지정 후 셀프서비스(POST /agency/branding/logo)가 올리는 S3 경로와 같은 곳(business/{businessId}/brand-logo/)을 가리킵니다.

셀프서비스 POST /agency/branding/logo는 어드민이 호출할 수 없습니다. 그쪽은 호출자 본인의 에이전시를 역산하는데(businessType == AGENCY && agency != null) 어드민은 본인 에이전시가 없어 AUTH_002로 거절됩니다. 어드민은 반드시 이 엔드포인트를 사용하세요.

항목
메서드POST
경로/admin/agency/branding/logo 또는 /ai/admin/agency/branding/logo
인증필요
권한ROLE_ADMIN
Content-Typemultipart/form-data

요청

POST /admin/agency/branding/logo HTTP/1.1
Host: api.glowb.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: multipart/form-data; boundary=----X

------X
Content-Disposition: form-data; name="businessId"

acme_corp
------X
Content-Disposition: form-data; name="file"; filename="logo.png"
Content-Type: image/png

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

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

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

Form Parameters

Prop

Type

응답

성공 응답 (200 OK)

{
  "status": "200",
  "message": null,
  "data": {
    "logoUrl": "https://d3mp6eqt0w2808.cloudfront.net/business/acme_corp/brand-logo/1752537600000_logo.png"
  }
}

Response Body

Prop

Type

에러 응답

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

본문 code본문 status설명
INVALID_BUSINESS_USER404businessId에 해당하는 기업이 없음
INVALID_FILE_EXTENSION400지원하지 않는 로고 파일 형식
FILE_NAME_EMPTY400파일명이 없음
S3_UPLOAD_FAILED500S3 업로드 실패

API 테스트

On this page