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

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

QA

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

답변 2

본문

알리고 라는 사이트에서 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); // 파일 닫음

 

 

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

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,306
© SIRSOFT
현재 페이지 제일 처음으로