분석·비용 API 레퍼런스

앱 단위 매출·전환 통계, 조직의 크레딧 잔액·월별 발송비, 일별·주별 활성 사용자, 이벤트 집계, 세그먼트 규모·조건 조회 (11개 엔드포인트, 읽기 전용)

참고인증
모든 Service API 요청에는 X-API-KEY 헤더를 포함해야 합니다. API Key는 콘솔 > 개발자 > API 키 관리에서 발급받을 수 있습니다. 공통 규칙은 API 개요를 참고하세요.
필요 조건애드온과 권한
이 API 는 매출 분석 애드온이 활성화된 조직에서만 동작하며, API 키 사용자에게 revenue.view(매출) 또는 conversion.view(전환) 권한이 있어야 합니다. 조건이 빠지면 403 과 함께 무엇이 없는지가 응답에 실립니다 — {"error":"ADDON_REQUIRED","addonCode":"REVENUE_ANALYTICS"} 또는 {"error":"PERMISSION_DENIED","permission":"conversion.view"}. 콘솔의 매출 분석·전환 분석 화면과 같은 집계를 쓰므로 숫자가 화면과 같습니다. 크레딧·발송비(credits.view)와 활성 사용자 DAU/WAU(mau.view)는 애드온 조건 없이 권한만 필요합니다. 이벤트 집계는 사용자 여정 분석 애드온event_log.view, 세그먼트는 동적 세그먼트 애드온segments.view 가 필요합니다.
범위집계만, 개별 데이터는 없음
이 API 는 집계와 설정만 돌려줍니다. 세션 이벤트의 원시 행, 세그먼트의 구성원(연락처) 목록은 어떤 파라미터로도 나가지 않습니다 — 그 데이터는 콘솔에서만 볼 수 있습니다.
참고날짜
startDate·endDate 는 조직 설정 타임존 기준 YYYY-MM-DD 입니다. 생략하면 최근 30일(전환 목표 목록은 90일)이고, 구간은 최대 366일입니다. 응답의 timeZone 이 적용된 타임존입니다.

GET /api/v1/service/analytics/revenue

앱 단위 매출 통계를 조회합니다. 총 매출·구매 세션·전환율·평균 주문 금액과 전환 목표별·일별·플랫폼별 분해를 돌려줍니다.

Query Parameters

파라미터타입필수설명
appIdLong필수앱 ID
startDateDate시작일 (기본: 30일 전)
endDateDate종료일 (기본: 오늘)
platformString플랫폼 필터 (ios, android, web / 생략 시 전체)
campaignIdLong캠페인 ID 로 좁히기
urlIdLongURL ID 로 좁히기
compareStartDateDate비교 구간 시작일 (compareEndDate 와 함께)
compareEndDateDate비교 구간 종료일

Response

필드타입설명
appId · appNameLong · String
startDate · endDate · timeZoneString적용된 조회 구간과 타임존
data.totalRevenueDouble총 매출 (purchase 목표 한정)
data.purchaseSessionsLong구매 완료 세션 수
data.purchaseConversionRateDouble구매 전환율 (%)
data.averageOrderValueDouble평균 주문 금액 (AOV)
data.revenuePerSessionDouble세션당 매출
data.cartValueDouble장바구니에 담긴 금액 (add_to_cart) — 매출이 아닙니다
data.revenueByGoalTypeArray전환 목표별 세션 수·매출·비율·평균 금액·단위
data.dailyRevenueArray일별 세션·구매·매출·전환율
data.revenueByPlatformArray플랫폼별 세션·구매·매출·전환율·AOV
comparisonObject비교 구간의 같은 지표와 *ChangePct 증감률(%). 비교 구간 값이 0 이면 증감률은 null (compare 파라미터를 준 경우에만)
cURL
curl "https://fplink.net/api/v1/service/analytics/revenue?appId=5&startDate=2026-09-01&endDate=2026-09-14&compareStartDate=2026-08-01&compareEndDate=2026-08-14" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/conversions

앱 단위 전환 통계를 조회합니다. 세션·전환·전환율, 플랫폼 분포, 전환 목표별 분해, 8단계 퍼널을 돌려줍니다. resourceType + resourceId 로 링크·캠페인 하나로 좁힐 수 있습니다.

Query Parameters

파라미터타입필수설명
appIdLong필수앱 ID
startDate · endDateDate조회 구간 (기본: 최근 30일)
platformString플랫폼 필터 (기본 all)
sessionTypeString세션 유형 필터 (기본 all)
resourceTypeStringurl 또는 campaign (resourceId 와 함께)
resourceIdLongURL ID 또는 캠페인 ID

Response

필드타입설명
sessionStatsObject총 세션 · 전환 세션 · 전환율
platformDistributionObject플랫폼별 세션 수
goalTypeBreakdownArray전환 목표별 건수·비율
funnelStatsObject8단계 퍼널 — stages 배열, conversionRate 는 1단계 대비 도달 비율(%)
cURL
curl "https://fplink.net/api/v1/service/analytics/conversions?appId=5&resourceType=campaign&resourceId=12" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/conversions/top

전환을 많이 만든 링크 또는 캠페인 상위 목록입니다. resourceType=url 이면 링크, 그 외에는 캠페인입니다. goalType 을 주면 그 목표의 전환 수 기준이며 이때 appId 가 필요합니다.

Query Parameters

파라미터타입필수설명
resourceTypeStringurl 또는 campaign (기본 campaign)
appIdLong앱 ID (goalType 지정 시 필수)
goalTypeString전환 목표 이름 (생략 시 전체 전환)
startDate · endDateDate조회 구간 (기본: 최근 30일)
limitInteger상위 몇 개 (기본 5, 최대 50)

Response

필드타입설명
resourceTypeStringurl 또는 campaign
goalTypeString적용된 전환 목표 (전체면 all)
limitInteger적용된 상한
itemsArray상위 항목 (ID · 이름 · 전환 수)
cURL
curl "https://fplink.net/api/v1/service/analytics/conversions/top?resourceType=url&appId=5&goalType=purchase&limit=10" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/conversions/goals

기간 안에 실제로 기록된 전환 목표(goalType) 이름 목록입니다. 다른 엔드포인트의 goalType 값을 고를 때 먼저 조회하세요.

Query Parameters

파라미터타입필수설명
appIdLong필수앱 ID
startDate · endDateDate조회 구간 (기본: 최근 90일)

Response

필드타입설명
goalTypesArray전환 목표 이름 배열 (예: purchase, sign_up, add_to_cart)
cURL
curl "https://fplink.net/api/v1/service/analytics/conversions/goals?appId=5" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/credits

조직의 크레딧 잔액을 조회합니다. 크레딧은 조직 소유자 장부 하나이므로 어느 API 키로 불러도 같은 값입니다. 애드온 조건은 없고 credits.view 권한만 필요합니다.

Response

필드타입설명
balanceNumber총 잔액 (= paidBalance + freeBalance, 1 크레딧 = 1원)
paidBalanceNumber유료 충전 잔액
freeBalanceNumber무료 지급 잔액 (가입 크레딧·보너스)
totalCharged · totalFreeGranted · totalUsedNumber누적 충전액 · 누적 무료 지급액 · 누적 사용액
cURL
curl "https://fplink.net/api/v1/service/analytics/credits" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/billing/usage

한 달의 메시지 발송비를 조회합니다. 콘솔의 발송비 명세서·메시징 대시보드와 같은 집계라 숫자가 같습니다. credits.view 권한이 필요합니다.

Query Parameters

파라미터타입필수설명
monthString조회 월 yyyy-MM (기본: 조직 타임존의 이번 달, 최근 24개월까지)

Response

필드타입설명
month · timeZone · isCurrentMonthString · String · Boolean조회 월, 집계 타임존, 이번 달 여부 (이번 달은 오늘까지의 집계)
successCountLong성공 발송 건수 합
usageChargeNumber청구 근거 발송비 — 성공한 발송의 요금 합. 실패·미발송분은 과금되지 않습니다
channelsArray채널별 channelType · channelName · successCount · rateSum
daysArray발송이 있었던 날만 — date · successCount · rateSum · countsByChannel
cURL
curl "https://fplink.net/api/v1/service/analytics/billing/usage?month=2026-08" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/dau

일별 활성 사용자(DAU)를 조회합니다. 날짜별 고유 방문자와 클릭(링크·캠페인)이 나오며, 콘솔 MAU 화면과 같은 집계입니다. 오늘과 배치 전의 어제는 실시간으로 집계합니다. 애드온 조건은 없고 mau.view 권한만 필요합니다.

Query Parameters

파라미터타입필수설명
daysInteger최근 N일 (기본 30, 최대 366). startDate/endDate 를 주면 무시
startDate · endDateDate조회 구간 YYYY-MM-DD (조직 타임존, 종료일 기본 오늘, 최대 366일)
appIdLong앱 ID. 생략하면 조직 전체, 다른 조직의 앱이면 403

Response

필드타입설명
appId · startDate · endDate · timeZoneLong · String · String · String조회한 앱(조직 전체면 null), 구간, 집계 타임존
dailyArray집계가 있는 날만 — date · uniqueVisitors · totalClicks · urlClicks · campaignClicks
summaryObjectdaysWithData · avgUniqueVisitors · maxUniqueVisitors · totalClicks (있는 날만으로 계산)
cURL
curl "https://fplink.net/api/v1/service/analytics/dau?days=14&appId=5" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/wau

주별 활성 사용자(WAU)를 조회합니다. 주간 배치가 만든 집계라 진행 중인 이번 주는 아직 없을 수 있습니다. mau.view 권한이 필요합니다.

Query Parameters

파라미터타입필수설명
weeksInteger최근 N주 (기본 12, 최대 53). year 를 주면 무시. 해를 넘기면 두 해의 집계를 이어 붙입니다
yearInteger조회 연도 — 그 해의 모든 주
appIdLong앱 ID. 생략하면 조직 전체, 다른 조직의 앱이면 403

Response

필드타입설명
appId · timeZoneLong · String조회한 앱(조직 전체면 null), 집계 타임존
year 또는 weeks · sinceInteger · Integer · String연도 조회면 year, 최근 N주 조회면 weeks 와 시작일 since
weeklyArrayyear · weekOfYear · weekStartDate · weekEndDate · uniqueVisitors · totalClicks · urlClicks · campaignClicks
summaryObjectweeksWithData · avgUniqueVisitors · maxUniqueVisitors · totalClicks
cURL
curl "https://fplink.net/api/v1/service/analytics/wau?weeks=8" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/events

SDK 로 수집한 사용자 여정 이벤트의 집계를 조회합니다. 콘솔 이벤트 분석 화면과 같은 집계이며, 일별 배치로 만들어져 오늘 발생분은 내일 반영됩니다. 원시 이벤트 행은 제공하지 않습니다. 사용자 여정 분석 애드온event_log.view 권한이 필요합니다.

Query Parameters

파라미터타입필수설명
appIdLong앱 ID. 생략하면 조직 전체, 다른 조직의 앱이면 403
startDate · endDateDate조회 구간 YYYY-MM-DD (조직 타임존, 기본 최근 30일, 최대 366일)
topLimitInteger상위 이벤트 이름 수 (기본 10, 최대 50)

Response

필드타입설명
summaryObjecttotalEvents · uniqueSessions · uniqueEventNames · avgEventsPerSession
trendGranularity · trendString · Array90일 이하는 day(date · totalCount · uniqueSessions), 넘으면 week(weekStartDate · weekEndDate · 합계)
topEventsArrayeventName · count · uniqueSessions (건수 내림차순)
typeDistributionArrayeventType · count
cURL
curl "https://fplink.net/api/v1/service/analytics/events?appId=5&startDate=2026-08-01&endDate=2026-08-31" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/segments

조직의 동적 세그먼트 목록을 이름순으로 조회합니다. 마지막 재평가(매일 배치) 시점의 규모가 실립니다. 구성원(연락처) 목록은 제공하지 않습니다. 동적 세그먼트 애드온segments.view 권한이 필요합니다.

Query Parameters

파라미터타입필수설명
pageInteger페이지 번호 (0부터, 기본 0)
sizeInteger페이지 크기 (기본 10, 최대 50)

Response

필드타입설명
page · size · totalElements · totalPages · timeZoneNumber · String페이징 정보와 시각 타임존
segmentsArrayid · name · description · isActive · memberCount · conditionGroupCount · lastEvaluatedAt · lastUsedAt · createdAt · updatedAt (시각은 조직 타임존 ISO-8601)
cURL
curl "https://fplink.net/api/v1/service/analytics/segments?page=0&size=10" \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/analytics/segments/{id}

세그먼트 하나의 규모와 조건을 조회합니다. 다른 조직의 id 는 404 입니다. 구성원 목록은 제공하지 않습니다.

Response

필드타입설명
요약 필드-목록의 항목과 같은 id · name · memberCount · lastEvaluatedAt
conditionTextString조건을 읽을 수 있게 푼 문장 — 그룹 안은 AND, 그룹끼리는 OR. 예: (custom.grade eq VIP AND activity.purchase.count gte 3) OR (email contains @corp.com)
conditionGroupsArray조건 그룹 원본 — conditions[]propKey · propOp · propValue · compareKey
cURL
curl "https://fplink.net/api/v1/service/analytics/segments/11" \
  -H "X-API-KEY: your-api-key"