Skip to content
This repository was archived by the owner on Sep 1, 2025. It is now read-only.

Commit 43237e5

Browse files
Java SDK 4.2.4에서 4.2.7로 최신화
1 parent b49c86f commit 43237e5

8 files changed

Lines changed: 180 additions & 44 deletions

File tree

gradle-spring-demo/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'org.springframework.boot' version '2.6.7'
2+
id 'org.springframework.boot' version '2.7.5'
33
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
44
id 'java'
55
}
@@ -15,7 +15,7 @@ repositories {
1515
dependencies {
1616
implementation 'org.springframework.boot:spring-boot-starter-web'
1717
testImplementation 'org.springframework.boot:spring-boot-starter-test'
18-
implementation 'net.nurigo:sdk:4.2.3'
18+
implementation 'net.nurigo:sdk:4.2.7'
1919
}
2020

2121
tasks.named('test') {

gradle-spring-demo/src/main/java/net/nurigo/gradlespringdemo/ExampleController.java

Lines changed: 60 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66
import net.nurigo.sdk.message.model.Message;
77
import net.nurigo.sdk.message.model.StorageType;
88
import net.nurigo.sdk.message.request.MessageListRequest;
9-
import net.nurigo.sdk.message.request.MultipleMessageSendingRequest;
109
import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
1110
import net.nurigo.sdk.message.response.MessageListResponse;
1211
import net.nurigo.sdk.message.response.MultipleDetailMessageSentResponse;
13-
import net.nurigo.sdk.message.response.MultipleMessageSentResponse;
1412
import net.nurigo.sdk.message.response.SingleMessageSentResponse;
1513
import net.nurigo.sdk.message.service.DefaultMessageService;
1614
import org.springframework.core.io.ClassPathResource;
@@ -33,17 +31,63 @@ public class ExampleController {
3331
final DefaultMessageService messageService;
3432

3533
public ExampleController() {
36-
this.messageService = NurigoApp.INSTANCE.initialize("INSERT API KEY", "INSERT API SECRET KEY", "https://api.coolsms.co.kr");
34+
// 반드시 계정 내 등록된 유효한 API 키, API Secret Key를 입력해주셔야 합니다!
35+
this.messageService = NurigoApp.INSTANCE.initialize("INSERT_API_KEY", "INSERT_API_SECRET_KEY", "https://api.coolsms.co.kr");
3736
}
3837

3938
/**
4039
* 메시지 조회 예제
4140
*/
4241
@GetMapping("/get-message-list")
43-
public void getMessageList() {
44-
MessageListResponse response = this.messageService.getMessageList(new MessageListRequest());
45-
42+
public MessageListResponse getMessageList() {
43+
// 검색 조건이 있는 경우에 MessagListRequest를 초기화 하여 getMessageList 함수에 파라미터로 넣어서 검색할 수 있습니다!.
44+
// 수신번호와 발신번호는 반드시 -,* 등의 특수문자를 제거한 01012345678 형식으로 입력해주셔야 합니다!
45+
MessageListRequest request = new MessageListRequest();
46+
47+
// 검색할 건 수, 값 미지정 시 20건 조회, 최대 500건 까지 설정 가능
48+
// request.setLimit(1);
49+
50+
// 조회 후 다음 페이지로 넘어가려면 조회 당시 마지막의 messageId를 입력해주셔야 합니다!
51+
// request.setStartKey("메시지 ID");
52+
53+
// request.setTo("검색할 수신번호");
54+
// request.setFrom("검색할 발신번호");
55+
56+
// 메시지 상태 검색, PENDING은 대기 건, SENDING은 발송 중,COMPLETE는 발송완료, FAILED는 발송에 실패한 모든 건입니다.
57+
/*
58+
request.setStatus(MessageStatusType.PENDING);
59+
request.setStatus(MessageStatusType.SENDING);
60+
request.setStatus(MessageStatusType.COMPLETE);
61+
request.setStatus(MessageStatusType.FAILED);
62+
*/
63+
64+
// request.setMessageId("검색할 메시지 ID");
65+
66+
// 검색할 메시지 목록
67+
/*
68+
ArrayList<String> messageIds = new ArrayList<>();
69+
messageIds.add("검색할 메시지 ID");
70+
request.setMessageIds(messageIds);
71+
*/
72+
73+
// 조회 할 메시지 유형 검색, 유형에 대한 값은 아래 내용을 참고해주세요!
74+
// SMS: 단문
75+
// LMS: 장문
76+
// MMS: 사진문자
77+
// ATA: 알림톡
78+
// CTA: 친구톡
79+
// CTI: 이미지 친구톡
80+
// NSA: 네이버 스마트알림
81+
// RCS_SMS: RCS 단문
82+
// RCS_LMS: RCS 장문
83+
// RCS_MMS: RCS 사진문자
84+
// RCS_TPL: RCS 템플릿문자
85+
// request.setType("조회 할 메시지 유형");
86+
87+
MessageListResponse response = this.messageService.getMessageList(request);
4688
System.out.println(response);
89+
90+
return response;
4791
}
4892

4993
/**
@@ -102,12 +146,19 @@ public MultipleDetailMessageSentResponse sendMany() {
102146
message.setTo("수신번호 입력");
103147
message.setText("한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 추가됩니다." + i);
104148

105-
messageList.add(message);
149+
// 메시지 건건 마다 사용자가 원하는 커스텀 값(특정 주문/결제 건의 ID를 넣는등)을 map 형태로 기입하여 전송 후 확인해볼 수 있습니다!
150+
/*HashMap<String, String> map = new HashMap<>();
151+
152+
map.put("키 입력", "값 입력");
153+
message.setCustomFields(map);
154+
155+
messageList.add(message);*/
106156
}
107157

108158
try {
109159
// send 메소드로 단일 Message 객체를 넣어도 동작합니다!
110-
MultipleDetailMessageSentResponse response = this.messageService.send(messageList);
160+
// 세 번째 파라미터인 showMessageList 값을 true로 설정할 경우 MultipleDetailMessageSentResponse에서 MessageList를 리턴하게 됩니다!
161+
MultipleDetailMessageSentResponse response = this.messageService.send(messageList, false, true);
111162

112163
// 중복 수신번호를 허용하고 싶으실 경우 위 코드 대신 아래코드로 대체해 사용해보세요!
113164
//MultipleDetailMessageSentResponse response = this.messageService.send(messageList, true);
@@ -141,7 +192,7 @@ public MultipleDetailMessageSentResponse sendScheduledMessages() {
141192

142193
try {
143194
// 과거 시간으로 예약 발송을 진행할 경우 즉시 발송처리 됩니다.
144-
LocalDateTime localDateTime = LocalDateTime.parse("2022-05-27 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
195+
LocalDateTime localDateTime = LocalDateTime.parse("2022-11-26 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
145196
ZoneOffset zoneOffset = ZoneId.systemDefault().getRules().getOffset(localDateTime);
146197
Instant instant = localDateTime.toInstant(zoneOffset);
147198

gradle-spring-demo/src/main/java/net/nurigo/gradlespringdemo/KakaoExampleController.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
import net.nurigo.sdk.NurigoApp;
44
import net.nurigo.sdk.message.exception.NurigoMessageNotReceivedException;
55
import net.nurigo.sdk.message.model.*;
6-
import net.nurigo.sdk.message.request.MultipleMessageSendingRequest;
76
import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
87
import net.nurigo.sdk.message.response.MultipleDetailMessageSentResponse;
9-
import net.nurigo.sdk.message.response.MultipleMessageSentResponse;
108
import net.nurigo.sdk.message.response.SingleMessageSentResponse;
119
import net.nurigo.sdk.message.service.DefaultMessageService;
1210
import org.springframework.core.io.ClassPathResource;
@@ -37,7 +35,8 @@ public class KakaoExampleController {
3735
* 발급받은 API KEY와 API Secret Key를 사용해주세요.
3836
*/
3937
public KakaoExampleController() {
40-
this.messageService = NurigoApp.INSTANCE.initialize("INSERT API KEY", "INSERT API SECRET KEY", "https://api.coolsms.co.kr");
38+
// 반드시 계정 내 등록된 유효한 API 키, API Secret Key를 입력해주셔야 합니다!
39+
this.messageService = NurigoApp.INSTANCE.initialize("INSERT_API_KEY", "INSERT_API_SECRET_KEY", "https://api.coolsms.co.kr");
4140
}
4241

4342
/**

kotlin-spring-demo/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
22

33
plugins {
4-
id("org.springframework.boot") version "2.6.7"
4+
id("org.springframework.boot") version "2.7.5"
55
id("io.spring.dependency-management") version "1.0.11.RELEASE"
66
kotlin("jvm") version "1.6.21"
77
kotlin("plugin.spring") version "1.6.21"
@@ -22,7 +22,7 @@ dependencies {
2222
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
2323
testImplementation("org.springframework.boot:spring-boot-starter-test")
2424

25-
implementation("net.nurigo:sdk:4.2.4")
25+
implementation("net.nurigo:sdk:4.2.7")
2626
}
2727

2828
tasks.withType<KotlinCompile> {

kotlin-spring-demo/src/main/kotlin/net/nurigo/kotlinspringdemo/ExampleController.kt

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,63 @@ import java.time.format.DateTimeFormatter
2525

2626
@RestController
2727
class ExampleController {
28-
/**
29-
* 발급받은 API KEY와 API Secret Key를 사용해주세요.
30-
*/
28+
// 반드시 계정 내 등록된 유효한 API 키, API Secret Key를 입력해주셔야 합니다!
3129
val messageService: DefaultMessageService =
32-
initialize("INSERT API KEY", "INSERT API SECRET KEY", "https://api.coolsms.co.kr")
30+
initialize("INSERT_API_KEY", "INSERT_API_SECRET_KEY", "https://api.coolsms.co.kr")
3331

3432
/**
3533
* 메시지 조회 예제
3634
*/
3735
@GetMapping("/get-message-list")
3836
fun getMessageList(): MessageListResponse? {
39-
val response = messageService.getMessageList(MessageListRequest())
37+
// 검색 조건이 있는 경우에 MessagListRequest를 초기화 하여 getMessageList 함수에 파라미터로 넣어서 검색할 수 있습니다!.
38+
// 수신번호와 발신번호는 반드시 -,* 등의 특수문자를 제거한 01012345678 형식으로 입력해주셔야 합니다!
39+
40+
// 검색 조건이 있는 경우에 MessagListRequest를 초기화 하여 getMessageList 함수에 파라미터로 넣어서 검색할 수 있습니다!.
41+
// 수신번호와 발신번호는 반드시 -,* 등의 특수문자를 제거한 01012345678 형식으로 입력해주셔야 합니다!
42+
val request = MessageListRequest()
43+
44+
// 검색할 건 수, 값 미지정 시 20건 조회, 최대 500건 까지 설정 가능
45+
// request.limit = 1
46+
47+
// 조회 후 다음 페이지로 넘어가려면 조회 당시 마지막의 messageId를 입력해주셔야 합니다!
48+
// request.startKey = "메시지 ID"
49+
50+
// request.to = "검색할 수신번호"
51+
// request.from = "검색할 발신번호"
52+
53+
// 메시지 상태 검색, PENDING은 대기 건, SENDING은 발송 중,COMPLETE는 발송완료, FAILED는 발송에 실패한 모든 건입니다.
54+
/*
55+
request.status = MessageStatusType.PENDING
56+
request.status = MessageStatusType.SENDING
57+
request.status = MessageStatusType.COMPLETE
58+
request.status = MessageStatusType.FAILED
59+
*/
60+
61+
// request.messageId = "검색할 메시지 ID"
62+
63+
// 검색할 메시지 목록
64+
// val messageIds = mutableListOf<String>()
65+
// messageIds.add("검색할 메시지 ID");
66+
// request.messageIds = messageIds;
67+
68+
// 조회 할 메시지 유형 검색, 유형에 대한 값은 아래 내용을 참고해주세요!
69+
// SMS: 단문
70+
// LMS: 장문
71+
// MMS: 사진문자
72+
// ATA: 알림톡
73+
// CTA: 친구톡
74+
// CTI: 이미지 친구톡
75+
// NSA: 네이버 스마트알림
76+
// RCS_SMS: RCS 단문
77+
// RCS_LMS: RCS 장문
78+
// RCS_MMS: RCS 사진문자
79+
// RCS_TPL: RCS 템플릿문자
80+
// request.type = "조회 할 메시지 유형"
81+
82+
val response = messageService.getMessageList(request)
4083
println(response)
84+
4185
return response
4286
}
4387

@@ -47,15 +91,10 @@ class ExampleController {
4791
@PostMapping("/send-one")
4892
fun sendOne(): SingleMessageSentResponse? {
4993
// 발신번호 및 수신번호는 반드시 01012345678 형태로 입력되어야 합니다.
50-
/*val message = Message(
94+
val message = Message(
5195
from = "발신번호 입력",
5296
to = "수신번호 입력",
5397
text = "한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 추가됩니다."
54-
)*/
55-
val message = Message(
56-
from = "029302266",
57-
to = "01051693100",
58-
text = "한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 추가됩니다."
5998
)
6099
val response = messageService.sendOne(SingleMessageSendingRequest(message))
61100
println(response)
@@ -138,7 +177,7 @@ class ExampleController {
138177
try {
139178
// 과거 시간으로 예약 발송을 진행할 경우 즉시 발송처리 됩니다.
140179
val localDateTime: LocalDateTime =
141-
LocalDateTime.parse("2022-05-27 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
180+
LocalDateTime.parse("2022-11-26 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
142181
val zoneOffset: ZoneOffset = ZoneId.systemDefault().rules.getOffset(localDateTime)
143182
val instant: Instant = localDateTime.toInstant(zoneOffset)
144183

maven-spring-demo/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>2.6.7</version>
8+
<version>2.7.5</version>
99
<relativePath/> <!-- lookup parent from repository -->
1010
</parent>
1111
<groupId>net.nurigo</groupId>
@@ -31,7 +31,7 @@
3131
<dependency>
3232
<groupId>net.nurigo</groupId>
3333
<artifactId>sdk</artifactId>
34-
<version>4.2.3</version>
34+
<version>4.2.7</version>
3535
</dependency>
3636
</dependencies>
3737

@@ -40,7 +40,7 @@
4040
<plugin>
4141
<groupId>org.springframework.boot</groupId>
4242
<artifactId>spring-boot-maven-plugin</artifactId>
43-
<version>2.6.7</version>
43+
<version>2.7.5</version>
4444
</plugin>
4545
</plugins>
4646
</build>

maven-spring-demo/src/main/java/net/nurigo/mavenspringdemo/ExampleController.java

Lines changed: 58 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66
import net.nurigo.sdk.message.model.Message;
77
import net.nurigo.sdk.message.model.StorageType;
88
import net.nurigo.sdk.message.request.MessageListRequest;
9-
import net.nurigo.sdk.message.request.MultipleMessageSendingRequest;
109
import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
1110
import net.nurigo.sdk.message.response.MessageListResponse;
1211
import net.nurigo.sdk.message.response.MultipleDetailMessageSentResponse;
13-
import net.nurigo.sdk.message.response.MultipleMessageSentResponse;
1412
import net.nurigo.sdk.message.response.SingleMessageSentResponse;
1513
import net.nurigo.sdk.message.service.DefaultMessageService;
1614
import org.springframework.core.io.ClassPathResource;
@@ -33,17 +31,60 @@ public class ExampleController {
3331
final DefaultMessageService messageService;
3432

3533
public ExampleController() {
36-
this.messageService = NurigoApp.INSTANCE.initialize("INSERT API KEY", "INSERT API SECRET KEY", "https://api.coolsms.co.kr");
34+
// 반드시 계정 내 등록된 유효한 API 키, API Secret Key를 입력해주셔야 합니다!
35+
this.messageService = NurigoApp.INSTANCE.initialize("INSERT_API_KEY", "INSERT_API_SECRET_KEY", "https://api.coolsms.co.kr");
3736
}
3837

3938
/**
4039
* 메시지 조회 예제
4140
*/
4241
@GetMapping("/get-message-list")
43-
public void getMessageList() {
44-
MessageListResponse response = this.messageService.getMessageList(new MessageListRequest());
45-
46-
System.out.println(response);
42+
public MessageListResponse getMessageList() {
43+
// 검색 조건이 있는 경우에 MessagListRequest를 초기화 하여 getMessageList 함수에 파라미터로 넣어서 검색할 수 있습니다!.
44+
// 수신번호와 발신번호는 반드시 -,* 등의 특수문자를 제거한 01012345678 형식으로 입력해주셔야 합니다!
45+
MessageListRequest request = new MessageListRequest();
46+
47+
// 검색할 건 수, 값 미지정 시 20건 조회, 최대 500건 까지 설정 가능
48+
// request.setLimit(1);
49+
50+
// 조회 후 다음 페이지로 넘어가려면 조회 당시 마지막의 messageId를 입력해주셔야 합니다!
51+
// request.setStartKey("메시지 ID");
52+
53+
// request.setTo("검색할 수신번호");
54+
// request.setFrom("검색할 발신번호");
55+
56+
// 메시지 상태 검색, PENDING은 대기 건, SENDING은 발송 중,COMPLETE는 발송완료, FAILED는 발송에 실패한 모든 건입니다.
57+
/*
58+
request.setStatus(MessageStatusType.PENDING);
59+
request.setStatus(MessageStatusType.SENDING);
60+
request.setStatus(MessageStatusType.COMPLETE);
61+
request.setStatus(MessageStatusType.FAILED);
62+
*/
63+
64+
// request.setMessageId("검색할 메시지 ID");
65+
66+
// 검색할 메시지 목록
67+
/*
68+
ArrayList<String> messageIds = new ArrayList<>();
69+
messageIds.add("검색할 메시지 ID");
70+
request.setMessageIds(messageIds);
71+
*/
72+
73+
// 조회 할 메시지 유형 검색, 유형에 대한 값은 아래 내용을 참고해주세요!
74+
// SMS: 단문
75+
// LMS: 장문
76+
// MMS: 사진문자
77+
// ATA: 알림톡
78+
// CTA: 친구톡
79+
// CTI: 이미지 친구톡
80+
// NSA: 네이버 스마트알림
81+
// RCS_SMS: RCS 단문
82+
// RCS_LMS: RCS 장문
83+
// RCS_MMS: RCS 사진문자
84+
// RCS_TPL: RCS 템플릿문자
85+
// request.setType("조회 할 메시지 유형");
86+
87+
return this.messageService.getMessageList(request);
4788
}
4889

4990
/**
@@ -102,12 +143,19 @@ public MultipleDetailMessageSentResponse sendMany() {
102143
message.setTo("수신번호 입력");
103144
message.setText("한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 추가됩니다." + i);
104145

105-
messageList.add(message);
146+
// 메시지 건건 마다 사용자가 원하는 커스텀 값(특정 주문/결제 건의 ID를 넣는등)을 map 형태로 기입하여 전송 후 확인해볼 수 있습니다!
147+
/*HashMap<String, String> map = new HashMap<>();
148+
149+
map.put("키 입력", "값 입력");
150+
message.setCustomFields(map);
151+
152+
messageList.add(message);*/
106153
}
107154

108155
try {
109156
// send 메소드로 단일 Message 객체를 넣어도 동작합니다!
110-
MultipleDetailMessageSentResponse response = this.messageService.send(messageList);
157+
// 세 번째 파라미터인 showMessageList 값을 true로 설정할 경우 MultipleDetailMessageSentResponse에서 MessageList를 리턴하게 됩니다!
158+
MultipleDetailMessageSentResponse response = this.messageService.send(messageList, false, true);
111159

112160
// 중복 수신번호를 허용하고 싶으실 경우 위 코드 대신 아래코드로 대체해 사용해보세요!
113161
//MultipleDetailMessageSentResponse response = this.messageService.send(messageList, true);
@@ -141,7 +189,7 @@ public MultipleDetailMessageSentResponse sendScheduledMessages() {
141189

142190
try {
143191
// 과거 시간으로 예약 발송을 진행할 경우 즉시 발송처리 됩니다.
144-
LocalDateTime localDateTime = LocalDateTime.parse("2022-05-27 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
192+
LocalDateTime localDateTime = LocalDateTime.parse("2022-11-26 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
145193
ZoneOffset zoneOffset = ZoneId.systemDefault().getRules().getOffset(localDateTime);
146194
Instant instant = localDateTime.toInstant(zoneOffset);
147195

0 commit comments

Comments
 (0)