TSP90 핀패드 제어 서비스

SP90 핀패드 단말기를 제어하기 위한 API 그룹입니다.

서비스 리스트

No. 서비스명 API명 비고
1 핀패드 초기화 TSP90.Init 포트 오픈 및 하드웨어 초기화
2 버전 정보 조회 TSP90.GetVersion 펌웨어/DLL 버전 획득
3 스피커 볼륨 조회 TSP90.GetVolume 1~10
4 버튼 볼륨 조회 TSP90.GetButtonVolume 1~10
5 밝기 조회 TSP90.GetBright 1~10
6 폰트 조회 TSP90.GetFont 설정된 폰트명 반환
7 스피커 볼륨 설정 TSP90.SetVolume 1~10
8 버튼 볼륨 설정 TSP90.SetButtonVolume 1~10
9 밝기 설정 TSP90.SetBright 1~10
10 폰트 설정 TSP90.SetFont 굴림체 / 엽서체
11 대기화면 설정 TSP90.SetWindow 대기 이미지/비디오 인덱스 지정
12 비밀번호 입력 TSP90.Read 비밀번호(최대 4자리) 입력
13 주민등록번호 입력 TSP90.SSNRead 주민번호(최대 13자리) 입력
14 다이얼로그 입력 TSP90.ReadProcess 화면 다이얼로그 문구 노출 모드
15 비다이얼로그 입력 TSP90.ReadNDProcess 다이얼로그 없는 입력 모드
16 자동 확인 TSP90.PINAutoConfirmed 최소 입력 충족 시 즉시 반환
17 입력 프로세스 강제종료 TSP90.Off 진행 중인 입력 즉시 취소
18 미디어 출력 TSP90.MediaOut 이미지/텍스트/음성 통합 출력
19 핀패드 폼(그리드) 출력 TSP90.PinpadFormOut 테이블 형태 Grid 데이터 출력

서비스 상태 코드 리스트

본 서비스에서 공통으로 사용되는 서비스 상태코드 리스트입니다. 응답 JSON 메시지 중 return 또는 return.returnValue 값에 해당합니다.

리턴코드 내용 상세 설명
0 성공 정상적으로 서비스를 호출했습니다.
-1 정의되지 않은 예외 로그 파일 확인이 필요합니다.
1 Fail(0) 리턴 핀패드 제어 DLL Method 호출 결과 Fail(0)이 리턴되었습니다.
2 PINOn Fail PINOn() 호출 결과 Fail(0)이 리턴되었습니다.
3 PINStart Fail PINStart() 호출 결과 Fail(0)이 리턴되었습니다.
4 PINRead Fail PINRead() 호출 결과 Fail(0)이 리턴되었습니다.
5 PINStartSSN Fail PINStartSSN() 호출 결과 Fail(0)이 리턴되었습니다.
6 이미지 파일 부재 SetDefaultWindow()에서 핀패드에 지정된 인덱스의 이미지 파일이 존재하지 않음(-1)이 리턴되었습니다.
7 하드웨어 에러 SetDefaultWindow()에서 하드웨어 에러(0)가 리턴되었습니다.
8 지원 범위 초과 파라미터 지원 범위를 벗어난 파라미터가 입력되었습니다.
9 유효하지 않은 파라미터 유효하지 않은 파라미터가 입력되었습니다.
10 사용자 취소 ReadProcess() 진행 중 사용자가 취소 버튼을 클릭했습니다.
11 유효하지 않은 데이터 핀패드에서 전달받은 데이터가 유효하지 않은 데이터입니다.
12 데이터 변환 실패 핀패드에서 전달받은 데이터를 변환하지 못했습니다.
13 폰트 데이터 변환 실패 파라미터로 전달받은 폰트 데이터 변환에 실패했습니다.
14 다이얼로그 데이터 변환 실패 파라미터로 전달받은 다이얼로그 메시지 데이터 변환에 실패했습니다.
15 이미지 리스트 변환 실패 파라미터로 전달받은 이미지 리스트 Array의 데이터 변환에 실패했습니다.
16 데이터 추출 실패 핀패드에서 전달받은 비밀번호/주민번호 데이터 추출에 실패했습니다.
17 작업 중복 이미 다른 입력 작업이 수행 중입니다.
18 취소/타임아웃 발생 핀패드 Read 중 사용자에 의한 취소 또는 타임아웃에 의한 취소가 발생했습니다.
19 Off 불가 상태 Off로 종료할 수 없는 입력 프로세스가 진행 중입니다.
101~121 Invoke 에러 핀패드 DLL 내부 메서드 호출 중 예외가 발생했습니다. (101: PINInit, 102: GetPinpadVersion, 103: SetDefaultWindow, 104: GetVolume, 105: SetVolume, 106: GetBright, 107: SetBright, 108: GetFont, 109: SetFont, 110: PINOn, 111: PINStart, 112: PINRead, 113: PINOff, 114: PINStartSSN, 115: PINReadProcess, 116: PINReadProcessND, 117: PINAutoConfirmed, 118: MediaOut, 119: PinpadFormOut, 120: GetButtonVolume, 121: SetButtonVolume)

1. 핀패드 초기화

API명

정의

호출 예시

{
  "service": "TSP90.Init",
  "requestKey": "REQ_PIN_INIT_01",
  "param": {}
}

응답 예시

{
  "service": "TSP90.Init",
  "requestKey": "REQ_PIN_INIT_01",
  "statusCode": "0000",
  "return": 0
}

2. 버전 정보 조회

API명

정의

호출 예시

{
  "service": "TSP90.GetVersion",
  "requestKey": "REQ_PIN_VER_01",
  "param": {}
}

응답 예시

{
  "service": "TSP90.GetVersion",
  "requestKey": "REQ_PIN_VER_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "version": "2.0.3.4"
  }
}

3. 스피커 볼륨 조회

API명

정의

호출 예시

{
  "service": "TSP90.GetVolume",
  "requestKey": "REQ_PIN_VOL_01",
  "param": {}
}

응답 예시

{
  "service": "TSP90.GetVolume",
  "requestKey": "REQ_PIN_VOL_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "volume": "5"
  }
}

4. 버튼 볼륨 조회

API명

정의

호출 예시

{
  "service": "TSP90.GetButtonVolume",
  "requestKey": "REQ_PIN_BVOL_01",
  "param": {}
}

응답 예시

{
  "service": "TSP90.GetButtonVolume",
  "requestKey": "REQ_PIN_BVOL_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "volume": "5"
  }
}

5. 밝기 조회

API명

정의

호출 예시

{
  "service": "TSP90.GetBright",
  "requestKey": "REQ_PIN_BRT_01",
  "param": {}
}

응답 예시

{
  "service": "TSP90.GetBright",
  "requestKey": "REQ_PIN_BRT_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "bright": "8"
  }
}

6. 폰트 조회

API명

정의

호출 예시

{
  "service": "TSP90.GetFont",
  "requestKey": "REQ_PIN_FONT_01",
  "param": {}
}

응답 예시

{
  "service": "TSP90.GetFont",
  "requestKey": "REQ_PIN_FONT_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "font": "굴림체"
  }
}

7. 스피커 볼륨 설정

API명

정의

호출 예시

{
  "service": "TSP90.SetVolume",
  "requestKey": "REQ_PIN_SETVOL_01",
  "param": {
    "volume": "7"
  }
}

응답 예시

{
  "service": "TSP90.SetVolume",
  "requestKey": "REQ_PIN_SETVOL_01",
  "statusCode": "0000",
  "return": 0
}

8. 버튼 볼륨 설정

API명

정의

호출 예시

{
  "service": "TSP90.SetButtonVolume",
  "requestKey": "REQ_PIN_SETBVOL_01",
  "param": {
    "volume": "7"
  }
}

응답 예시

{
  "service": "TSP90.SetButtonVolume",
  "requestKey": "REQ_PIN_SETBVOL_01",
  "statusCode": "0000",
  "return": 0
}

9. 밝기 설정

API명

정의

호출 예시

{
  "service": "TSP90.SetBright",
  "requestKey": "REQ_PIN_SETBRT_01",
  "param": {
    "bright": "8"
  }
}

응답 예시

{
  "service": "TSP90.SetBright",
  "requestKey": "REQ_PIN_SETBRT_01",
  "statusCode": "0000",
  "return": 0
}

10. 폰트 설정

API명

정의

호출 예시

{
  "service": "TSP90.SetFont",
  "requestKey": "REQ_PIN_SETFONT_01",
  "param": {
    "font": "굴림체"
  }
}

응답 예시

{
  "service": "TSP90.SetFont",
  "requestKey": "REQ_PIN_SETFONT_01",
  "statusCode": "0000",
  "return": 0
}

11. 대기화면 설정

API명

정의

호출 예시

{
  "service": "TSP90.SetWindow",
  "requestKey": "REQ_PIN_SETWIN_01",
  "param": {
    "type": "1",
    "size": "0",
    "imageIndex": "[21,22,23]",
    "interval": "3"
  }
}

응답 예시

{
  "service": "TSP90.SetWindow",
  "requestKey": "REQ_PIN_SETWIN_01",
  "statusCode": "0000",
  "return": 0
}

12. 비밀번호 입력

API명

정의

호출 예시

{
  "service": "TSP90.Read",
  "requestKey": "REQ_PIN_READ_01",
  "param": {
    "sound": "1",
    "min": "4",
    "max": "4"
  }
}

응답 예시

{
  "service": "TSP90.Read",
  "requestKey": "REQ_PIN_READ_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "password": "E2F5B6A8C9D01234..."
  }
}

13. 주민등록번호 입력

API명

정의

호출 예시

{
  "service": "TSP90.SSNRead",
  "requestKey": "REQ_PIN_SSN_01",
  "param": {
    "sound": "1",
    "min": "13",
    "max": "13"
  }
}

응답 예시

{
  "service": "TSP90.SSNRead",
  "requestKey": "REQ_PIN_SSN_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "idNumber": "8A9B0C1D2E3F4567..."
  }
}

14. 다이얼로그 동반 입력

API명

정의

호출 예시

{
  "service": "TSP90.ReadProcess",
  "requestKey": "REQ_PIN_PROC_01",
  "param": {
    "sound": "1",
    "min": "4",
    "max": "4",
    "dialogMessage": "핀패드에 비밀번호 4자리를 입력해주세요."
  }
}

응답 예시

{
  "service": "TSP90.ReadProcess",
  "requestKey": "REQ_PIN_PROC_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "data": "A1B2C3D4E5F6..."
  }
}

15. 비다이얼로그 입력

API명

정의

호출 예시

{
  "service": "TSP90.ReadNDProcess",
  "requestKey": "REQ_PIN_ND_01",
  "param": {
    "sound": "1",
    "min": "4",
    "max": "4"
  }
}

응답 예시

{
  "service": "TSP90.ReadNDProcess",
  "requestKey": "REQ_PIN_ND_01",
  "statusCode": "0000",
  "return": {
    "returnValue": 0,
    "data": "9876543210AB..."
  }
}

16. 자동 확인

API명

정의

호출 예시

{
  "service": "TSP90.PINAutoConfirmed",
  "requestKey": "REQ_PIN_AUTOCONF_01",
  "param": {}
}

응답 예시

{
  "service": "TSP90.PINAutoConfirmed",
  "requestKey": "REQ_PIN_AUTOCONF_01",
  "statusCode": "0000",
  "return": 0
}

17. 입력 프로세스 강제종료

API명

정의

호출 예시

{
  "service": "TSP90.Off",
  "requestKey": "REQ_PIN_OFF_01",
  "param": {}
}

응답 예시

{
  "service": "TSP90.Off",
  "requestKey": "REQ_PIN_OFF_01",
  "statusCode": "0000",
  "return": 0
}

18. 미디어 복합 출력

API명

정의

호출 예시

{
  "service": "TSP90.MediaOut",
  "requestKey": "REQ_PIN_MEDIA_01",
  "param": {
    "audio": "0",
    "video": "0",
    "image": "0",
    "text": "1",
    "startLine": "1",
    "textAlign": "3",
    "fontsize": "16",
    "textStr": "한화생명 고객 안내 메시지",
    "time": "5"
  }
}

응답 예시

{
  "service": "TSP90.MediaOut",
  "requestKey": "REQ_PIN_MEDIA_01",
  "statusCode": "0000",
  "return": 0
}

19. 핀패드 폼(그리드) 출력

API명

정의

주의사항

  1. 셀(Cell) 구분자는 |(파이프 기호), 행(Row) 구분자는 \n(줄바꿈)을 사용합니다.
  2. 예시 포맷: 항목1|항목2|항목3\n내용1|내용2|내용3\n
  3. 연속된 파이프 기호(||) 등으로 인해 열 개수가 초과될 경우 마지막 열 데이터가 핀패드 화면에서 누락될 수 있으므로 정확한 규격을 준수하시길 바랍니다.

호출 예시

{
  "service": "TSP90.PinpadFormOut",
  "requestKey": "REQ_PIN_FORM_01",
  "param": {
    "formType": "1",
    "textStr": "계약자|홍길동|납입금액|100,000원\n피보험자|김영희|보험상태|정상유지\n",
    "time": "60"
  }
}

응답 예시

{
  "service": "TSP90.PinpadFormOut",
  "requestKey": "REQ_PIN_FORM_01",
  "statusCode": "0000",
  "return": 0
}
버전 #1