
교내 동아리에서 진행하는 프로젝트 중 한 위치에서 다른 위치로 택시를 타고 갈때 필요한 비용을 계산해주는 기능을 만들어야 하는 사정이 생겼다.
네이버에서 지원하는 공식 경로 계산 API이다. 돌려주는 값들 중 taxiFare 이라는 값이 있다.

현재 서비스 사용자가 400명 가량 존재한다. 즉 한달에 한 사용자가 150건, 하루에 5건의 택시비 계산을 할 수 있다는 얘기이다.
사실 하루에 5건정도면 현 사용자들에게 서비스를 제공하고도 남는 수준이다. 하지만, 서비스의 필수 기능들이 이 가격 계산에 의존하기에 확실한 안정성이 필요하다.
따라서 불안정한 API더라도 무료 버전을 찾아보고, fallback으로 유료 API를 사용하게 만들어보자.
카카오맵에는 택시비를 계산해주는 기능이 있다. 이를 뜯어와보자.
ssl 프록시를 이용해서 API콜을 뜯어본 결과, https://app.map.kakao.com/route/carset/mobility.json 으로 origin 과 destination 의 파라미터로 좌표를 보내주는 걸 알 수 있었다.
import requests
base_url = 'https://app.map.kakao.com/route/carset/mobility.json'
params = {
'origin': '127.37888948493487,36.38793945312501',
'destination': '127.04669593,37.59267542',
}
response = requests.get(base_url, params=params)
print(response.json()["results"][0]["summary"]["fare"]["taxi"])
$ 173500
이를 따라서 간단한 코드를 작성해보면, 헤더나 쿠키 없이도 아주 잘 작동하는걸 볼 수 있다.
이를 1차 API로 사용하고, 실패했을때 유료 API로 전환하면 될 듯 하다.