문자메시지 발송

이 문서는 문자전송 소스와 방법에 대해 다룹니다.

첫 번째로는 Config 설정 방법 및 확인에 대해 설명합니다.

두 번째로 각 업무단 작성 방법을 설명합니다.

circle-info

<update>

2023.08.03

  • MMS 이미지 업로드 관련 내용이 추가되었습니다.

  • 문자 전송시 Api Common을 호출을 지향합니다.


Config 설정

application.yml

application.yml
spring:
  bizMessage:
    accessKey: VHIZ4hLLrhf6uyRIrk4F
    secretKey: pHvcggk52DXYOYYUDvXyLi5RkcmwneeMoOx8xoTd
    sms:
      smsNum: T010-9341-7470 # 발신자 번호 T***-****-****
      serviceId: ncp:sms:kr:309485696868:x2bee
  • accessKey, secretKey, serviceId 속성들은 NCP(Naver Cloud Platform) 에서 발급받아 작성합니다.

  • smsNum 속성은 NCP(Naver Cloud Platform) 에 등록하여 허가받은 발신자 번호를 작성합니다.

Sample 소스 및 설명

BizMessageController

BizMessageRequest 를 생성하여 예제와 아래 표를 참조하여 파라미터를 입력합니다.

  • LMS, MMS 전송 시에는 아래 표의 비고란을 참조하여 작성합니다.

항목
Mandatory
Type
설명
비고

BizMessageRequest.type

NOT NULL

String

SMS Type

SMS, LMS, MMS (소문자 가능)

BizMessageRequest.subject

Optional

String

기본 메시지 제목

LMS, MMS에서만 사용 가능

  • LMS, MMS: 최대 40byte

BizMessageRequest.content

Optional

String

기본 메시지 내용

  • SMS: 최대 80byte

  • LMS, MMS: 최대 2000byte

BizMessageRequest.messages

NOT NULL

List

메시지 정보

MessagesRequest.receiverPhoneNumber

NOT NULL

String

수신번호

붙임표 ( - )를 제외한 숫자만 입력 가능

MessagesRequest.subject

Optional

String

개별 메시지 제목 상위 subject를 무시하고 우선적용됩니다.

LMS, MMS에서만 사용 가능

  • LMS, MMS: 최대 40byte

  • 상위 subject를 무시합니다.

MessagesRequest.content

NOT NULL

String

개별 메시지 내용 상위 content를 무시하고 우선적용됩니다.

  • SMS: 최대 80byte

  • LMS, MMS: 최대 2000byte

  • 상위 content를 무시합니다.

BizMessageRequest.images

Optional

List

파일 바이너리를 Base64로 인코딩한 값

  • .jpg, .jpeg 이미지를 Base64로 인코딩한 값

  • 파일 하나당 최대 300Kbyte

  • 해상도 최대 1500 * 1440

  • MMS 전송 용량 2000byte 이하까지 최대 3개 이미지 전송 가능

circle-info

Builder가 익숙치 않다면 Setter 도 사용 가능합니다.

예시 (Setter 사용)

circle-info

다른 프로젝트에서 SMS 전송 시 (권장 방식)

(1) x2bee-api-common-vanilla 가 아닌 다른 프로젝트에서 SMS를 전송하는 경우 api-common API를 호출합니다.

예제 소스와 같이 BizMessageRequest 객체에 필요 파라미터들을 담아 POST 방식으로 /api/common/interface/bizmessage/sendsms End Point를 호출합니다.

  • messagestype 변수는 필수 파라미터입니다.

  • commonApiUrl 은 application.yml 에 명시된 URL 입니다.

마지막 업데이트