본문으로 건너뛰기

각종 데이터 조회 예제

해당 페이지에서는 SOLAPI Java/Kotlin SDK를 이용하여 각종 SOLAPI내 저장 된 데이터를 조회하는 방법에 대해 가이드하고 있습니다.

정보
  • 해당 페이지에서 작성된 모든 코드는 Java로 작성되었습니다.
  • 각 발송 예시에 대한 결과 값 표시 기능은 현재 준비중에 있습니다.
  • 해당 예제는 Java/Kotlin SDK 4.2.7 버전을 기준으로 작성되었습니다.
  • Java/Kotlin SDK 4.2.7 버전은 통계 조회가 지원되지 않습니다.

환경설정

연동하실 프로젝트로 이동하신 다음 선호하시는 환경을 선택하여 아래 코드를 추가하여 SDK를 설치해보세요!

pom.xml
<dependency>
<groupId>net.nurigo</groupId>
<artifactId>sdk</artifactId>
<version>4.2.7</version>
</dependency>

잔액 조회

Java
DefaultMessageService messageService =  NurigoApp.INSTANCE.initialize("API 키 입력", "API 시크릿 키 입력", "https://api.solapi.com");
Balance balance = messageService.getBalance();

System.out.println(balance);

메시지 조회 예제(문자 알림톡 등)

Java
DefaultMessageService messageService =  NurigoApp.INSTANCE.initialize("API 키 입력", "API 시크릿 키 입력", "https://api.solapi.com");
MessageListRequest messageListRequest = new MessageListRequest();

// 불러올 메시지 갯수 제한
// messageListRequest.setLimit(5); // 5를 입력하면 5건이 조회됩니다, 미 입력시 20개로 지정

// 메시지 ID로 검색
// messageListRequest.setMessageId("메시지 ID 입력"); // 메시지 ID는 대개 M4V로 시작합니다

// 여러 메시지 ID로 검색
// ArrayList<String> messageList = new ArrayList<>();
// messageList.add("메시지 ID 입력");
// messageListRequest.setMessageIds(messageList);

// 그룹 ID로 검색
// messageListRequest.setGroupId("그룹 ID 입력"); // 그룹 ID는 대개 G4V로 시작합니다

// 발신번호로 검색
// messageListRequest.setFrom("01012345678");

// 수신번호로 검색
// messageListRequest.setFrom("01012345678");

// 메시지 타입으로 검색
// 허용되는 메시지 타입: SMS(단문 문자), LMS(장문 문자), MMS(사진 문자), ATA(알림톡), CTA(친구톡), CTI(이미지 친구톡), NSA(네이버 스마트알림), RCS_SMS(RCS 단문 문자), RCS_LMS(RCS 장문 문자), RCS_MMS(RCS 사진 문자), RCS_TPL(RCS 템플릿)
// messageListRequest.setType("SMS");

// 메시지 날짜 별 검색
// messageListRequest.setDateType("CREATED"); // 조회 기준, CREATED: 메시지 생성 일 기준, UPDATED: 메시지 상태 갱신일 기준

// 현재는 Kotlinx Instant 타입만 허용됩니다, Java/Kotlin SDK 설치 시 자동으로 kotlinx.datetime이 내장됩니다.
// Kotlinx Instant 객체 생성 예시
// LocalDateTime localDateTime = LocalDateTime.parse("2022-05-30 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// ZoneOffset zoneOffset = ZoneId.systemDefault().getRules().getOffset(localDateTime);
// Instant instant = localDateTime.toInstant(zoneOffset);
// kotlinx.datetime.Instant kotlinInstant = kotlinx.datetime.Instant.Companion.parse(instant.toString());

// messageListRequest.setStartDate(kotlinInstant); // 시작 시간 설정
// messageListRequest.setEndDate(kotlinInstant); // 종료 시간 설정

MessageListResponse response = messageService.getMessageList(messageListRequest);

System.out.println(response);