Warning
이 SDK는 더 이상 유지보수되지 않습니다 (deprecated).
이전 OMNI API(omni.ibapi.kr, ID/PW 토큰 인증) 기준 SDK입니다. 새 기능과 보안 수정은 비즈고 API(mars.ibapi.kr, API Key 인증) 기준의
bizgo-sdk-comm-java 에서만 제공됩니다.
- 설치:
io.github.icomm-api:bizgo-sdk-comm-java:1.2.0 - 옮기는 방법: 새 SDK README의 옮기기 안내 (API·인증 방식이 달라 코드 호환은 되지 않습니다)
- 이 저장소는 더 이상 업데이트되지 않으며, 예제 코드는 새 API와 호환되지 않습니다.
이 레포지토리는 인포뱅크의 OMNI API (통합 메시지 API) 연동을 위한 Java용 공식 SDK입니다.
Java 환경에서 쉽고 빠르게 통합 메시지 전송 기능(SMS, LMS, MMS, RCS, 알림톡, 친구톡 등)을 구현할 수 있도록 도와줍니다.
- 👉 OMNI API 명세서 (GitBook)
- 📧 기술 문의: support@infobank.net
OMNI API 사용 전 다음을 준비해 주세요:
- Bizgo 계정 생성
- 발신번호 등록 (SMS, LMS, RCS용)
- RCS BizCenter 가입 (RCS 메시지 전송 시)
- 카카오비즈니스 가입 (알림톡/친구톡 전송 시)
- 방화벽 설정: 명세서에 명시된 IP 허용 필요
- Java 8 이상
- TLS 1.2 이상
<dependency>
<groupId>io.github.icomm-api</groupId>
<artifactId>infobank-omni-sdk-java</artifactId>
<version>1.1.2</version>
</dependency>implementation 'io.github.icomm-api:infobank-omni-sdk-java:1.1.0'InfobankClient client = InfobankClient.builder()
.clientId(CLIENT_ID)
.password(PASSWORD)
.httpConfig(HttpConfig.builder().baseUrl(BASE_URL).build())
.build();HttpConfig config = HttpConfig.builder().baseUrl("https://omni.ibapi.kr").build();
AuthService authService = new AuthService(config, null, CLIENT_ID, PASSWORD);
AuthResponse res = authService.getToken();
System.out.println("AccessToken: " + res.getAccessToken());File file = new File(getClass().getClassLoader().getResource("infobank.jpg").getFile());
FileRequest mmsFile = FileRequest.builder().file(file).serviceType(ServiceType.MMS).build();
FileRequest rcsFile = FileRequest.builder().file(file).serviceType(ServiceType.RCS).build();
FileRequest ftFile = FileRequest.builder().file(file)
.serviceType(ServiceType.FRIENDTALK)
.msgType(MessageType.FI)
.build();
client.register(mmsFile);
client.register(rcsFile);
client.register(ftFile);SmsRequest sms = SmsRequest.builder()
.to("TO")
.from("FROM")
.text("SMS 메시지입니다.")
.build();
SmsResponse smsRes = client.send(sms);
MmsRequest lms = MmsRequest.builder()
.to("TO")
.from("FROM")
.text("LMS 메시지입니다.")
.build();
MmsResponse lmsRes = client.send(lms);InternationalRequest inter = InternationalRequest.builder()
.to("TO")
.from("FROM")
.text("해외 메시지 테스트")
.build();
InternationalResponse res = client.send(inter);RcsRequest rcs = RcsRequest.builder()
.to("TO")
.from("FROM")
.formatId("FORMAT_ID_SMS")
.content(Standalone.builder().text("RCS SMS 메시지").build())
.brandKey("BRAND_KEY")
.build();
RcsResponse res = client.send(rcs);// 알림톡
AlimtalkRequest alim = AlimtalkRequest.builder()
.to("TO")
.senderKey("SENDER_KEY")
.templateCode("TEMPLATE_CODE")
.text("알림톡 메시지입니다.")
.msgType(MessageType.AT)
.build();
client.send(alim);
// 친구톡
FriendtalkRequest friend = FriendtalkRequest.builder()
.to("TO")
.senderKey("SENDER_KEY")
.text("친구톡 메시지입니다.")
.msgType(MessageType.FT)
.build();
client.send(friend);
// 브랜드 메시지
BrandmessageRequest brand = BrandmessageRequest.builder()
.to("TO")
.senderKey("SENDER_KEY")
.sendType("free")
.text("브랜드 메시지입니다.")
.msgType(MessageType.FT)
.build();
client.send(brand);OmniRequest omni = OmniRequest.builder()
.addMessage(SmsMessage.builder().from("FROM").text("Omni 메시지 테스트").build())
.addDestination(Destination.builder().to("01012345678").build())
.build();
OmniResponse res = client.send(omni);ReportPollingResponse pollRes = client.get(ReportPollingRequest.builder().build());
String reportId = pollRes.getData().getReportId();
client.remove(ReportPollingRequest.builder().reportId(reportId).build());
client.get(ReportInquiryRequest.builder().msgKey("MSG_KEY").build());| 기능 항목 | 클래스 예시 |
|---|---|
| SMS/LMS/MMS 전송 | SmsRequest, MmsRequest |
| 국제 메시지 | InternationalRequest |
| 알림톡 / 친구톡 | AlimtalkRequest, FriendtalkRequest |
| 브랜드 메시지 | BrandmessageRequest |
| RCS 메시지 | RcsRequest |
| Omni 통합 메시지 | OmniRequest |
| 인증 토큰 발급 | AuthService#getToken() |
| 파일 등록 | FileRequest |
| 전송 결과 리포트 관리 | ReportPollingRequest, ReportInquiryRequest |
이 프로젝트는 Apache2.0 라이선스를 따릅니다.