kakao mobility api 102/103 code 트러블 슈팅 과정

Noah-wilson·2025년 12월 16일

백엔드

목록 보기
3/3

Ai 여행 일정 생성 기능 구현중에 생긴 일이다.

위 사진과 같이 출발지/목적지의 도로 정보를 탐색할 수 없을때 kakao mobility api의 자동차 길찾기에서 102/103 result code를응답한다.

이전에 비슷한 문제로 105,106 result code 응답시 요청 파라미터에 roadEvent를 추가 설정해주며 해결할 수 있었지만,

102/103 code의 경우 출발지/목적지의 좌표가 카카오 내부 좌표 데이터와 다르게 너무 큰 차이가 난다거나, 주변에 도로가 전혀 없는 것이 문제라고 판단했다.

우선 다른 장소들도 많지만 이슈가 생긴 "성산일출봉"을 기준으로 이슈를 해결하겠다.

현재 사용 중인 여행 장소 데이터셋은 한국관광공사 Tour API를 기반으로 하고 있다.

한국관광공사 Tour API의 성산 일출봉 좌표 값으로 구글맵에 적용해보면 주변 도로와 떨어진 곳에 좌표값이 설정되어 있다.

이를 해결하기 위해 2가지 해결방법을 떠올렸다.

  1. 다중 출발지 길찾기/다중 목적지 길찾기의 요청 파라미터의 radius를 설정해주어 출발지/목적지의 길찾기 반경을 조절하여 해결한다.

  2. 출발지/목적지의 주소 값을 이용하여 지오 코딩을 통해 도로와 출발지/목적지와 비슷한 근처 주차장및 적절한 좌표를 활용하여 해결한다. 지오코딩을 사용할 플랫폼은 카카오를 먼저 사용해본다.
    같은 플랫폼이므로 똑같은 주소라도 좌표값이 카카오 서비스에 문제가 없는 좌표를 사용중 일 것 같다.

결론적으로 1안은 실패했다.
다중 출발지/목적지 길찾기의 radius는 10KM를 지원하지만, 한국관광공사 Tour API의 성산 일출봉 좌표 값이 도로와 상당히 떨어져 있어서 그런지 최대치로 요청해도 결과가 나오지 않았기 때문이다.

2안을 테스트할 차례이다.
우선 카카오맵 REST API를 사용하기 위해선행과정을 해야 한다.

카카오 맵 - 로컬 - REST API-주소로 좌표 변환으로 얻은 좌표를 구글맵에 적용해보면 주변에 도로가 가까이 있다.

이 좌표를 가지고 다시 다중 출발지/목적지 길찾기에 요청을 하면 당연히 200 OK와 정상적인 응답이 나온다.

또한 다중 출발지/목적지 길찾기를 쓰지않고 기존에 사용하던 자동차 길찾기 API에 요청해도 정상적으로 응답하게 된다.

카카오 플랫폼의 주소 - 좌표 변환 데이터 를 쓰게 되면 카카오의 자동차 길찾기 API가 문제 없이 작동한다.

나중에 운영환경을 위해서 비용을 고려하여 다른 주소 - 좌표 변환 API들과 비교 및 길찾기 요청을 추가적으로 해보았다.

구글의 경우 무료 사용 10,000건이후 유료이다.

카카오의 경우 일간 100,000건 무료 이므로 카카오를 계속 사용하는 것이 좋아 보인다.

정리

다중 길찾기 API는 무료 요청 제공량이 상대적으로 적기 때문에, 자동차 길찾기 실패 시 곧바로 다중 길찾기를 호출하기보다는 먼저 지오코딩을 수행한 후 자동차 길찾기를 재시도하는 방식을 사용한다.

0개의 댓글