카카오 메시지 api를 사용하기 위한 토큰 발급 문의

안녕하세요.
카카오 메시지 api를 사용하기 위해 질문이 있습니다.

  1. code값으로 (kauth.kakao.com/oauth/token) url을 호출하여 최초 액세스 토큰과 리프레시 토큰을 받는데 이 때 code값은 1회용인가요?

  2. 액세스 토큰과 리프레시 토큰을 받은 뒤 리프레시 토큰으로 갱신된 액세스 토큰을 받을 수 있던데
    둘다 기한이 있는 것으로 알고 있습니다.
    만약 액세스 토큰과 리프레시 토큰이 모두 만료가 된다면 다시 코드를 발급 받기 위한
    (kauth.kakao.com/oauth/authorize?client_id={REST API 키}&redirect_uri={리다이렉트 URL}&response_type=code&scope=talk_message,friends) 로 로그인 하여 코드값을 받은 후 다시 (kauth.kakao.com/oauth/token) url을 호출하여 액세스 토큰과 리프레시 토큰을 받아야 하나요?

안녕하세요.

인가코드 (code)는 1회용 입니다.
성공 실패 여부와 상관없이 단 한번만 사용가능합니다.

접근토큰 만료 및 갱신
리프래시 토큰은 2달간 유효하며 REST API키를 사용하여 발급받은 접근토큰은 6시간 동안만 유효 합니다.

접근토큰 발급 시, 만료시간(expires_in)이 함께 전달되므로 시간을 계산하여 재 발급 받으시거나, 40일 간격으로 자동 갱신 하도록 구성하시면 좋을것 같습니다.

리프래시 토큰은 1달이 지나면 접근토큰 갱신 시, refresh_token 필드로 갱신된 토큰이 전달 됩니다.

40일 간격으로 재발급을 하도록 구성하라고 하셨는데 이 재발급이라는 것이 결국 인가code를 얻는 url로 접속하여 동의 후 code값을 얻은 뒤 액세스 토큰과 리프레시 토큰을 새로 받으라는 말씀이신지요??

아닙니다,
kauth.kakao.com/oauth/token토큰 갱신 용도로 호출하여야 합니다.

이 과정에는 code가 필요 없고 refresh_token 만 필요 합니다.

기존 리프레시 토큰으로 주기적으로 갱신하여 갱신 토큰을 받다가
갱신할 때 받는 응답 값에 optional인 새로운 리프레시 토큰이 있으면
새로운 리프레시 토큰으로 다시 갱신 토큰을 받으면 되는걸까요?

넵, 맞습니다.
갱신 시점에 refresh_token 필드가 전달되면 이후 갱신 부터는 전달된 값을 사용하시면 됩니다.

친절한 답변 감사드립니다!