Skip to content

About

Infobank Omni API SDK for Java

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

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와 호환되지 않습니다.

Infobank Omni API SDK for Java

이 레포지토리는 인포뱅크의 OMNI API (통합 메시지 API) 연동을 위한 Java용 공식 SDK입니다.
Java 환경에서 쉽고 빠르게 통합 메시지 전송 기능(SMS, LMS, MMS, RCS, 알림톡, 친구톡 등)을 구현할 수 있도록 도와줍니다.


📚 Documentation


✅ Requirements

OMNI API 사용 전 다음을 준비해 주세요:

  • Bizgo 계정 생성
  • 발신번호 등록 (SMS, LMS, RCS용)
  • RCS BizCenter 가입 (RCS 메시지 전송 시)
  • 카카오비즈니스 가입 (알림톡/친구톡 전송 시)
  • 방화벽 설정: 명세서에 명시된 IP 허용 필요

☕ Supported Environment

  • Java 8 이상
  • TLS 1.2 이상

📦 Installation (Maven Central)

Maven

<dependency>
    <groupId>io.github.icomm-api</groupId>
    <artifactId>infobank-omni-sdk-java</artifactId>
    <version>1.1.2</version>
</dependency>

Gradle

implementation 'io.github.icomm-api:infobank-omni-sdk-java:1.1.0'

🔍 Maven Central 검색 바로가기


🚀 Client Initialization

InfobankClient client = InfobankClient.builder()
  .clientId(CLIENT_ID)
  .password(PASSWORD)
  .httpConfig(HttpConfig.builder().baseUrl(BASE_URL).build())
  .build();

💡 Usage Examples

1️⃣ 인증 토큰 발급

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());

2️⃣ 파일 등록 (MMS, RCS, 친구톡 등)

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);

3️⃣ SMS / LMS 전송

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);

4️⃣ 국제 메시지 전송

InternationalRequest inter = InternationalRequest.builder()
  .to("TO")
  .from("FROM")
  .text("해외 메시지 테스트")
  .build();

InternationalResponse res = client.send(inter);

5️⃣ RCS SMS 전송

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);

6️⃣ 알림톡 / 친구톡 / 브랜드 메시지

// 알림톡
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);

7️⃣ Omni 통합 메시지 전송

OmniRequest omni = OmniRequest.builder()
  .addMessage(SmsMessage.builder().from("FROM").text("Omni 메시지 테스트").build())
  .addDestination(Destination.builder().to("01012345678").build())
  .build();

OmniResponse res = client.send(omni);

8️⃣ 전송 리포트 조회 / 삭제

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

📝 License

이 프로젝트는 Apache2.0 라이선스를 따릅니다.

About

Infobank Omni API SDK for Java

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages