[API] 2020.09.07_카페24 SMS API 연동

카페24 SMS API 사용법

[요약]

  • 이클립스 IDE, Maven Project
  • 카페24 유료 SMS API 활용
  • 개인사업자 번호 불필요, 개인회원 가입 후 바로 사용가능
  • 300건 6,600원(부가세 포함) 결제 후 샘플 코드 및 개발 가이드 확인 가능

1. 가입 및 인증키 발급

2. BIZ 솔루션 > SMS 페이지 접속

api

3. SMS호스팅 절약형 신청

api

4. 결제 후 ‘나의 서비스관리’ 이동 > 발신번호 관리 클릭 > 발신번호 등록

api

5. 발신번호 등록 후 > 소스예제 클릭

api

6. 새창에서 JSP 소스예제 클릭

api

7. 복사할 소스예제 확인(총 3개)

  • [문자전송 - 발송폼 소스예제]
  • [문자전송 - 발송요청 처리 소스예제1 ]
  • [문자전송 - 반송요청 처리(발신번호 목록 조회) 소스예제2]

api

8. JSP 파일 생성 - smsTest.jsp

  • 1) 메이븐 프로젝트에서 파일 위치는 webapp 바로 아래, smsTest.jsp 파일 생성

    api

  • 2) 소스예제 중 첫번째 코드 복사

    api

  • 3) smsTest.jsp 최상단에 UTF-8 인코딩 코드 작성

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    

    api

  • 4) name=”sphone1” ~ name=”sphone3” 라는 input태그 찾아서 4번 에서 등록했던 발신번호 입력

    api

  • 5) 서버 돌리고 smsTest.jsp 실행하면 아래와 같은 화면 출력

    api

9. JSP 파일 생성 - smssend.jsp

  • 1) 메이븐 프로젝트에서 파일 위치는 webapp 바로 아래, smssend.jsp 파일 생성
    api

  • 2) 소스예제 중 두번째 코드 복사
    api

  • 3) smssend.jsp에 붙여넣으면 아래처럼 에러 발생
    • 찾아보니 jdk에서 더이상 sun.misc 패키지를 지원하지 않아서 생기는 문제

    api

  • 4) smssend.jsp 코드 수정
    • base64Encode, base64Decode 메소드 내 코드 변경
    • UTF-8로 인코딩 설정

    api

  • 소스코드 일부(smssend.jsp)

    <!-- Bse64 라이브러리 호출 -->
    <%@page import="java.util.Base64.Decoder"%>
    <%@page import="java.util.Base64.Encoder"%>
    <%@ page language="java"
      import="java.util.*, java.security.*, java.io.*, java.net.*, java.util.Base64 "%>
    <%!
    public static String nullcheck(String str,  String Defaultvalue ) throws Exception {
      String ReturnDefault = "" ;
      if (str == null) {
        ReturnDefault =  Defaultvalue ;
      }
      else if (str == "" ) {
        ReturnDefault =  Defaultvalue ;
      }
      else {
        ReturnDefault = str ;
      }
        return ReturnDefault ;
    }
    
    /**
    * BASE64 Encoder
    * @param str
    * @return
    */
    public static String base64Encode(String str)  throws java.io.IOException {
      Encoder encoder = Base64.getEncoder();
        byte[] strByte = str.getBytes("UTF-8");
        String result = encoder.encodeToString(strByte);
        return result ;
    }
    
    /**
      * BASE64 Decoder
      * @param str
      * @return
      */
    public static String base64Decode(String str)  throws java.io.IOException {
      Decoder decoder = Base64.getDecoder();
        byte[] strByte = decoder.decode(str);
        String result = new String(strByte);
        return result ;
    }
    %>
    <%
    /**==============================================================
      Description        : 캐릭터셋 정의
      EUC-KR: @ page contentType="text/html;charset=EUC-KR
      UTF-8: @ page contentType="text/html;charset=UTF-8
    ==============================================================**/
    %>
    <%@ page contentType="text/html;charset=UTF-8"%>  <!--  UTF-8로 변경 -->
    <%
    /**==============================================================
      Description        :  사용자 샘플코드
    ==============================================================**/
    String charsetType = "UTF-8"; // UTF-8로 변경
    
    request.setCharacterEncoding(charsetType);
    response.setCharacterEncoding(charsetType);
    String action = nullcheck(request.getParameter("action"), "");
    
    /**=======================하단 코드 생략======================**/
    
    %>
    

10. JSP 파일 생성 - calljson.jsp

  • 1) 메이븐 프로젝트에서 파일 위치는 webapp 바로 아래, calljson.jsp 파일 생성

    api

  • 2) 소스예제 중 세번째 코드 복사

    api

  • 3) 변경할 부분 없이 붙여넣기한 코드 저장

11. 테스트

  • 1) smsTest.jsp 실행
    • (a) 내용, (b)받는 번호(보내는 번호와 동일해도 무관), (c)보내는 번호 설정
    • (d) test flag에 Y입력시 문자개수 차감없이 테스트 가능(테스트 완료후 공백으로 두면 실제 전송)

    api

  • 2) 전송 버튼 클릭 > alert창 전송성공 메세지 확인

  • 3) 결과

    api

태그: , ,

카테고리:

업데이트:

댓글남기기