아이코드가 아닌 sms모듈을 연동하려합니다. 채택완료
slingshot
7년 전
조회 3,429
안녕하세요
클라이언트 요구사항으로 커스터마이징을 통해 아이코드가 아닌 타사 sms모듈을 연동하려합니다.
타사 sms모듈의 경우 API 연동을 통해 아래와같이 URL을 던지면 SMS 발송이 이루어집니다.
http://localhost:8080/ROOT/apis/v2/message/send?tokenKey=I3a4kiEwRLuks9IlrhbplP06MhtdfbIK&message=Test&vno=05073480000&phone_number=01072352604">www.domain.com/send?tokenKey={토큰키}@#&message={메세지값}&vno={발신번호}&phone_number={수신번호}
* 타사 API의 필수값은 토큰키, 메세지값, (문자를보내는)발신번호, (문자를 받을)수신번호 입니다.
Q.영카트 내에 SMS를 보내는 내부로직을 살펴보았으나 SMS를 발송하는 부분에서
아이코드 어느 주소로 던지는지 제대로 확인이 안되는데 어느 주소로 날리는지 알수 있을까요?
기존 영카트 코드는 아래와같습니다.
</p>
<p>// lib/icode.sms.lib.php</p>
<p> </p>
<p>function Send() {
$fp = @fsockopen(trim($this - > SMS_Server), trim($this - > SMS_Port));
if (!$fp) return false;
set_time_limit(300);</p>
<p> ##
php4 .3 .10 일경우## zend 최신버전으로 업해주세요..##또는 122 번째 줄을 $this - > Data as $tmp => $puts 로 변경해 주세요.</p>
<p> foreach($this - > Data as $puts) {
$dest = substr($puts, 26, 11);
fputs($fp, $puts);
while (!$gets) {
$gets = fgets($fp, 30);
}
if (substr($gets, 0, 19) == "0223 00".$dest) $this - > Result[] = $dest.
":".substr($gets, 19, 10);
else $this - > Result[$dest] = $dest.
":Error";
$gets = "";
}
fclose($fp);
$this - > Data = "";
return true;
}</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
7년 전
SMS_Server 변수랑 SMS_Port 변수를 찾아보시면 되겠네요
저도 별도로 연동해 보았었는데
저렇게 건건이 연동하는것도 있고
전용 프로그램(JAVA) 을 이용하는것도 있습니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
s
slingshot
7년 전
�
나시
7년 전
일단 첫번째 말씀하신 주소랑 포트만 바꾼다고 해서 타사 모듈로 연계되지 않습니다.
SMS 대행업체마다 방식이 다르기 때문이며 설령 같다고 해도
메세지 프로토콜 , 그러니까 몇자리는 수신번호, 몇자리는 발신번호, 제목몇자, 타입... 이
다르다 보니 똑같지는 않을겁니다.
건건이 보낸다는건 문자 한건씩 소켓으로 아이피, 포트 연결후 프로토콜에 맞게 보내면 그쪽에서 OK, NOK 등의 답신을 보내주는 방식입니다.
별도 프로그램은 SMS 회사에서 제공하는 프로그램과 매뉴얼을 통해 적절히 환경설정후 ( DB 설정, 아이디, 패스워드) 프로그램을 기동시킨후
아이코드 같은 경우는 특정 DB 에 값을 INSERT 하면 위의 프로그램이 알아서 DB 값을 읽어 보내주기때문에 대량문자 발송시에 적합합 방식입니다.
PHP 의 지식이라기 보다 일반 프로그램의 지식이라 어느정도까지 설명이 되었는지 모르겠네요
SMS 대행업체마다 방식이 다르기 때문이며 설령 같다고 해도
메세지 프로토콜 , 그러니까 몇자리는 수신번호, 몇자리는 발신번호, 제목몇자, 타입... 이
다르다 보니 똑같지는 않을겁니다.
건건이 보낸다는건 문자 한건씩 소켓으로 아이피, 포트 연결후 프로토콜에 맞게 보내면 그쪽에서 OK, NOK 등의 답신을 보내주는 방식입니다.
별도 프로그램은 SMS 회사에서 제공하는 프로그램과 매뉴얼을 통해 적절히 환경설정후 ( DB 설정, 아이디, 패스워드) 프로그램을 기동시킨후
아이코드 같은 경우는 특정 DB 에 값을 INSERT 하면 위의 프로그램이 알아서 DB 값을 읽어 보내주기때문에 대량문자 발송시에 적합합 방식입니다.
PHP 의 지식이라기 보다 일반 프로그램의 지식이라 어느정도까지 설명이 되었는지 모르겠네요
s
slingshot
7년 전
답변주셔서 감사합니다.
아이코드 방식에 대해 조금 잘몰랐으나 나시님께서 전반적인 내용으로 알려주셔서 이해가 잘되었습니다!
아이코드 방식에 대해 조금 잘몰랐으나 나시님께서 전반적인 내용으로 알려주셔서 이해가 잘되었습니다!
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
제가 정말 PHP를 1도 모르는지라 혹시 추가로 설명부탁드려도 될까요?
저는 단순히 생각을해서 기존에 있는 아이코드 연동모듈을 이용해서
URL 날리는 부분을 타사 SMS모듈로 날아가게끔 처리하려고생각하였습니다.
혹시 이에 대해 부족한점이나 말씀주신것처럼 건건이 연동하는것에 대해서도 추가로 의견주시면 감사하겠습니다.
(타사 sms모듈은 JAVA를 이용하긴하오나, 말씀주신부분중 건건이 연동하는 방식이 뭔지 이해를 못했고, JAVA의 경우 혹시 직접 JAVA로 짜셨다는건지 한번더 죄송하지만 답변부탁드립니다)