# 하나생명 PIST에서 그룹 슈퍼앱 Open API까지

- URL: https://soohan.dev/projects/hana/pist-life-check-open-api
- Category: projects/hana
- Published: 2020-09-09
- Tags: insurance, open-api, spring, mobile
- Author: Soohan Park

> 하나생명 모바일 채널의 PIST 리뉴얼과 라이프체크를 거쳐, 하나은행 앱에 보험 정보와 추천 기능을 연결한 Open API 구현에 참여한 기록.

---

2020년 하나금융티아이 모바일사업팀에 신입으로 입사해 하나생명 PIST 프로젝트에 참여했습니다.
하나생명 모바일 웹과 앱을 리뉴얼하고 보험 진단·추천 서비스와 라이프체크를 선보인 뒤,
하나은행 앱에서도 하나생명의 기능과 정보를 이용할 수 있도록 Open API를 연결하는 과정이었습니다.

처음에는 프론트엔드 개발과 기획·프로젝트 업무를 지원했고, 이후에는 기존 설계에 따라
Java와 Spring으로 API와 DB 조회 로직을 구현하고 계열사 간 연계 테스트를 맡았습니다.
신입 구성원으로서 팀이 나눈 역할 가운데 화면과 문서, 데이터와 API를 잇는 부분을 담당했습니다.

## 신입으로 참여한 PIST 리뉴얼

PIST는 하나생명 모바일 웹과 앱을 개편하는 프로젝트였습니다.
프로젝트는 2020년 3월 말 1차, 7월 초 2차 오픈을 거쳤고,
그 과정에서 보험 진단·추천 서비스와 라이프체크의 프론트엔드 개발을 지원했습니다.
PIST 앱의 IA와 화면설계서를 작성하고, 일정과 산출물을 정리하는 사업·프로젝트 지원도 함께 맡았습니다.

화면을 구현하기 전에 사용자가 어디서 보험 정보를 확인하고,
진단 결과를 거쳐 어떤 기능으로 이동하는지 먼저 정리해야 했습니다.
IA와 화면설계서를 작성하는 일은 단순히 페이지 목록을 만드는 작업이 아니라,
서비스의 기능과 사용자 흐름을 개발 가능한 단위로 맞추는 과정이었습니다.

기획과 디자인, 보험 업무, 서버 개발을 담당한 구성원들과 산출물을 맞추며,
정해진 흐름이 실제 화면에서 이어지도록 지원하는 역할에 가까웠습니다.

## 보험 진단에서 라이프체크로

하나생명은 2020년 6월 모바일 앱에 보험 진단 서비스를 공개했습니다.
핀크와 하나생명의 API 연동을 바탕으로 여러 보험사의 가입 내역을 모아 월 납입액,
계약·특약 조건과 보장 내용을 보여주고, 가성비와 보장·납입 기간, 갱신 여부 등을 평가해
유지·조정·검토가 필요한 보험을 안내하는 서비스였습니다.
진단 결과에 따라 부족한 보장을 찾고 상품을 추천하는 흐름도 포함됐습니다.
구체적인 진단 항목과 연동 방식은 당시
[핀크의 보험 진단 서비스 소개](https://www.fntimes.com/html/view.php?ud=2020090810595326248a55064dd1_18)에
남아 있습니다.

같은 해 9월에는 이 흐름을 건강과 연금, 대출까지 넓힌 원큐라이프 체크가 공개됐습니다.
국민건강보험공단의 건강검진 결과로 건강나이와 건강정보 추이를 확인하고,
개인·국민·퇴직연금의 납입 현황과 예상 연금액을 조회할 수 있었습니다.
보험계약대출의 이용 현황과 추가 가능 금액, 이자도 비교해 볼 수 있었습니다.
[출시 당시 설명](https://www.fntimes.com/html/view.php?ud=202009091031059491b967494985_18)을 보면
보험 진단 이후 필요한 보장을 추천하는 경험을 금융과 건강 전반으로 확장하려는 서비스였음을
확인할 수 있습니다.

이 기능들은 하나생명과 여러 협력사가 함께 만든 서비스의 범위입니다.
나는 보험 진단·추천과 라이프체크 화면의 프론트엔드 개발을 지원했으며,
건강나이 계산이나 보험 진단 모델 자체를 개발한 것은 아닙니다.

## 하나생명 앱에서 그룹의 앱으로

PIST와 라이프체크 다음 단계는 하나생명 앱 안에 있던 기능과 정보를
하나은행 앱에서도 이용할 수 있도록 연결하는 일이었습니다.
은행 앱 하나에서 은행뿐 아니라 보험과 증권 등 다른 계열사의 정보를 확인하는,
그룹 슈퍼앱을 만들기 위한 Open API 작업이었습니다.

하나금융그룹은 같은 해 하나은행, 하나금융투자, 하나카드, 하나캐피탈,
하나생명, 하나저축은행이 함께 참여하는 Open API 플랫폼을 발표했습니다.
하나금융티아이가 개발한 공통 플랫폼을 바탕으로 관계사 간 협업과 외부 플랫폼 제휴,
데이터 유통을 넓히려는 구상이었습니다.
[당시 발표](https://www.khan.co.kr/article/202002271939055)는 이를
각 관계사의 서비스를 그룹이 지향하는 하나의 디지털 채널로 연결하는 기반으로 설명합니다.

내가 참여한 하나생명 Open API는 불특정 외부 개발자에게 공개하는 API보다는,
하나은행 앱에 하나생명의 보험 정보와 추천 기능을 제공하기 위한 계열사 간 연계에 가까웠습니다.
2020년 말에는 하나생명이 개인화 서비스를 다른 플랫폼에서도 이용할 수 있도록
Open API 형태로 구현하겠다는 방향과 하나은행 앱을 통한 모바일 방카슈랑스 확대 계획도
[공개적으로 소개됐습니다](https://www.fntimes.com/html/view.php?ud=202011202140108054dd55077bc2_18).

## 설계를 코드와 데이터 연결로 옮기는 역할

Open API의 구조와 명세는 먼저 설계돼 있었습니다.
나는 그 설계에 따라 Java와 Spring으로 API 로직을 구현하고,
하나생명 시스템의 DB에서 필요한 정보를 조회하는 부분을 맡았습니다.
구현한 결과가 정해진 형식으로 전달되고 하나은행 앱에서 의도한 흐름으로 동작하는지는
계열사 담당자들과 연계 테스트를 진행하며 확인했습니다.

당시 API가 하나생명의 보험 정보와 상품 추천 기능을 다뤘다는 맥락은 기억하지만,
개별 엔드포인트나 요청·응답 필드, 인증 방식까지 확인할 수 있는 명세는 남아 있지 않습니다.
그래서 이 글에서는 기억에 기대어 세부 구조를 복원하지 않았습니다.
분명하게 말할 수 있는 범위는 기존 API 설계를 Java와 Spring 코드 및 DB 조회로 옮기고,
호출하는 앱과의 연계가 맞는지 테스트했다는 데까지입니다.

## 화면에서 시작해 연결의 경계를 배우다

PIST에서 처음 맡은 일은 화면과 IA, 화면설계서에 가까웠습니다.
하지만 프로젝트가 라이프체크와 그룹 Open API로 이어지면서,
한 화면에 보이는 정보가 어디에서 오고 다른 앱에는 어떤 경계로 전달되는지까지 경험할 수 있었습니다.

신입이었던 내가 프로젝트의 방향이나 전체 아키텍처를 정한 것은 아닙니다.
대신 이미 나뉘어 있던 역할 사이에서 화면과 데이터, API를 하나씩 연결하고,
다른 팀과 계열사가 함께 움직이는 과정을 가까이에서 배웠습니다.
이 프로젝트는 모든 것을 직접 만든 경험이라기보다,
작은 담당 범위가 실제 금융 서비스의 사용자 흐름으로 이어지기 위해
얼마나 많은 역할과 합의가 필요한지 처음 알게 된 경험으로 남아 있습니다.
