[태그:] 알리고관리자

  • PHP 알리고 SMS 라이브러리 사용 가이드

    이 포스팅에서는 PHP로 구현된 알리고(Ailgo) SMS 라이브러리의 사용법을 설명하겠습니다.

    알리고 SMS API를 손쉽게 사용하여 다양한 SMS 발송, 예약, 취소 기능을 구현할 수 있습니다.

    이 라이브러리는 다중 수신자 발송(Mass SMS), 메시지 상태 조회 등 주요 SMS 관련 기능을 제공하며, 이를 통해 PHP 개발자가 쉽게 통합할 수 있습니다.

    1. 클래스 개요

    AligoSMS 클래스는 알리고 API를 활용하여 SMS 발송, 대량 SMS 발송, 예약된 메시지 취소, 전송 내역 조회 등의 작업을 수행합니다.

    이 클래스는 다음과 같은 주요 기능을 제공합니다:

    • 단일/대량 SMS 발송
    • 예약된 SMS 취소
    • 최근 메시지 내역 조회
    • 남은 메시지 건수 조회
    • 메시지 상세 내역 조회

    클래스 인스턴스화

    이 클래스는 다음과 같은 형태로 인스턴스화됩니다.

    <?php
    require_once 'AligoSMS.php';
    
    $user_id = '사용자의 알리고 계정 아이디';
    $key = '발급받은 API 키';
    
    $aligo = new AligoSMS($user_id, $key);
    ?>

    2. 주요 함수와 사용 예제

    2.1 sendSMS(): 단일 메시지 발송

    단일 수신자에게 SMS 또는 MMS 메시지를 보낼 때 사용합니다.

    사용법

    $aligo->sendSMS($message, $receiver, $sender, $subject, $msg_type, $testmode_yn);

    매개변수

    • $message (문자열): 전송할 메시지 내용
    • $receiver (문자열): 수신자 전화번호
    • $sender (문자열): 발신자 전화번호
    • $subject (문자열, 선택): 메시지 제목 (MMS인 경우 필수)
    • $msg_type (문자열, 선택): 메시지 유형 (SMS 또는 MMS)
    • $testmode_yn (문자열, 선택): 테스트 모드 여부 ('Y' 또는 'N')

    예제

    $message = '안녕하세요, 알리고 SMS 테스트입니다.';
    $receiver = '01012345678';
    $sender = '0298765432';
    
    $response = $aligo->sendSMS($message, $receiver, $sender);
    print_r($response);

    반환 값

    • API 응답 데이터를 배열 형태로 반환합니다. 성공/실패 여부 및 상세 정보가 포함됩니다.

    2.2 sendMassSMS(): 대량 메시지 발송

    여러 수신자에게 동일하거나 다른 메시지를 보낼 때 사용합니다.

    사용법

    $aligo->sendMassSMS($sender, $messages, $rdate, $rtime, $msg_type, $testmode_yn);

    매개변수

    • $sender (문자열): 발신자 전화번호
    • $messages (배열): 여러 메시지를 포함하는 배열 (각 요소는 ['receiver' => 수신자, 'message' => 메시지 내용, 'subject' => 제목] 형식)
    • $rdate$rtime (문자열, 선택): 예약 발송 날짜 및 시간
    • $msg_type (문자열, 선택): 메시지 유형 (SMS 또는 MMS)
    • $testmode_yn (문자열, 선택): 테스트 모드 여부 ('Y' 또는 'N')

    예제

    $sender = '0298765432';
    $messages = [
        ['receiver' => '01011112222', 'message' => '첫 번째 메시지', 'subject' => '제목 1'],
        ['receiver' => '01033334444', 'message' => '두 번째 메시지', 'subject' => '제목 2'],
    ];
    
    $response = $aligo->sendMassSMS($sender, $messages);
    print_r($response);

    반환 값

    • 전송 결과가 포함된 배열을 반환합니다. 최대 500명까지 한 번에 전송 가능합니다.

    2.3 cancelSMS(): 예약 메시지 취소

    예약된 SMS 발송을 취소할 수 있습니다.

    사용법

    $aligo->cancelSMS($mid);

    매개변수

    • $mid (문자열): 메시지 고유 ID (예약 발송시 부여받은 ID)

    예제

    $mid = '메시지 고유 ID';
    $response = $aligo->cancelSMS($mid);
    print_r($response);

    반환 값

    • 취소 요청 결과를 배열로 반환합니다.

    2.4 getRecentMessages(): 최근 메시지 내역 조회

    최근 발송된 메시지의 내역을 조회합니다.

    사용법

    $aligo->getRecentMessages($page, $page_size, $start_date, $limit_day);

    매개변수

    • $page (정수, 선택): 조회할 페이지 번호 (기본값: 1)
    • $page_size (정수, 선택): 한 페이지에 표시할 메시지 수 (기본값: 10)
    • $start_date (문자열, 선택): 조회 시작 날짜 (YYYY-MM-DD 형식)
    • $limit_day (정수, 선택): 조회 기간 제한 (최대 조회 가능 일수)

    예제

    $response = $aligo->getRecentMessages(1, 10);
    print_r($response);

    반환 값

    • 최근 발송된 메시지 내역을 배열 형태로 반환합니다.

    2.5 getRemainingCount(): 남은 메시지 건수 조회

    현재 계정에 남아있는 메시지 발송 가능 건수를 조회합니다.

    사용법

    $aligo->getRemainingCount();

    예제

    $response = $aligo->getRemainingCount();
    print_r($response);

    반환 값

    • 남아있는 건수 정보를 배열 형태로 반환합니다.

    2.6 getSMSDetail(): SMS 상세 내역 조회

    특정 메시지의 발송 상세 내역을 조회합니다.

    사용법

    $aligo->getSMSDetail($mid, $page, $page_size);

    매개변수

    • $mid (문자열): 메시지 고유 ID
    • $page$page_size (정수, 선택): 조회할 페이지와 페이지 크기

    예제

    $mid = '메시지 고유 ID';
    $response = $aligo->getSMSDetail($mid);
    print_r($response);

    반환 값

    • 메시지의 상세 내역을 배열로 반환합니다.

    3. 주의사항 및 테스트 모드

    테스트 모드 사용

    테스트 모드를 사용하여 실제 메시지를 보내지 않고 API의 기능을 테스트할 수 있습니다. 함수 호출 시 testmode_yn을 'Y'로 설정하여 사용합니다. 테스트 모드에서는 실제 메시지가 발송되지 않으며, API 호출의 성공/실패 응답을 테스트할 수 있습니다.

    최대 발송 가능 수

    • 대량 메시지 발송의 경우 최대 500명까지 한 번에 발송할 수 있습니다. 그 이상의 경우 여러 요청으로 나누어야 합니다.

    결론

    이 PHP 클래스는 알리고 SMS API를 쉽게 사용할 수 있도록 만들어졌습니다.

    위에서 소개한 주요 기능들을 통해 단일/대량 SMS 발송, 예약 취소, 남은 건수 조회 등의 기능을 구현할 수 있습니다.

    배포 및 사용시 주의사항을 잘 확인하고, 필요에 따라 테스트 모드를 활용하여 효율적인 메시지 발송 시스템을 구축해 보세요.

    알리고 SMS 문자발송 라이브러리(https://sir.kr/cmall/1732015631)