사이드 메뉴
시작하기
로그인
커뮤니케이션
광고
카카오모먼트
비즈니스폼+ 관리
이 문서는 비즈니스폼+ API 사용 방법을 안내합니다.
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | https://apis.moment.kakao.com/openapi/v4/adAccounts/bizFormPlus/report | 비즈니스 토큰 |
광고계정으로 생성한 비즈니스폼+의 응답 결과를 조회합니다.
비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청하며, 비즈니스폼+ ID(formId)를 쿼리 파라미터로 전달해야 합니다.
성공 시 응답 결과 목록과 다음 페이지 조회를 위한 커서 정보를 받습니다. 실패 시 에러 코드에서 원인을 확인합니다.
비즈니스폼+ 응답 결과 조회 API를 호출하려면 아래 조건을 만족해야 합니다.
- 카카오디벨로퍼스 앱과 광고계정에 등록된 사업자등록번호가 서로 일치
- 비즈니스 접근권한 동의항목의 비즈니스폼+ 응답 결과 조회 동의항목에 대한 사용자 동의
- 조회할 모먼트 광고계정 권한 및 폼ID에 대한 폼 보고서 다운로드 권한 보유
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}인증 방식, 비즈니스 토큰으로 인증 요청 | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}광고계정 ID | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| formId | String | 비즈니스폼+ 폼 ID(예: MA-1111) | O |
| cursorId | Long | 페이징용 커서 ID | X |
| size | Integer | 조회할 데이터 개수(기본값 100, 최대값 1,000) | X |
| 이름 | 타입 | 설명 |
|---|---|---|
| code | Integer | 에러 코드 |
| message | String | 결과 안내 메시지 |
| data | Data[] | 각 보고서 상세 데이터 |
| hasNext | Boolean | 다음 페이지 존재 여부 |
| nextCursor | Long | 다음 페이지 조회를 위한 커서 ID |
| 이름 | 타입 | 설명 |
|---|---|---|
| applyId | Long | 응답 ID |
| submittedAt | String | 응답 제출 일시 |
| expiresAt | String | 응답 만료 일시, 제출 시점으로부터 90일 후 |
String | 이메일 | |
| birthDate | String | 생년월일, YYYY-MM-DD 형식 |
| gender | String | 성별, 아래 중 하나
|
| name | String | 이름 |
| phoneNumber | String | 전화번호 |
| address | String | 주소 |
| answers | Answer[] | 설문 응답 값 |
| optionalAgreements | OptionalAgreement[] | 선택 동의문 목록 |
| channelAddStatus | String | 채널 추가 상태(예: -, already added, Y, N) |
| inflowSource | String | 유입 경로(예: 모먼트, 기타) |
| 이름 | 타입 | 설명 |
|---|---|---|
| question | String | 질문 |
| answer | String | 답변 |
| 이름 | 타입 | 설명 |
|---|---|---|
| title | String | 제목 |
| agree | Boolean | 동의 여부 |
요청
curl -v -G GET "https://apis.moment.kakao.com/openapi/v4/adAccounts/bizFormPlus/report" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-d "formId=${FORM_ID}" \-d "size=100"
응답
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"code": 200,"message": "Success","data": [{"applyId": 526,"submittedAt": "2026-03-20T08:27:15.848222+09:00","expiresAt": "2026-06-18T08:27:15.848222+09:00","email": "test1@example.com","birthDate": "${BIRTH_DATE}","gender": "MALE","name": "${NAME}","phoneNumber": "${PHONE_NUMBER}","address": "${ADDRESS}","answers": [{"question": "단일 선택형 제목","answer": "3"},{"question": "복수 선택형 제목","answer": "1, 3, 없음"},{"question": "서술형 제목","answer": "테스트 데이터 생성을 위한 긴 텍스트 응답입니다. 실제 사용자의 응답을 시뮬레이션합니다."},{"question": "날짜형 제목","answer": "2024-04-11"},{"question": "숫자형 제목","answer": "37"}],"optionalAgreements": [{"title": "기타 동의문 제목","agree": false}],"channelAddStatus": "Y","inflowSource": "모먼트"}],"hasNext": true,"nextCursor": 526}