Glowb Dev Docs
Admin APIMeta Marketing Insights

GET /ai/business/meta/campaigns/{campaignId}/adsets

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

광고세트 목록 조회

특정 캠페인에 속한 광고세트 목록을 조회합니다. 각 광고세트 응답에는 하위 광고(ads)가 중첩 임베딩되어 함께 반환됩니다 — Meta Graph API의 ?fields=...,ads{...} nested edge 응답과 동일한 형식.

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/campaigns/{campaignId}/adsets
Authorization: Bearer {business_access_token}

Path Parameters

파라미터타입필수설명
campaignIdString캠페인 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": "987654321",
      "name": "Female 20-35 Seoul",
      "status": "ACTIVE",
      "campaignId": "123456789",
      "dailyBudget": "5000",
      "lifetimeBudget": null,
      "startTime": "2024-03-01T00:00:00+0000",
      "endTime": null,
      "representativeImageUrl": "https://d3mp6eqt0w2808.cloudfront.net/img/meta/creative/image/...",
      "ads": {
        "data": [
          {
            "id": "111222333",
            "name": "스킨케어 광고 #1",
            "status": "ACTIVE",
            "adsetId": "987654321",
            "campaignId": "123456789",
            "createdTime": "2024-03-01T00:00:00+0000",
            "updatedTime": "2024-03-15T00:00:00+0000",
            "imageUrl": "https://d3mp6eqt0w2808.cloudfront.net/img/meta/creative/image/111222333-creativeXYZ"
          }
        ],
        "paging": null
      }
    }
    ],
    "totalElements": 1,
    "totalPages": 1,
    "number": 0,
    "size": 50,
    "first": true,
    "last": true,
    "numberOfElements": 1,
    "empty": false
  }
}

응답 필드 설명

필드타입설명
idString광고세트 ID
nameString광고세트명
statusString상태 (ACTIVE, PAUSED, DELETED, ARCHIVED)
campaignIdString상위 캠페인 ID
dailyBudgetString일일 예산
lifetimeBudgetString총 예산
startTimeString시작 시간
endTimeString종료 시간
representativeImageUrlString?광고세트 대표 이미지 — 산하 광고 중 가장 최근 created_time 광고의 이미지/cover. 광고가 없거나 모두 백업 미완이면 null
ads.data[]MetaAdDto[]하위 광고들 (각 광고에 단일 imageUrl 필드 포함 — 이미지 광고 원본 또는 비디오 cover 풀해상도)
ads.pagingObject페이징 정보 (현재는 항상 null)

API 테스트

On this page