📡 앱 API 레퍼런스

앱 등록, 관리, 삭제 및 통계 조회 (6개 엔드포인트)

📌 인증
모든 Service API 요청에는 X-API-KEY 헤더를 포함해야 합니다. API Key는 콘솔 > 개발자 > API 키 관리에서 발급받을 수 있습니다. 공통 규칙은 API 개요를 참고하세요.

POST /api/v1/service/mobile-apps

새로운 앱을 등록합니다.

Request Body

필드타입필수설명
platformString플랫폼 (IOS 또는 ANDROID)
appNameString앱 이름
bundleIdStringBundle ID (iOS) / Package Name (Android)
teamIdStringApple Team ID (iOS 전용)
schemeStringURL 스킴 (예: myapp://)
storeUrlString앱 스토어/플레이스토어 URL
appIconUrlString앱 아이콘 URL

Response 201 Created

필드타입설명
idLong앱 ID
appNameString앱 이름
platformString플랫폼 (IOS 또는 ANDROID)
bundleIdStringBundle ID / Package Name
pathString고유 경로 (URL 네임스페이스, 자동 생성)
apiKeyString모바일 SDK 연동 API 키 (자동 생성)
schemeStringURL 스킴
teamIdStringApple Team ID
storeUrlString앱 스토어 URL
appIconUrlString앱 아이콘 URL
cURL
curl -X POST https://fplink.net/api/v1/service/mobile-apps \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: your-api-key" \
  -d '{
    "platform": "IOS",
    "appName": "MyApp iOS",
    "bundleId": "com.example.myapp",
    "teamId": "ABC123DEF4",
    "scheme": "myapp://",
    "storeUrl": "https://apps.apple.com/app/id123456789"
  }'
JSON
{
  "id": 12,
  "appName": "MyApp iOS",
  "platform": "IOS",
  "bundleId": "com.example.myapp",
  "path": "myapp",
  "apiKey": "mak_a1b2c3d4e5f6...",
  "scheme": "myapp://",
  "teamId": "ABC123DEF4",
  "storeUrl": "https://apps.apple.com/app/id123456789",
  "appIconUrl": null
}

GET /api/v1/service/mobile-apps

등록된 앱 목록을 조회합니다.

Query Parameters

파라미터타입필수설명
pageInteger페이지 번호 (0부터 시작, 기본: 0)
sizeInteger페이지 크기 (1~100, 기본: 20)
searchString검색 키워드 (앱 이름 검색)

Response

Spring Page 응답 형식으로 반환됩니다.

필드타입설명
content[]Array앱 목록 배열 (각 항목은 앱 상세 참조)
totalElementsLong전체 앱 수
totalPagesInteger전체 페이지 수
sizeInteger페이지 크기
numberInteger현재 페이지 번호 (0부터 시작)
firstBoolean첫 번째 페이지 여부
lastBoolean마지막 페이지 여부
cURL
curl "https://fplink.net/api/v1/service/mobile-apps?page=0&size=10" \
  -H "X-API-KEY: your-api-key"
JSON
{
  "content": [
    {
      "id": 12,
      "appName": "MyApp iOS",
      "platform": "IOS",
      "appIconUrl": "https://example.com/icon.png",
      "bundleId": "com.example.myapp",
      "path": "myapp",
      "apiKey": "mak_a1b2c3d4e5f6...",
      "scheme": "myapp://",
      "teamId": "ABC123DEF4",
      "storeUrl": "https://apps.apple.com/app/id123456789"
    },
    {
      "id": 15,
      "appName": "MyApp Android",
      "platform": "ANDROID",
      "appIconUrl": "https://example.com/icon-android.png",
      "bundleId": "com.example.myapp",
      "path": "myapp",
      "apiKey": "mak_f6e5d4c3b2a1...",
      "scheme": "myapp://",
      "teamId": null,
      "storeUrl": "https://play.google.com/store/apps/details?id=com.example.myapp"
    }
  ],
  "totalElements": 2,
  "totalPages": 1,
  "size": 10,
  "number": 0,
  "first": true,
  "last": true
}

GET /api/v1/service/mobile-apps/{id}

특정 앱의 상세 정보를 조회합니다.

Path Parameters

파라미터타입필수설명
idLong앱 ID

Response

필드타입설명
idLong앱 ID
appNameString앱 이름
platformString플랫폼 (IOS 또는 ANDROID)
appIconUrlString앱 아이콘 URL
bundleIdStringBundle ID (iOS) / Package Name (Android)
pathString고유 경로 (URL 네임스페이스)
apiKeyString모바일 SDK 연동 API 키
schemeStringURL 스킴 (딥링크용)
teamIdStringApple Team ID (iOS 전용, Android는 null)
storeUrlString앱 스토어/플레이스토어 URL
cURL
curl "https://fplink.net/api/v1/service/mobile-apps/12" \
  -H "X-API-KEY: your-api-key"
JSON
{
  "id": 12,
  "appName": "MyApp iOS",
  "platform": "IOS",
  "appIconUrl": "https://example.com/icon.png",
  "bundleId": "com.example.myapp",
  "path": "myapp",
  "apiKey": "mak_a1b2c3d4e5f6...",
  "scheme": "myapp://",
  "teamId": "ABC123DEF4",
  "storeUrl": "https://apps.apple.com/app/id123456789"
}

PUT /api/v1/service/mobile-apps/{id}

기존 앱의 정보를 수정합니다.

Path Parameters

파라미터타입필수설명
idLong앱 ID

Request Body

필드타입필수설명
platformString플랫폼 (IOS 또는 ANDROID)
appNameString앱 이름
bundleIdStringBundle ID / Package Name
teamIdStringApple Team ID (iOS 전용)
schemeStringURL 스킴
storeUrlString앱 스토어/플레이스토어 URL
appIconUrlString앱 아이콘 URL

Response

앱 상세 조회와 동일한 전체 필드를 반환합니다.

cURL
curl -X PUT https://fplink.net/api/v1/service/mobile-apps/12 \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: your-api-key" \
  -d '{
    "appName": "MyApp iOS v2",
    "storeUrl": "https://apps.apple.com/app/id987654321"
  }'
JSON
{
  "id": 12,
  "appName": "MyApp iOS v2",
  "platform": "IOS",
  "appIconUrl": "https://example.com/icon.png",
  "bundleId": "com.example.myapp",
  "path": "myapp",
  "apiKey": "mak_a1b2c3d4e5f6...",
  "scheme": "myapp://",
  "teamId": "ABC123DEF4",
  "storeUrl": "https://apps.apple.com/app/id987654321"
}

DELETE /api/v1/service/mobile-apps/{id}

앱을 삭제합니다. 삭제된 앱과 연결된 딥링크 설정도 함께 제거됩니다.

Path Parameters

파라미터타입필수설명
idLong삭제할 앱 ID

Response

성공 시 204 No Content를 반환합니다. 응답 본문은 없습니다.

cURL
curl -X DELETE https://fplink.net/api/v1/service/mobile-apps/12 \
  -H "X-API-KEY: your-api-key"

GET /api/v1/service/mobile-apps/{id}/install-stats

앱의 설치 및 클릭 통계를 조회합니다.

Path Parameters

파라미터타입필수설명
idLong앱 ID

Query Parameters

파라미터타입필수설명
startDateDate시작일 (YYYY-MM-DD 형식)
endDateDate종료일 (YYYY-MM-DD 형식)

Response

필드타입설명
periodString조회 기간
appNameString앱 이름
platformString플랫폼 필터 (All, iOS, Android)
totalInstallsLong전체 설치 수
iosInstallsLongiOS 설치 수
androidInstallsLongAndroid 설치 수
totalClicksLong전체 클릭 수
conversionRateDouble클릭 대비 설치 전환율 (%)
dailyInstallsArray일별 설치 통계
platformStatsArray플랫폼별 설치 통계
countryStatsArray국가별 설치 통계
recentInstallsArray최근 설치 내역
reengagementStatsObject리인게이지먼트 통계 (재방문율, 플랫폼 분포 등)
funnelStatsObject퍼널 통계 (딥링크 클릭 → 스토어 방문 → 설치 → 실행)
qualityStatsObject딥링크 품질 통계 (성공률, 응답시간, 실패 원인 등)
cURL
curl "https://fplink.net/api/v1/service/mobile-apps/5/install-stats?startDate=2026-01-01&endDate=2026-01-31" \
  -H "X-API-KEY: your-api-key"