@@ -435,6 +435,51 @@ class DefaultMessageService(apiKey: String, apiSecretKey: String, domain: String
435
435
}
436
436
}
437
437
438
+ /* *
439
+ * 다중 메시지(2건 이상) 발송 API
440
+ * sendOne 및 sendMany 보다 더 개선된 오류 및 데이터 정보를 반환합니다.
441
+ */
442
+ @Throws(
443
+ NurigoMessageNotReceivedException ::class ,
444
+ NurigoEmptyResponseException ::class ,
445
+ NurigoUnknownException ::class
446
+ )
447
+ fun send (
448
+ messages : List <Message >,
449
+ allowDuplicates : Boolean ,
450
+ showMessageList : Boolean
451
+ ): MultipleDetailMessageSentResponse {
452
+ val parameter = MultipleDetailMessageSendingRequest (
453
+ messages = messages,
454
+ scheduledDate = null ,
455
+ showMessageList = showMessageList,
456
+ )
457
+ parameter.allowDuplicates = allowDuplicates
458
+ val response = this .messageHttpService.sendManyDetail(parameter).execute()
459
+
460
+ if (response.isSuccessful) {
461
+ val responseBody = response.body()
462
+ if (responseBody != null ) {
463
+ val count: Count = responseBody.groupInfo?.count ? : Count ()
464
+ val failedMessageList = responseBody.failedMessageList
465
+
466
+ if (failedMessageList.isNotEmpty() && count.total == failedMessageList.count()) {
467
+ // TODO: i18n needed
468
+ val messageNotReceivedException = NurigoMessageNotReceivedException (" 메시지 발송 접수에 실패했습니다." )
469
+ messageNotReceivedException.failedMessageList = failedMessageList
470
+ throw messageNotReceivedException
471
+ }
472
+
473
+ return responseBody
474
+ }
475
+ throw NurigoEmptyResponseException (" 서버로부터 아무 응답을 받지 못했습니다." )
476
+ } else {
477
+ val errorString = response.errorBody()?.string() ? : " Server error encountered"
478
+ throw NurigoUnknownException (errorString)
479
+ }
480
+ }
481
+
482
+
438
483
/* *
439
484
* 다중 메시지(2건 이상) 발송 및 예약 발송 API
440
485
* sendOne 및 sendMany 보다 더 개선된 오류 및 데이터 정보를 반환합니다.
@@ -516,6 +561,51 @@ class DefaultMessageService(apiKey: String, apiSecretKey: String, domain: String
516
561
}
517
562
}
518
563
564
+ /* *
565
+ * 다중 메시지(2건 이상) 발송 및 예약 발송 API
566
+ * sendOne 및 sendMany 보다 더 개선된 오류 및 데이터 정보를 반환합니다.
567
+ */
568
+ @Throws(
569
+ NurigoMessageNotReceivedException ::class ,
570
+ NurigoEmptyResponseException ::class ,
571
+ NurigoUnknownException ::class
572
+ )
573
+ fun send (
574
+ messages : List <Message >,
575
+ scheduledDateTime : java.time.Instant ,
576
+ allowDuplicates : Boolean ,
577
+ showMessageList : Boolean
578
+ ): MultipleDetailMessageSentResponse {
579
+ val parameter = MultipleDetailMessageSendingRequest (
580
+ messages = messages,
581
+ scheduledDate = scheduledDateTime.toKotlinInstant(),
582
+ showMessageList = showMessageList
583
+ )
584
+ parameter.allowDuplicates = allowDuplicates
585
+ val response = this .messageHttpService.sendManyDetail(parameter).execute()
586
+
587
+ if (response.isSuccessful) {
588
+ val responseBody = response.body()
589
+ if (responseBody != null ) {
590
+ val count: Count = responseBody.groupInfo?.count ? : Count ()
591
+ val failedMessageList = responseBody.failedMessageList
592
+
593
+ if (failedMessageList.isNotEmpty() && count.total == failedMessageList.count()) {
594
+ // TODO: i18n needed
595
+ val messageNotReceivedException = NurigoMessageNotReceivedException (" 메시지 발송 접수에 실패했습니다." )
596
+ messageNotReceivedException.failedMessageList = failedMessageList
597
+ throw messageNotReceivedException
598
+ }
599
+
600
+ return responseBody
601
+ }
602
+ throw NurigoEmptyResponseException (" 서버로부터 아무 응답을 받지 못했습니다." )
603
+ } else {
604
+ val errorString = response.errorBody()?.string() ? : " Server error encountered"
605
+ throw NurigoUnknownException (errorString)
606
+ }
607
+ }
608
+
519
609
/* *
520
610
* 다중 메시지(2건 이상) 발송 및 예약 발송 API
521
611
* sendOne 및 sendMany 보다 더 개선된 오류 및 데이터 정보를 반환합니다.
@@ -559,6 +649,51 @@ class DefaultMessageService(apiKey: String, apiSecretKey: String, domain: String
559
649
}
560
650
}
561
651
652
+ /* *
653
+ * 다중 메시지(2건 이상) 발송 및 예약 발송 API
654
+ * sendOne 및 sendMany 보다 더 개선된 오류 및 데이터 정보를 반환합니다.
655
+ */
656
+ @Throws(
657
+ NurigoMessageNotReceivedException ::class ,
658
+ NurigoEmptyResponseException ::class ,
659
+ NurigoUnknownException ::class
660
+ )
661
+ fun send (
662
+ messages : List <Message >,
663
+ scheduledDateTime : Instant ,
664
+ allowDuplicates : Boolean ,
665
+ showMessageList : Boolean
666
+ ): MultipleDetailMessageSentResponse {
667
+ val parameter = MultipleDetailMessageSendingRequest (
668
+ messages = messages,
669
+ scheduledDate = scheduledDateTime,
670
+ showMessageList = showMessageList
671
+ )
672
+ parameter.allowDuplicates = allowDuplicates
673
+ val response = this .messageHttpService.sendManyDetail(parameter).execute()
674
+
675
+ if (response.isSuccessful) {
676
+ val responseBody = response.body()
677
+ if (responseBody != null ) {
678
+ val count: Count = responseBody.groupInfo?.count ? : Count ()
679
+ val failedMessageList = responseBody.failedMessageList
680
+
681
+ if (failedMessageList.isNotEmpty() && count.total == failedMessageList.count()) {
682
+ // TODO: i18n needed
683
+ val messageNotReceivedException = NurigoMessageNotReceivedException (" 메시지 발송 접수에 실패했습니다." )
684
+ messageNotReceivedException.failedMessageList = failedMessageList
685
+ throw messageNotReceivedException
686
+ }
687
+
688
+ return responseBody
689
+ }
690
+ throw NurigoEmptyResponseException (" 서버로부터 아무 응답을 받지 못했습니다." )
691
+ } else {
692
+ val errorString = response.errorBody()?.string() ? : " Server error encountered"
693
+ throw NurigoUnknownException (errorString)
694
+ }
695
+ }
696
+
562
697
/* *
563
698
* 다중 메시지(2건 이상) 발송 및 예약 발송 API
564
699
* sendOne 및 sendMany 보다 더 개선된 오류 및 데이터 정보를 반환합니다.
0 commit comments