sms발송 결과 코드값을 알고 싶어요

sms발송 결과 코드값을 알고 싶어요

QA

sms발송 결과 코드값을 알고 싶어요

본문

알리고 라는 사이트에서 sms를 보내고 있습니다.
웹페이지에서 sms를 보내고 나면 

정상 발송인지 문제가 생겼는지 결과값이 오는데 아래과 같습니다.
응답 바디는 JSON 객체로 구성된다고 합니다.

 

// CURL 요청 설정
$host_info = explode("/", $sms_url);
$port = $host_info[0] == 'https:' ? 443 : 80;
$oCurl = curl_init();
curl_setopt($oCurl, CURLOPT_PORT, $port);
curl_setopt($oCurl, CURLOPT_URL, $sms_url);
curl_setopt($oCurl, CURLOPT_POST, 1);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($oCurl, CURLOPT_POSTFIELDS, http_build_query($sms)); // POST 데이터를 인코딩하여 전송
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
$ret = curl_exec($oCurl);
curl_close($oCurl);
// 결과 확인
echo $ret;
$retArr = json_decode($ret, true); // 결과 배열
print_r($retArr); // Response 출력 (연동작업시 확인용)

 

 

그리고 정상발송되면 이런 메세지가 출력이 됩니다.

 

{"result_code":"1","message":"success","msg_id":"917549656","success_cnt":1,"error_cnt":0,"msg_type":"LMS"}Array ( [result_code] => 1 [message] => success [msg_id] => 917549656 [success_cnt] => 1 [error_cnt] => 0 [msg_type] => LMS )

 

 

제가 궁금한것은

 

메세지 발송후에 조건문을 써서 정상발송되었습니다를 띄우려고 하는데
그것을 구별하는 변수를 못찾겠습니다.

[result_code] => 1  를 보고 $result_code 를 해보았으나 값이 찍히지를 않구요

 

result_code 값이 1이면 정상이라고 합니다.

 

정상유무를 판단할수 있는 변수를 찾을 수 없을까요?

 

 

이 질문에 댓글 쓰기 :

답변 2

아래와 소스와 같이 하시면 됩니다.
if( $retArr['result_code'] == 1){ 
   if( $retArr['success_cnt'] == 1) {

        echo "발송 성공";

   }else if($retArr['error_cnt'] == 1){

        echo "발송실패(오류)";

   }else {

        echo "알수없는 오류";
   }

}else {

        echo "발송실패(오류)";

}

 

추가 팁 바로 불려 오지 마시고 캐쉬 형태로 파일함수를 이용해서 텍스트 파일 만들시는것 추천 드립니다.

 

$fp = fopen( $retArr['msg_id'].".txt", 'a'); // 파일을 쓰기 전용으로 열고 반환된 파일 포인터를 $fp에 저장. $str = $ret";
fwrite($fp, $str); // 파일에 $str 변수를 저장함.

fclose($fp); // 파일 닫음

 

하시고 나서 위에 적용 하세요 ..

 

답변을 작성하시기 전에 로그인 해주세요.
전체 61,264
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT