알림톡 api를 붙이려고 하는데요..
본문
콘텐츠 페이지에서 전화번호를 입력하면 오시는길 안내에 관한 알림톡을 보내려고 합니다.
그래서 게시판을 하나 만들고
콘텐츠 페이지에 게시글을 바로 쓸 수 있도록 폼으로 처리를 했습니다.
그리고 해당 게시판의 스킨폴더에
write_update.skin.php를 생성해서 아래 소스를 넣어주면
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$site_msg = "고객님의 카카오톡으로 발송되었습니다.";
alert($site_msg);
exit;
?>
정상적으로 게시글이 써지는것 까지 테스트를 했습니다.
그리고 해당 api를 게시글이 써진 후 작동하게 하려고
write_update.skin.php 파일에
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("./common.php");
// 여기부터 제공받은 api코드
header("Content-Type: application/json; charset=utf-8");
$tmp_number = "xxxx" ; // 소스에는 입력했습니다
$kakao_sender = "*** 개인정보보호를 위한 전화번호 노출방지 ***" ; // 발신번호를 넣어주세요.
$kakao_name = "$wr_name" ; // 받으시는 분의 고객명
$kakao_phone = "$wr_2" ; // 받으시는 분 휴대폰번호
$kakao_080 = "N" ; // 대체문자발송시 080 무료수신거부를 사용하시는 경우에는 Y
$kakao_res = "" ; // 예약발송인 경우에는 Y
$kakao_res_date = "" ; // 예약인 경우에만 필요, 예) 2017-12-24 07:08:09
$TRAN_REPLACE_TYPE = "" ; // 알림톡 실패시 대체문자 발송 ( 공백:미발송, S : SMS로 발송, L : LMS로 발송 )
// 추가정보 1~10 에 대한 값이 필요하신 경우 값을 넣어주세요
$kakao_add1 = "" ;
$kakao_add2 = "" ;
$kakao_add3 = "" ;
$kakao_add4 = "" ;
$kakao_add5 = "" ;
$kakao_add6 = "" ;
$kakao_add7 = "" ;
$kakao_add8 = "" ;
$kakao_add9 = "" ;
$kakao_add10 = "" ;
// url에 변수를 사용하시는 경우에는 주석을 풀어주세요.
// 값은 별수를 제외하고는 템플릿과 일치해야 합니다.)
// Authorization 값은 오렌지메세지 사이트에서 발급받으신 키 값을 넣어주세요.
$headers = array(
"Content-Type: application/json; charset=utf-8",
"Authorization: 제공해주는 키값입력" // 소스에는 입력했습니다.
);
$parameters = array(
"tmp_number" => $tmp_number,
"kakao_url" => $kakao_url,
"kakao_sender" => $kakao_sender,
"kakao_name" => $kakao_name,
"kakao_phone" => $kakao_phone,
"kakao_add1" => $kakao_add1,
"kakao_add2" => $kakao_add2,
"kakao_add3" => $kakao_add3,
"kakao_add4" => $kakao_add4,
"kakao_add5" => $kakao_add5,
"kakao_add6" => $kakao_add6,
"kakao_add7" => $kakao_add7,
"kakao_add8" => $kakao_add8,
"kakao_add9" => $kakao_add9,
"kakao_add10" => $kakao_add10,
"kakao_080" => $kakao_080,
"kakao_res" => $kakao_res,
"kakao_res_date" => $kakao_res_date,
"TRAN_REPLACE_TYPE" => $TRAN_REPLACE_TYPE,
"kakao_url1_1" => $kakao_url1_1,
"kakao_url1_2" => $kakao_url1_2,
"kakao_url2_1" => $kakao_url2_1,
"kakao_url2_2" => $kakao_url2_2,
"kakao_url3_1" => $kakao_url3_1,
"kakao_url3_2" => $kakao_url3_2,
"kakao_url4_1" => $kakao_url4_1,
"kakao_url4_2" => $kakao_url4_2,
"kakao_url5_1" => $kakao_url5_1,
"kakao_url5_2" => $kakao_url5_2
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.apiorange.com/api/send/notice.do");
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($parameters));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_NOSIGNAL, true);
curl_setopt($curl, CURLOPT_VERBOSE, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);
// 여기까지 제공받은 api코드
$site_msg = "고객님의 카카오톡으로 발송되었습니다.";
alert($site_msg);
exit;
?>
위와 같이 작업을 하면 해당 api소스가 작동을 해야 하는거 아니에요?
그런데 http://사이트주소.com/bbs/write_update.php에 멈추면서
소스보기를 한 것 처럼 소스가 다 노출되어 버리는데
뭐가 문제일까요;;;
그런데 게시글도 정상적으로 등록이 되고 카카오톡도 날라갑니다..
!-->!-->
답변 3
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.apiorange.com/api/send/notice.do");
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($parameters));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_NOSIGNAL, true);
curl_setopt($curl, CURLOPT_VERBOSE, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);
curl_close($curl);
if($response){
$decode = json_decode($response, true);
$curl_result_code = $decode['result_code'];
$curl_result_msg = $decode['result_msg'];
}
echo $curl_result_code;
// echo $curl_result_msg;
}
// 여기까지 제공받은 api코드
/*
$site_msg = "고객님의 카카오톡으로 발송되었습니다.";
alert($site_msg);
exit;
*/
제공된 api가 없어 어디서 오류가나는지 확실히 모르겠지만 위와같이 테스트 한번 진행해보시는게 좋을 듯 합니다.
200 코드가 나와야 정상입니다.
!-->에러 메세지는 없나요?
exit는 관계없습니다 (alert에서 이동해버리므로)
3번행 include 삭제해보세요(필요없을 뿐 아니라 경로가 맞지않습니다)
맨 마지막 exit; 를 주석처리하시거나 삭제하시면 될것 같은데요..ㅎ
exit 이눔 쓰실때는 주의하셔야합니다.. 이눔 뒤로는 전혀 실행이 불가능하게되버립니다...
답변을 작성하시기 전에 로그인 해주세요.