Back

/ 4 min read

제휴사 RESTful API 개발·운영

개요

GS네트웍스 생활플랫폼팀에서 토스·네이버·카카오·당근마켓 등 주요 제휴사와의 택배 서비스 API 연동을 담당했습니다. 신규 제휴사 온보딩부터 기존 50곳 이상의 제휴사 운영, 배치 구조 통합까지 폭넓게 경험했습니다.

  • 회사: GS네트웍스 / 생활플랫폼팀
  • 기간: 2021.10 – 2022.10
  • 역할: 제휴사 API 개발·운영, 배치 통합
  • 스택: Java, Spring Boot, JWT, Redis, Docker Swarm, Oracle, EDB

배경

다양한 제휴사가 GS네트웍스 택배 서비스를 이용할 수 있도록, 각 제휴사의 요구 사항에 맞는 API를 제공하고 운영하는 역할이었습니다. 제휴사마다 인증 방식, 요청 포맷, 상태 전송 주기 등이 달라 개별 커뮤니케이션과 운영이 필요했습니다.


주요 기여

1. 신규 제휴사 25곳 오픈

토스, 네이버, 카카오, 당근마켓 등 주요 플랫폼을 포함해 신규 제휴사 25곳의 택배 서비스 연동을 담당했습니다.

  • 각 제휴사별 API 스펙 협의·개발·테스트·오픈의 전 과정을 주도
  • 인증(JWT, API Key 등), 요청 포맷, 에러 처리 방식을 제휴사 요건에 맞게 구현
  • 오픈 이후 안정적으로 운영 중인 제휴사 수: 50곳 이상

2. 상태 전송 배치 통합

제휴사별로 개별 관리되던 상태 전송 배치(약 20개)를 Spring Batch Flow로 통합했습니다.

통합 전:

  • 배치 20개가 각각 독립적으로 실행
  • 장애 발생 시 어느 배치인지 확인하기 어렵고, 중복 코드가 많음

통합 후:

  • Spring Batch의 JobFlowStep 구조로 통합
  • 공통 에러 처리·재시도 로직을 하나의 위치에서 관리
  • 운영 포인트(모니터링 대상, 배포 단위)가 크게 줄어듦

3. JWT 기반 인증 운영

다수의 제휴사를 대상으로 JWT 인증을 운영하면서, 토큰 만료·갱신·무효화 처리의 안정적인 운영 경험을 쌓았습니다. Redis를 활용해 토큰 블랙리스트를 관리하고, 비정상 접근 차단을 구현했습니다.


결과

  • 신규 제휴사 25곳 오픈, 총 50곳 이상 안정적 운영
  • 배치 20개 → Spring Batch Flow 통합으로 운영 복잡도 감소
  • 주요 제휴사(토스·네이버·카카오·당근)와의 협업 경험 축적

회고

제휴사마다 요구 사항이 달라서, 유연하게 대응하면서도 내부 코드는 일관성을 유지하는 것이 어려운 과제였습니다. 배치를 통합하는 결정을 한 것은, 단기적으로는 공수가 들었지만 이후 운영 부담을 크게 줄여줬습니다. “지금 당장 동작하는 것”보다 “나중에 운영하기 쉬운 구조”를 선택하는 습관이 이때 생겼습니다.