Glowb Dev Docs
Admin APIMeta Marketing Insights

GET /ai/business/meta/adsets/{adsetId}/ads

Meta 광고 목록 조회 (기업 회원용)

광고 목록 조회

특정 광고세트에 속한 광고 목록을 조회합니다.

production 환경에서 매시간 두 번 (:10 active batch — 최근 90일 일별 인사이트 갱신, :30 inactive backfill — PAUSED 캠페인 lifetime 보강) 이 5개 광고계정(글로우비/디웨더/리빙/Supera/건식건기식) 의 트리·일별 인사이트를 TB_META_OBJECT_SNAPSHOT / TB_META_INSIGHT_DAILY 에 적재하며 광고 cover 이미지도 함께 S3 백업합니다. 응답은 DB-first. 요청 기간이 적재 범위(최근 90일)를 벗어나면 Meta API 로 자동 fallback 후 DB upsert.

HTTP 요청

GET /ai/business/meta/adsets/{adsetId}/ads
Authorization: Bearer {business_access_token}

Path Parameters

파라미터타입필수설명
adsetIdString광고세트 ID

Query Parameters

파라미터기본값설명
status(없음)상태 필터 (ACTIVE, PAUSED 등)
q(없음)광고 이름 부분일치 (case-insensitive)
page0페이지 번호 (0-base)
size50페이지 크기 (1~200)
sortlastSyncedAt,desc정렬 (name, status, objective, startTime, endTime, lastSyncedAt)

응답

성공 응답 (200 OK)

응답의 data 는 Spring Page 형식 (content, totalElements, totalPages, …):

{
  "status": 200,
  "code": null,
  "message": "광고 목록 조회 완료",
  "data": {
    "content": [
      {
        "id": "111222333",
        "name": "Banner Ad v1",
        "status": "ACTIVE",
        "adsetId": "987654321",
        "campaignId": "123456789",
        "createdTime": "2024-03-01T00:00:00+0000",
        "updatedTime": "2024-03-05T12:00:00+0000",
        "imageUrl": "https://d3mp6eqt0w2808.cloudfront.net/img/meta/creative/image/111222333-creativeXYZ"
      },
      {
        "id": "111222334",
        "name": "Video Ad v2",
        "status": "ACTIVE",
        "adsetId": "987654321",
        "campaignId": "123456789",
        "createdTime": "2024-03-10T00:00:00+0000",
        "updatedTime": "2024-03-12T00:00:00+0000",
        "imageUrl": "https://d3mp6eqt0w2808.cloudfront.net/img/meta/creative/video-cover/111222334-video999"
      }
    ],
    "totalElements": 1,
    "totalPages": 1,
    "number": 0,
    "size": 50,
    "first": true,
    "last": true,
    "numberOfElements": 1,
    "empty": false
  }
}

응답 필드 설명

필드타입설명
idString광고 ID
nameString광고명
statusString상태 (ACTIVE, PAUSED, DELETED, ARCHIVED)
adsetIdString상위 광고세트 ID
campaignIdString상위 캠페인 ID
createdTimeString생성 시간
updatedTimeString수정 시간
imageUrlString?광고 이미지 URL (S3/CloudFront). 광고 유형 무관 단일 필드 — 이미지 광고면 광고주 업로드 원본, 비디오 광고면 cover 풀해상도(1080×1080). 백업 미완(드물게) 또는 creative 없음이면 null

Creative 백업 정책

  • 광고당 1장: 이미지 광고는 image_url 다운로드 → S3 업로드, 비디오 광고는 /{video_id}?fields=picture 로 cover 이미지 1장 fetch 후 S3 업로드
  • 변경 감지: snapshot 의 creative_id + image_hash + video_id 3가지 키를 비교해 모두 동일하면 skip. 어느 하나라도 다르면 재업로드
  • 호출 비용: tree sync /ads?fields=...,creative{id,image_hash,image_url,video_id} 한 호출에 메타데이터 + 이미지 URL 모두 포함 → 추가 호출 0. 비디오는 광고당 cover fetch 1콜 (변경 시만)
  • 저장 경로: img/meta/creative/image/{adId}-{creativeId} (이미지), img/meta/creative/video-cover/{adId}-{videoId} (비디오 cover)

API 테스트

On this page