Skip to content
협의용 초안API 경로·필드·유효기간은 제안입니다. 운영 API 제공 완료를 의미하지 않습니다.

학습이력 조회 (정산) ​

정산을 위한 기간별 학습이력입니다. 항목 1건은 학생 × 활동 하나(6개 값 조합 하나)이며, 활동마다 한 번 정산합니다. 다시 해보기 회차에는 과금하지 않습니다. accessDate는 그 활동에 처음 진입한 시각입니다.

http
POST /integrations/v1/learning-history
Authorization: Bearer <PARTNER_SERVER_KEY>
Content-Type: application/json

요청 예시 1 — 하루 전체 조회:

json
{
  "fromDate": "2026-09-28",
  "toDate": "2026-09-28",
  "studyType": null,
  "memIdx": null
}

요청 예시 2 — 학생 한 명의 쓰기 조회:

json
{
  "fromDate": "2026-09-01",
  "toDate": "2026-09-28",
  "studyType": "WR",
  "memIdx": "1234567"
}
필드필수의미
fromDate, toDate필수조회 기간. YYYY-MM-DD, 두 날짜 모두 포함, 한국시간 기준. 최대 31일
studyType선택null이면 전체. RA, WR, SP, IBTRA, IBTW, IBTS
memIdx선택null이면 전체 학생. 문자열로 보냅니다. 앞자리 0을 보존합니다

응답 예시:

json
{
  "success": true,
  "regDate": "2026-09-29 03:00:02.000",
  "request": {
    "fromDate": "2026-09-28",
    "toDate": "2026-09-28",
    "studyType": null,
    "memIdx": null
  },
  "totalCount": 2,
  "data": [
    {
      "studyType": "WR",
      "memIdx": "12345678",
      "level": "MA",
      "layer": "RED",
      "unitCd": "U01",
      "regYear": 2026,
      "season": 3,
      "regYm": "202609",
      "accessDate": "2026-09-28 14:00:00.123"
    },
    {
      "studyType": "SP",
      "memIdx": "1234567",
      "level": "MA",
      "layer": "RED",
      "unitCd": "U01",
      "regYear": 2026,
      "season": 3,
      "regYm": "202609",
      "accessDate": "2026-09-28 14:15:20.456"
    }
  ]
}
응답 필드의미
regDate응답 생성 시각. 한국시간 YYYY-MM-DD HH:mm:ss.SSS
request요청 조건을 그대로 돌려줍니다
totalCountdata의 건수. 페이지를 나누지 않으므로 전체 건수와 같습니다
data[].memIdx학생 ID. 문자열
data[].unitCd단원 코드. 진입 때 보낸 문자열 그대로
data[].regYear, season숫자
data[].studyType, level, layer, unitCd, regYear, season활동(6개 값 조합)의 값
data[].regYm그 활동에 처음 진입한 회차의 귀속 월
data[].accessDate그 활동에 처음 진입한 시각. 한국시간 YYYY-MM-DD HH:mm:ss.SSS

집계 규칙 ​

  • 학생 × 활동 하나에 1건입니다. 같은 활동에 여러 번 진입하거나 다시 해보기로 여러 회차를 학습해도 1건이며, accessDate는 그 활동의 모든 회차 중 가장 이른 진입 시각입니다.
  • 다른 활동은 각각 1건입니다. 같은 단원이라도 regYear·season이 다르면 다른 활동입니다.
  • 기간은 accessDate의 한국시간 날짜로 판단합니다. 처음 진입한 날이 기간 밖이면, 기간 안에 다시 진입하거나 다시 해보기를 했더라도 나오지 않습니다. 그래서 한 활동은 처음 진입한 날이 속한 기간에서 한 번만 나옵니다.
  • 제출을 완료하지 않은 학습도 포함합니다. 진입 코드를 만들기만 하고 학습 창에 진입하지 않은 경우는 제외합니다.
  • 정렬은 accessDate 오름차순입니다.
  • regYm은 교재 귀속 월이며 accessDate와 다를 수 있습니다.

오류 ​

HTTP코드의미
401INVALID_PARTNER_KEYBearer key 누락·불일치
422INVALID_INPUT날짜 형식 오류, fromDate > toDate, 31일 초과, memIdx가 문자열이 아님, 지원하지 않는 studyType, 정의되지 않은 필드, JSON이 아닌 본문

오류 응답 형식은 조회 API 공통 응답을 따르며, error.fields에 문제가 된 필드 이름이 들어갑니다.

아발론 파트너 개발 문서 · 개발 명세 v0.4