카카오 알림톡 API 개발기

딥루트리·2025년 1월 18일
0

[개발]

목록 보기
1/3
post-thumbnail

출처 - 회사 프로젝트에 필요해서 함


프로세스

  • 카카오 알림톡을 보내야한대서 무작정 카카오 알림톡 공식홈페이지랑 블로그 찾다가
    딜러사가 필요하단걸 알게됨
  • 딜러사 정한뒤 딜러사 측에서 제공해준 '단말연동API' 보고 request, response 작성
  • 딜러사측의 [발송API] 호출
  • 그 이후 자세한 과정은 생략



⚠️ 아래 모든 코드는 빈껍데기 코드임을 알림

코드

  • 본인 프로젝트 ---> 딜러사 [발송API] 호출
  • 발송 API : POST /send/notice
[Service]
public class SendService() {
	// 이하 생략
    public void sendKakaoNotice() {
    	// 발송용 requestBody 생성
        SendKakaoNotice requestBody = SendKakaoNotice.of("K(대충카카오알림톡을 보낸다는 타입코드)", "결제가 성공하였습니다. <br/> 결제정보: 신용카드 xxxx-xxxx-xxxx-xxxx");
    	
        // 발송용 header 생성
        HttpHeaders headers = createHeaders(); 
        
        // 딜러사 발송 API 호출 
        List<KakaoNoticeResponse> response = restClient.post()
        	.uri("http://도메인/send/notice") // 딜러사에서 제공해줌
            .headers(httpHeaders -> httpHeaders.addAll(headers)) // 딜러사에서 요청 헤더 정보 알려줌
            .contentType(MediaType.APPLICATION_JSON) // 이것도 정해줌
            .body(requestBody) // 카카오 알림톡으로 보내고싶은 정보 body에 담음 
            .retrieve()
            .body(new ParameterizedTypeReference<>(){}); // 제너릭 타입으로 응답 가능
         
         // 이후 응답 & 에러 처리
    }
}
  • 그럼 아래처럼 카카오 알림톡이 전송되는걸 볼수있음

  • restClient 쓴 이유

    • Spring 이랑 잘 호환되고 & 동기방식으로 동작해야하기 때문에 사용함
    • 또 간편한예외처리 지원하기 때문 ex) .onStatus()



결론

  • 다른회사의 단말연동API를 보는건 처음이라 신선했다
  • response 에 대한 무슨 경우의 수가 이렇게 많은지 이후 처리로직에서 할게많았다
  • PR에서 수없이 튕겼지만 그래도 재밌었음
profile
까먹음 방지용

0개의 댓글