Dataspace API specification (v2)

Download OpenAPI specification:Download

(출시일: 2024-05-30)

Dataspace 에서 제공하는 API 에 대해 명세합니다.

인증

인증 방식

  • 데이터스페이스 API 는 HTTP Basic 인증방식을 사용합니다.
  • HTTPS 통신과 TLS 버전 1.2 이상만 지원합니다.

키 확인방법

Space ID, API 인증키가 필수값으로 요구됩니다.

Space ID : ‘데이터스페이스’당 1개의 Space ID가 자동으로 발급되어, 별도의 발급 절차가 필요하지 않습니다. 데이터스페이스에 소속된 사용자라면 누구나 조회할 수 있습니다.

API 인증키 : 발급 이후 조회할 수 있으며, 발급 및 재발급 권한은 ‘데이터스페이스 관리자 계정’에게 있습니다.

데이터스페이스에 로그인 후, [API] > [API 키] 메뉴에 접근하여 조회 및 복사하실 수 있습니다.

로그인 후에도 [API 키] 메뉴에 접근할 수 없다면, '데이터스페이스’에 멤버로 등록되었는지 확인해보세요.

키 사용방법

데이터스페이스의 모든 API는 HTTP Authorization header 에 Basic <crendentials> 추가해서 요청하도록 설계되어 있습니다.

Space IDAPI 인증키 사이에 : (콜론)을 추가하고 base64(No Padding)로 인코딩하세요.

credentials = base64({Space ID}:{API 인증키})


인코딩된 값을 API 의 Authorization header 를 다음과 같이 설정하세요.

Authorization: Basic base64({Space ID}:{API 인증키})


아래와 같은 형태로 API 요청이 가능합니다.

GET /v2/responses/... HTTP/1.1
Authorization: Basic

설문

설문 조회를 수행합니다.

설문 목록 조회

설문 목록을 조회합니다. 설문에 속한 수집그룹들의 상태에 따른 필터링이 가능합니다.

필터를 지정하지 않으면 모든 설문을 조회하고, RUNNING은 현재 진행중인 수집그룹이 있는 설문만 조회합니다.

설문 ID 와 설문 제목, 그리고 생성일자 및 최종 수정일자를 조회할 수 있습니다. 생성일 역순으로 1000 건씩 조회합니다.

Authorizations:
basic_authentication
query Parameters
collectGroupsStatus
string
Value: "RUNNING"

Responses

Response samples

Content type
application/json
{
  • "surveys": [
    ],
  • "nextSurveyId": "a01h1mzpact2df4gjfgq865f1gx"
}

설문 정보 조회

설문 ID(surveyId) 를 통해 설문 정보를 조회합니다.

Authorizations:
basic_authentication
path Parameters
surveyId
required
string
Example: a01hb7vt01vpahrwjyxgd28sf3a

Responses

Response samples

Content type
application/json
{
  • "surveyId": "a01hb7vt01vpahrwjyxgd28sf3a",
  • "title": "생활 관련 조사",
  • "questions": [
    ],
  • "parameters": [
    ],
  • "createdAt": "2023-10-02T00:00:00",
  • "updatedAt": "2023-10-02T00:00:00"
}

수집

수집 그룹에 대한 조회, 응답 링크 생성을 수행합니다.

수집그룹 목록 조회

설문 내 모든 수집그룹들의 정보를 생성일자 순으로 조회합니다.

Authorizations:
basic_authentication
path Parameters
surveyId
required
string
Example: a01hb7vt01vpahrwjyxgd28sf3a

Responses

Response samples

Content type
application/json
[
  • {
    }
]

수집그룹 정보 조회

수집그룹 ID(collectGroupId) 를 통해 수집그룹 정보를 조회합니다.

Authorizations:
basic_authentication
path Parameters
collectGroupId
required
string

Responses

Response samples

Content type
application/json
{
  • "collectGroupId": "a01h94kt4fyzmp64h40gzyvrjj7",
  • "surveyId": "a01hb7vt01vpahrwjyxgd28sf3a",
  • "name": "기본 링크 수집그룹",
  • "channel": "PUBLIC_LINK",
  • "state": "READY",
  • "targetCnt": 100,
  • "startedAt": "2023-10-04T00:00:00",
  • "completedAt": "2023-10-10T00:00:00",
  • "isUsingHmac": false,
  • "createdAt": "2023-10-02T00:00:00",
  • "updatedAt": "2023-10-03T00:00:00"
}

응답 URL 조회

수집그룹에 대한 응답 URL 목록을 조회합니다.
기본 링크(PUBLIC_LINK) 수집그룹의 경우에만 적용 가능합니다.
파라미터 값이 적용된 응답 URL 목록을 반환합니다.

Authorizations:
basic_authentication
path Parameters
collectGroupId
required
string
Request Body schema: application/json
Array
parameters
Array of objects

생성할 응답 URL 들에서 사용할 파라미터 값들.

URL 별로 파라미터 Key 에 해당하는 파라미터 값들을 지정할 수 있습니다.

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

수집그룹 serial 값 조회

수집그룹 ID(collectGroupId) 를 통해 수집그룹 serial 값을 조회합니다.

수집그룹이 기본링크(PUBLIC_LINK) 방식일 경우에만 serial 값을 조회할 수 있습니다.

Authorizations:
basic_authentication
path Parameters
collectGroupId
required
string

Responses

Response samples

Content type
application/json
"alLL85Y4J873H"

응답

응답 조회를 수행합니다.

응답 조회

설문 ID 를 받고, 해당 설문에 대한 응답을 조회합니다. pageToken 기준으로 1000건의 응답씩 응답 역순으로 조회할 수 있습니다.

Authorizations:
basic_authentication
query Parameters
surveyId
required
string
Example: surveyId=a01hb7vt01vpahrwjyxgd28sf3a
startDateTime
string <date-time>
Example: startDateTime=2020-01-01T00:00:00

응답 제출시각 기준으로 조회할 때 범위 시작 시각입니다. (해당 시각 미포함) 값이 없으면 가장 오래된 응답부터 조회합니다.

endDateTime
string <date-time>
Example: endDateTime=2020-01-02T00:00:00

응답 제출시각 기준으로 조회할 때 범위 종료 시각입니다. (해당 시각 포함) 값이 없으면 가장 최근 응답까지 조회합니다.

parameterField
string
Enum: "ANSWERS" "PARAMETERS"
Example: parameterField=ANSWERS

파라미터 값이 포함된 응답일 경우, 파라미터 키와 값을 어떤 필드에 포함할지 선택할 수 있습니다.
선택하지 않을 경우 answers 필드에 포함하여 반환합니다.

pageToken
string
Example: pageToken=ZjJrdXJyeWo=

response 에서 받은 pageToken 값을 넣어서 다음 페이지의 응답 1000건을 조회할 수 있습니다.

Responses

Response samples

Content type
application/json
{
  • "surveyId": "a01hb7vt01vpahrwjyxgd28sf3a",
  • "responses": [
    ],
  • "pageToken": "ZjJrdXJyeWo="
}

응답 메타데이터 조회

설문 ID 를 받고, 해당 설문에 대한 응답의 메타데이터를 조회합니다. pageToken 기준으로 1000건의 응답씩 응답 역순으로 조회할 수 있습니다.

Authorizations:
basic_authentication
query Parameters
surveyId
required
string
Example: surveyId=a01hb7vt01vpahrwjyxgd28sf3a
startDateTime
string <date-time>
Example: startDateTime=2020-01-01T00:00:00

응답 제출시각 기준으로 조회할 때 범위 시작 시각입니다. (해당 시각 미포함) 값이 없으면 가장 오래된 응답부터 조회합니다.

endDateTime
string <date-time>
Example: endDateTime=2020-01-02T00:00:00

응답 제출시각 기준으로 조회할 때 범위 종료 시각입니다. (해당 시각 포함) 값이 없으면 가장 최근 응답까지 조회합니다.

pageToken
string
Example: pageToken=ZjJrdXJyeWo=

response 에서 받은 pageToken 값을 넣어서 다음 페이지의 응답 메타데이터 1000건을 조회할 수 있습니다.

Responses

Response samples

Content type
application/json
{
  • "answerSheets": [
    ],
  • "pageToken": "ZjJrdXJyeWo="
}