Catchsecu Open API 활용 가이드
-
Catchsecu Open API 는 캐치시큐 서비스의 기능을 외부 개발자가 쉽게 이용할 수 있게 API 서비스 형태로 제공하고자 개발되었습니다.
-
Catchsecu Open API는 아래의 기능들을 제공합니다.
-
로그인 인증 토큰(access token) 발급/갱신
-
캐치폼 목록/항목 조회
-
캐치폼 항목을 활용한 답변 저장
-
캐치폼으로 수집된 답변목록 조회 / 답변 상세 조회
-
캐치폼에 연결된 동의서 url 확인
-
-
Catchsecu Open API의 캐치폼 관련 기능은
Catchsecu에 생성한 캐치폼(Catchform) 을 기반으로 동작하므로,
API 사용을 위해 캐치폼이 생성되어야 합니다. -
Web Browser 로 Open API 서버에 직접 요청을 보내는 경우 CORS 정책으로 인해 접근 오류가 발생할 수 있습니다.
-
서버와 서버 간 통신을 권장합니다.
-
-
최종수정일 : 2022년 9월 19일
-
이 문서의 내용은 언제든지 변경될 수 있습니다.
1. 상태 코드
API의 응답으로 출력되는 주요 상태코드는 아래와 같습니다.
상태 코드(Status code) | 용례(Usage) |
---|---|
|
요청을 성공적으로 처리함. |
|
요청한 리소스가 성공적으로 생성됨. |
|
잘못된 요청을 보낸 경우. |
|
요구되는 인증 정보가 없어 접근이 거부된 경우. |
|
권한이 없는 리소스에 접근한 경우. |
|
요청한 리소스가 없음. |
|
잘못된 HTTP 메소드로 요청한 경우. |
|
서버에 오류가 발생하여 요청을 수행할 수 없는 경우. |
2. 오류 코드
API 동작 과정에서 오류가 발생하는 경우 아래와 같은 형식으로 오류 메시지가 출력됩니다.
{
"success": false,
"response": null,
"error":
{
"errorCode":
{
"status": 500,
"error": "Internal Server Error"
},
"message": "${상세 에러 메시지}"
}
}
2.1. 4xx Status
Status |
Error |
용례 |
400 |
Bad Request |
잘못된 요청 |
401 |
Unauthorized |
권한이 없는 요청 |
403 |
Forbidden |
허용되지 않는 요청 |
403 |
License Data Not Found |
라이센스를 확인할 수 없음 |
403 |
Invalid Token |
유효하지 않은 (인증) 토큰 |
404 |
Not Found |
요청한 내용을 찾을 수 없음 |
405 |
Method Not Allowed |
설정된 HTTP Method로 처리 불가 |
411 |
User already exist |
이미 사용자가 존재함 |
415 |
Unsupported Media Type |
지원되지 않는 Media 형식 |
498 |
Exceptional Request |
예외적인 요청이 전송된 경우 |
2.2. 5xx Status
Status | Error | 용례 |
---|---|---|
500 |
Datetime Parsing Error |
날짜/시간 변환 오류 |
500 |
Processing (parsing, generating) JSON content Error |
JSON 데이터 처리 오류 |
500 |
Internal Server Error |
서버 내부 오류 |
3. Authorization
-
Catchsecu Open API에 인증 토큰을 요청하기 위해서는
catchsecu 의 개인정보 보호 책임자 계정에 접속, 시크릿 키를 발급 받아야 합니다.
3.1. 시크릿 키 발급 (최초 발급)
3.1.1. 설정 > API 관리 > API Secret Key 관리 접근
-
개인정보 책임자 계정으로 catchsecu를 로그인하시면 설정 메뉴 내 "API 관리" 탭으로 이동합니다.
-
API 관리 내 "API Secret Key 관리" 섹션을 확인하면 최초 상태에서는 "신규 발급" 버튼을 확인할 수 있습니다.
3.1.2. 이메일 인증 (신규 발급)
-
발급 버튼을 누르면 로그인 한 계정의 이메일로 인증코드를 전송합니다.
-
전송된 인증코드를 모달창에 입력하여 인증 절차를 진행합니다. (복사 - 붙여넣기 가능)
-
전송된 인증코드는 30분까지 유효합니다.
3.1.3. Secret Key 발급 완료
-
시크릿키는 최초 발급 완료 시에만 Key 전문을 확인하고 복사할 수 있습니다.
-
"Secret Key 복사하기" 버튼을 클릭하면 Key 전문을 복사할 수 있습니다.
-
-
해당 모달창을 닫은 후에는 Secret Key를 재조회 할 수 없습니다.
3.2. 시크릿 키 갱신 (재발급)
3.2.1. 설정 > API 관리 > API Secret Key 관리 접근
-
Secret Key 발급 이후에 해당 메뉴로 접근하면 아래의 정보를 확인할 수 있습니다.
-
key가 발급된 일시
-
발급된 키는 마스킹되고, 발급된 키의 끝3자리는 그대로 확인할 수 있습니다.
-
-
"재발급" 버튼을 클릭하여 Key가 새로 발급되면 이전에 발급된 Key로는 인증 토큰을 획득할 수 없습니다.
3.2.3. Secret Key 발급 완료 (재발급)
-
최초 발급과 동일하게 완료된 시점에서 Key 전문을 확인하고 복사할 수 있습니다.
-
해당 모달창을 닫은 후에는 Secret Key를 재조회 할 수 없습니다.
-
기존에 발급했던 Key와 연결된 서비스에 영향이 있을 수 있으니 주의를 요합니다.
3.3. 로그인을 통한 인증 토큰 발급
-
인증 토큰(Access token)은 API를 통한 기능 요청 시 권한을 증명하기 위해 필요합니다.
-
로그인을 진행하면 인증 토큰(Access token)과 갱신 토큰(Refresh token)을 발급받게 되며
API에 기능 요청 시 아래와 같이 설정하여 header에 설정하여야 합니다.
Authorization: Bearer ${AccessToken}
-
인증 토큰은 30분의 유효기간을 가지며
유효기간이 지나면 만료처리
되어 권한을 확인할 수 없습니다. -
갱신 토큰은 1주일의 유효기간을 가지며
유효기간동안 인증 토큰을 갱신
할 수 있습니다.
3.3.1. HTTP request
POST /api/v1/auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 95
Host: openapi.catchsecu.com
{
"credential" : {
"email" : "test@test.com",
"passCode" : "${your-Secret-Key}"
}
}
3.3.2. request fields
Path | Type | Description |
---|---|---|
|
|
로그인 처리를 위한 이메일 및 시크릿키 입력 |
|
|
사용자 이메일 |
|
|
사용자 시크릿키 |
3.3.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 632
{
"success" : true,
"response" : {
"allowedTo" : "test",
"accessToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE2NjM1NTU4OTMyMzUsImlzcyI6InRlc3RJc3N1ZXIiLCJpZCI6MSwiZXhwIjoxNjYzNTU2ODkzLCJpYXQiOjE2NjM1NTU4OTMsImVtYWlsIjoidGVzdEB0ZXN0LmNvbSJ9.KCLO_rRL8WuFDqiwh1ZmXC-1SaK4tLJNdByPYG5Q_JzgiyQDXNPjRoI4lmpZ2mmEF-fiSvsMOwA8ucyQRgZm-Q",
"refreshToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE2NjM1NTU4OTMyOTcsImlzcyI6InRlc3RJc3N1ZXIiLCJpZCI6MSwiZXhwIjoxNjYzNTYwODkzLCJpYXQiOjE2NjM1NTU4OTN9.KAjt-krvMmmK4eYY1oQJ9WCDT017whKtw6e1Srp4Z4I4a3FpSjRMSV7m_A2jALpemQdTftypKENtdz0EAXorYw"
},
"error" : null
}
3.3.4. response fields
Path | Type | Description |
---|---|---|
|
|
요청 처리 결과 |
|
|
응답 값 |
|
|
(오류 발생 시) 오류 내용 |
|
|
토큰 사용자 (허용된 사용자) |
|
|
access token (API 요청 시 사용) |
|
|
refresh token (access token 갱신 시 사용) |
3.4. 인증 토큰 갱신
-
인증 토큰 갱신은 로그인 시 설정했던
credential
정보와 함께
이전에 발급 받았던 인증 토큰(Access token)과 갱신 토큰(Refresh token)을 함께 설정하여야 합니다. -
이전에 발급 받았던 인증 토큰(Access token)과 갱신 토큰(Refresh token)이 설정되지 않은 경우 갱신이 처리되지 않습니다.
이 경우 다시 로그인을 진행하여 새로운 인증 토큰(Access token)과 갱신 토큰(Refresh token)을 발급 받을 수 있습니다.
3.4.1. HTTP request
POST /api/v1/auth/refresh HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 636
Host: openapi.catchsecu.com
{
"credential" : {
"email" : "test@test.com",
"passCode" : "${your-Secret-Key}"
},
"accessToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE2NjM1NTU4OTM1MDMsImlzcyI6InRlc3RJc3N1ZXIiLCJpZCI6MSwiZXhwIjoxNjYzNTU2ODkzLCJpYXQiOjE2NjM1NTU4OTMsImVtYWlsIjoidGVzdEB0ZXN0LmNvbSJ9.0fUWHqOpYCG0sL_ARoDJJ_TG1g1atwZm0gJt8THGvpnGcKenrrXoO7sI_tV28lhHdCMS8WqghCs0Vfb5oJNFaQ",
"refreshToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE2NjM1NTU4OTM1MDQsImlzcyI6InRlc3RJc3N1ZXIiLCJpZCI6MSwiZXhwIjoxNjYzNTYwODkzLCJpYXQiOjE2NjM1NTU4OTN9.uNwquTcFNDdO7pG_RsHoZHvuxNF0d8n3OJ1VrIHW0oWa6TjUJ_AKwKbG9lvu-YN5rg3wuwRFV_Pe6sjiijYBjw"
}
3.4.2. request fields
Path | Type | Description |
---|---|---|
|
|
로그인 처리를 위한 이메일 및 시크릿키 입력 |
|
|
access token |
|
|
refresh token |
|
|
사용자 이메일 |
|
|
사용자 시크릿키 |
3.4.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 632
{
"success" : true,
"response" : {
"allowedTo" : "test",
"accessToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE2NjM1NTU4OTM1MDMsImlzcyI6InRlc3RJc3N1ZXIiLCJpZCI6MSwiZXhwIjoxNjYzNTU2ODkzLCJpYXQiOjE2NjM1NTU4OTMsImVtYWlsIjoidGVzdEB0ZXN0LmNvbSJ9.0fUWHqOpYCG0sL_ARoDJJ_TG1g1atwZm0gJt8THGvpnGcKenrrXoO7sI_tV28lhHdCMS8WqghCs0Vfb5oJNFaQ",
"refreshToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOjE2NjM1NTU4OTM1MDQsImlzcyI6InRlc3RJc3N1ZXIiLCJpZCI6MSwiZXhwIjoxNjYzNTYwODkzLCJpYXQiOjE2NjM1NTU4OTN9.uNwquTcFNDdO7pG_RsHoZHvuxNF0d8n3OJ1VrIHW0oWa6TjUJ_AKwKbG9lvu-YN5rg3wuwRFV_Pe6sjiijYBjw"
},
"error" : null
}
3.4.4. response fields
Path | Type | Description |
---|---|---|
|
|
요청 처리 결과 |
|
|
응답 값 |
|
|
(오류 발생 시) 오류 내용 |
|
|
토큰 사용자 (허용된 사용자) |
|
|
access token (API 요청 시 사용) |
|
|
refresh token (access token 갱신 시 사용) |
4. Catchform (캐치폼)
4.1. 캐치폼 목록 조회
-
catchsecu 에 생성한 캐치폼의 목록을 확인할 수 있습니다.
-
목록 내
formId
는 캐치폼을 특정할 시 식별자로 사용됩니다. -
directUrl
은 캐치폼의 답변 입력 페이지의 URL 입니다.
4.1.1. HTTP request
GET /api/v1/catchform/forms HTTP/1.1
Authorization: Bearer ${AccessToken}
Host: openapi.catchsecu.com
4.1.2. request headers
Name | Description |
---|---|
|
Open API 접근을 위해 발급받은 access token |
4.1.3. HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 258
{
"success" : true,
"response" : [ {
"serviceName" : "test-service",
"formId" : 1,
"subject" : "test-form",
"createAt" : "2022-09-19T11:52:35.439178",
"directUrl" : "${form-direct-url}",
"activate" : true
} ],
"error" : null
}
4.1.4. response fields
Path | Type | Description |
---|---|---|
|
|
요청 처리 결과 |
|
|
응답 값 |
|
|
(오류 발생 시) 오류 내용 |
|
|
캐치폼이 속한 서비스 이름 |
|
|
캐치폼 ID |
|
|
캐치폼 제목 |
|
|
캐치폼 생성일시 |
|
|
생성된 캐치폼 접근 링크 (답변을 입력받을 수 있는 페이지로 이동할 수 있는 링크입니다.) |
|
|
캐치폼 활성화 여부 (비활성화된 경우, 캐치폼으로 답변을 수집할 수 없습니다.) |
4.2. 캐치폼 항목 조회
-
캐치폼 목록에서 확인한 캐치폼의
formId
를 통해 캐치폼 구성 항목을 조회할 수 있습니다. -
formInputName
은 캐치폼 답변 저장 시 key 값으로 사용됩니다. -
agreementList
내agreeToken
은 동의서 동의여부 저장 시 key 값으로 사용됩니다.
1-AGREEMENT-${agreeToken}
4.2.1. HTTP request
POST /api/v1/catchform/forms/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer ${AccessToken}
Host: openapi.catchsecu.com
4.2.2. request headers
Name | Description |
---|---|
|
요청 형식 : JSON (application/json) |
|
Open API 접근을 위해 발급받은 access token |
4.2.3. request path-parameters
Parameter | Description |
---|---|
|
캐치폼 목록에서 확인한 캐치폼 ID |
4.2.4. HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1522
{
"success" : true,
"response" : {
"formId" : 1,
"subject" : "test-form",
"createAt" : "2022-09-19T11:52:35.750",
"formQuestionList" : [ {
"formInputName" : "1-TEXTBOX-1",
"questionName" : "이름(필수)",
"questionElementType" : "MM",
"inputRegularExpression" : "^.{100}$",
"questionItems" : null
}, {
"formInputName" : "1-TEXTBOX-2",
"questionName" : "이메일(필수)",
"questionElementType" : "MM",
"inputRegularExpression" : "^.{100}$",
"questionItems" : null
}, {
"formInputName" : "1-CHECKBOX-3",
"questionName" : "성별(선택)",
"questionElementType" : "MS",
"inputRegularExpression" : "",
"questionItems" : [ {
"itemName" : "남",
"itemValue" : "0"
}, {
"itemName" : "여",
"itemValue" : "1"
}, {
"itemName" : "기타",
"itemValue" : "3"
} ]
}, {
"formInputName" : "1-FILE-4",
"questionName" : "사진(선택)",
"questionElementType" : "MS",
"inputRegularExpression" : "파일형식 : jp(e)g, png, docx, pdf / 크기제한 (전체기준) : 답변을 구성하는 첨부파일 전체의 크기가 100MB 가 넘지 않도록 주의.",
"questionItems" : null
} ],
"agreementList" : [ {
"agreementTitle" : "개인정보 수집·이용 동의서",
"agreeToken" : "${agreement-token}",
"agreementElementType" : "MM",
"agreeYn" : null
} ]
},
"error" : null
}
4.2.5. response fields
Path | Type | Description |
---|---|---|
|
|
요청 처리 결과 |
|
|
응답 값 |
|
|
(오류 발생 시) 오류 내용 |
|
|
캐치폼 ID |
|
|
캐치폼 제목 |
|
|
캐치폼 생성일시 |
|
|
캐치폼 질의를 구성하는 component 정보 |
|
|
캐치폼의 개인정보 수집 및 활용 목적에 따라 생성된 동의서 정보 |
|
|
component 이름 ('캐치폼 ID-component 유형-component 배치 순서' 로 구성 |
|
|
component의 질의 내용 |
|
|
component의 수집항목 구분 (MM : 필수, MS : 선택) |
|
|
component의 제약조건 ([정규표현식]) |
|
|
(체크박스, 라디오버튼 한정) 질의 구성 요소 |
|
|
동의서 명칭 |
|
|
동의서 토큰 (외부 링크용) |
|
|
동의서의 필수/선택 여부 (수집항목 구분에 따라 설정됩니다.) |
4.3. 캐치폼 답변 저장
-
캐치폼을 생성 시 구성한 질의 항목에 답변을 입력할 수 있습니다.
-
입력을 위한 key로는
formInputName
과agreementList
내agreeToken
값으로 구성한1-AGREEMENT-${agreeToken}
으로 답변, 동의여부 저장의 key 값으로 구성하여야 합니다. -
답변 전송 시 content-type은
multipart/form-data
로 설정되어야 합니다. -
component 유형으로는 아래의 형식이 있습니다.
-
TEXTBOX(텍스트박스)
-
TEXTAREA(텍스트영역)
-
CHECKBOX(체크박스)
-
RADIO(라디오버튼)
-
FILE(첨부파일)
-
-
답변 값 입력 시 유의사항
-
TEXTBOX 는 100자 이내의 문자열을 입력할 수 있습니다.
-
TEXTAREA 는 250자 이내의 문자열을 입력할 수 있습니다.
-
CHECKBOX, RADIO는 캐치폼 항목 조회 시 확인한
questionItems
의 value를 입력하여야 합니다. -
FILE의 경우
-
파일형식은 jp(e)g, png, docx, pdf 로 제한되며
-
파일의 크기는 캐치폼 당 최대 100MB 까지 업로드가 가능합니다. (모든 파일 질의의 첨부파일 총 합)
-
-
-
캐치폼이 비활성화 된 경우에는 답변이 수집되지 않으니 유의 바랍니다.
4.3.1. HTTP request
POST /api/v1/catchform/subject/1/answer HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: Bearer ${AccessToken}
Host: openapi.catchsecu.com
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=1-TEXTBOX-1
test answer1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=1-TEXTBOX-2
test answer2
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=1-AGREEMENT-${agreement-token}
Y
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=1-FILE-3
testFile
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
4.3.2. request headers
Name | Description |
---|---|
|
요청 형식 : multipart/form-data |
|
Open API 접근을 위해 발급받은 access token |
4.3.3. request path-parameters
Parameter | Description |
---|---|
|
캐치폼 목록에서 확인한 캐치폼 ID |
4.3.4. request parameters
Parameter | Description |
---|---|
|
1번 ID의 캐치폼 내 텍스트박스 입력 (첫번째 입력 영역) |
|
1번 ID의 캐치폼 내 텍스트박스 입력 (두번째 입력 영역) |
|
1번 ID의 캐치폼 내 파일 입력 (세번째 입력 영역) |
|
1번 ID의 캐치폼 내 ${agreement-token} 동의서 동의 여부 (Y/N) |
4.3.5. HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 189
{
"success" : true,
"response" : {
"formId" : 1,
"answerAt" : "2022-09-19T11:52:35.96823",
"customerId" : "${customer-id}",
"message" : "created"
},
"error" : null
}
4.3.6. response fields
Path | Type | Description |
---|---|---|
|
|
요청 처리 결과 |
|
|
응답 값 |
|
|
(오류 발생 시) 오류 내용 |
|
|
답변을 수집한 캐치폼 ID |
|
|
답변이 입력된 시점 |
|
|
답변한 사람을 식별하기 위한 임의 문자 |
|
|
처리 결과에 따른 메시지 (성공 시 : created / 실패 시 : 실패 사유 메시지가 입력됨 |
4.4. 캐치폼 답변 목록 조회
-
캐치폼을 통해 입력된 답변 목록을 확인할 수 있습니다.
-
답변 목록에서는 component 배치 순서를 기준으로
세가지
의 답변만 확인하실 수 있습니다. -
질의-답변으로 구성되어 출력되며, 답변 값은 마스킹 처리되어 출력됩니다.
-
customerId
는 답변자를 식별하기 위한 값으로 사용됩니다.
4.4.1. HTTP request
POST /api/v1/catchform/subject/1/answers HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer ${AccessToken}
Host: openapi.catchsecu.com
4.4.2. request headers
Name | Description |
---|---|
|
요청 형식 : JSON (application/json) |
|
Open API 접근을 위해 발급받은 access token |
4.4.3. request path-parameters
Parameter | Description |
---|---|
|
캐치폼 목록에서 확인한 캐치폼 ID |
4.4.4. HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 697
{
"success" : true,
"response" : [ {
"customerId" : "${customerId}",
"agreedAt" : "2022-09-19T11:52:35.878833",
"answers" : {
"col2" : {
"question" : "이메일(필수)",
"value" : "c***********************m"
},
"col1" : {
"question" : "이름(필수)",
"value" : "t****r"
}
}
}, {
"customerId" : "${customerId}",
"agreedAt" : "2022-09-19T11:52:35.87902",
"answers" : {
"col2" : {
"question" : "이메일(필수)",
"value" : "a***********************m"
},
"col1" : {
"question" : "이름(필수)",
"value" : "t*****2"
}
}
} ],
"error" : null
}
4.4.5. response fields
Path | Type | Description |
---|---|---|
|
|
요청 처리 결과 |
|
|
응답 값 |
|
|
(오류 발생 시) 오류 내용 |
|
|
정보주체(답변자) 식별값 |
|
|
정보주체의 답변일시 |
|
|
정보주체가 답변한 내용 (질의-답변으로 구성되어 있습니다.) (단, 내용은 마스킹처리되어 있습니다.) |
4.5. 캐치폼 답변 상세조회
-
customerId
를 식별자로 특정 답변에 대한 상세 내용을 확인할 수 있습니다.-
전체 질의항목에 대한 입력 값 확인 가능
-
답변 값이 복호화되어 조회됩니다.
-
4.5.1. HTTP request
POST /api/v1/catchform/subject/answers/$%7BcustomerId%7D HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer ${AccessToken}
Host: openapi.catchsecu.com
4.5.2. request headers
Name | Description |
---|---|
|
요청 형식 : JSON (application/json) |
|
Open API 접근을 위해 발급받은 access token |
4.5.3. request path-parameters
Parameter | Description |
---|---|
|
캐치폼 답변 목록에서 확인한 답변자 ID (customerId) |
4.5.4. HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 377
{
"success" : true,
"response" : {
"customerId" : "${customerId}",
"agreedAt" : "2022-09-19T11:52:36.047076",
"answers" : {
"col2" : {
"question" : "이메일(필수)",
"value" : "catchsecu-user@catchsecu.com"
},
"col1" : {
"question" : "이름(필수)",
"value" : "tester"
}
}
},
"error" : null
}
4.5.5. response fields
Path | Type | Description |
---|---|---|
|
|
요청 처리 결과 |
|
|
응답 값 |
|
|
(오류 발생 시) 오류 내용 |
|
|
정보주체(답변자) 식별값 |
|
|
정보주체의 답변일시 |
|
|
정보주체가 답변한 내용 (질의-답변으로 구성되어 있습니다.) (단, 내용은 마스킹처리되어 있습니다.) |
4.6. 캐치폼에 연결된 동의서 조회
-
캐치폼에 연결된 동의서를 조회할 수 있습니다.
-
linkUrl
값은 동의서 화면의 URL 값입니다.
4.6.1. HTTP request
POST /api/v1/catchform/forms/1/agreements HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer ${AccessToken}
Host: openapi.catchsecu.com
4.6.2. request headers
Name | Description |
---|---|
|
요청 형식 : JSON (application/json) |
|
Open API 접근을 위해 발급받은 access token |
4.6.3. request path-parameters
Parameter | Description |
---|---|
|
캐치폼 목록에서 확인한 캐치폼 ID |
4.6.4. HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 167
{"success":true,"response":[{"agreementTitle":"개인정보 수집·이용 동의서","agreementType":"필수수집항목","linkUrl":"${aggrement-url}"}],"error":null}
4.6.5. response fields
Path | Type | Description |
---|---|---|
|
|
요청 처리 결과 |
|
|
응답 값 |
|
|
(오류 발생 시) 오류 내용 |
|
|
동의서 명칭 |
|
|
동의서의 필수/선택 여부 (수집항목 구분에 따라 설정됩니다.) |
|
|
동의서 링크 (URL을 통해 자동 생성된 동의서를 확인할 수 있습니다.) |