[WEB 모듈 연동가이드]

Similar documents
sms_SQL.hwp

게시판 스팸 실시간 차단 시스템

CDMS 개발 내역서

대량문자API연동 (with directsend)

알림톡연동문서ppt_v5.0.1_

알림톡연동문서ppt_v3.1.0_

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Secure Programming Lecture1 : Introduction

EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

EDB 분석보고서 (04.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. ** 5개이상발생한주요소프트웨어별상세 EDB 번호 종류 공격난이도 공격위험도 이름 소프트웨어이름 3037 SQL Inj

The Pocket Guide to TCP/IP Sockets: C Version

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

SMB_ICMP_UDP(huichang).PDF

ISP and CodeVisionAVR C Compiler.hwp

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

3장

76 XSS 하 Huge-IT Slider admin.php XSS

OnTuneV3_Manager_Install

Messaging Service SMPP API Specification V1.0.3 Last Modified: 23.July,

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

EDB 분석보고서 (06.07) ~ Exploit-DB( 에공개된취약점별로분류한정보입니다 SQL Injection 하중 index.php SQL Injection 취

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

23

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint 프레젠테이션

Windows 8에서 BioStar 1 설치하기

EDB 분석보고서 (0.0) 0.0.0~0.0. Exploit-DB( 에공개된별로분류한정보입니다. 날짜 EDB 번호분류공격난이도공격위험도이름핵심공격코드대상프로그램대상환경 SQL Injection 중상 Absolu

Act84_

105È£4fš

PowerPoint Template

Tcl의 문법

PowerPoint 프레젠테이션

본 강의에 들어가기 전

일반적인 네트워크의 구성은 다음과 같다

메뉴얼41페이지-2

BMP 파일 처리

BY-FDP-4-70.hwp

PowerPoint 프레젠테이션

카택스 비즈 관리자용 사용설명서 목차 사용 전에 시작하기 사용하기 설정하기 알아두기 훑어보기 차량 관리 운행내역 조회 부관리자 설정 자주묻는 질문 회원가입 사용자 관리 운행구간 조회 앱 권한 설정 GPS 오류 요인 부서 관리 운행일지 다운로드

EDB 분석보고서 (06.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. 날짜 EDB 번호분류공격난이도공격위험도이름핵심공격코드대프로그램대환경 File Upload 하 C

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

SRC PLUS 제어기 MANUAL

Microsoft PowerPoint 세션.ppt

Tomcat 4.x 웹서버에 J2SE 를설치를확인합니다. java -version java version "1.4.2_05" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04) Java HotSp

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

open-api.md 2/14/2019 Deflow Open Api 1. 목록 (GET) /v1/order/list - 주문내역조회 (GET) /v1/order/complete/list - 거래내역조회 (POST) /v1/order/cancel - 주문취소 (GET)

PowerPoint Presentation

Windows Server 2012

hlogin7

C H A P T E R 2

Microsoft Word - sms_DLL.doc

Windows Server NTP 설정가이드 Author 이종하 (lovemind.tistory.com) 1

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

자식농사웹완

표1.4출력

003-p.ps

중앙도서관소식지겨울내지33

표1~4


chungo_story_2013.pdf

*중1부

2

Çѱ¹ÀÇ ¼º°øº¥Ã³µµÅ¥

...._


전반부-pdf

<4D F736F F F696E74202D20312E20B0E6C1A6C0FCB8C15F3136B3E2C7CFB9DDB1E25F325FC6ED28C0BA292E >

_

12월월간보고서내지편집3

에너지포커스 2007년 가을호


01_당선자공약_서울

인권문예대회_작품집4-2




목차

A°ø¸ðÀü ³»Áö1-¼öÁ¤

±¹³»°æÁ¦ º¹»ç1

¿¡³ÊÁö ÀÚ¿ø-Âü°í ³»Áö.PDF

전반부-pdf

뉴스레터6호

Microsoft PowerPoint 하반기 크레딧 전망_V3.pptx

50차 본문 최종

양성내지b72뼈訪?303逞

³»Áöc03âš

fsb9¿ù³»ÁöÃÖÁ¾Ãâ

¾ç¼º-¾÷¹«Æí¶÷-³»¿ëÃà¼Ò4

전도대회자료집


< DBAB4B9ABC3BB5FBAB9B9ABB0FCB8AEB8C5B4BABEF32D33B1C72E706466>

<3344C7C1B8B0C6C320BFE4BEE02D E706466>

µ¶ÀÏÅëÀÏÁý1~2Æíq36£02Ð



1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Transcription:

[WEB 모듈연동가이드 ] PHP Version 문자매니아

Contents ㆍ서비스안내 3 ㆍ서비스연동 Flow 3 ㆍ예제소스 4 ㆍ Error code 10 ㆍ자주묻는질문 11

서비스안내 ㆍ WEB 연동서비스 - 기업이운영중인고객사의홈페이지에서문자메시지를보낼수있는기능으로 TCP/IP 기반으로 SOCKET 통신하여메시지를전송하는서비스입니다. ㆍ SMS ( 단문메시지 ) - 단문메시지로 90byte ( 한글 45 자 ) 의글자의전송이가능합니다. ㆍ MMS ( 장문메시지, 그림문자 ) - 장문메시지로 2000byte ( 한글 1000 자 ) 의글자의전송이가능합니다. 이미지파일은 jpg 만지원가능하며, 200k 이하첨부가능합니다. ㆍ서비스이용가능대상 - 웹호스팅또는자체웹서버를이용하여웹사이트를운영중인업체 ( 고정 IP 를사용하여야함. 여러개의서버사용시사용웹서버아이피를모두등록해야함 ) 서비스연동 Flow 1. 문자매니아기업연동페이지회원가입 (sms.smsmania.co.kr) * 회원가입을하셔야만서비스이용이가능합니다. 2. 허용 IP 설정 - 고객사의서버 IP를등록합니다. - 등록된 IP에서만메시지발송이가능합니다. ( 최대 21개등록가능 ) 3. 예제소스수정및적용 - 아래에제공하는예제소스를참고하시어개발하신페이지에수정하여복사 4. 결제 - 연동서비스는선충전방식입니다. ( 결제하신후문자전송이가능합니다.) WEB PHP Solution 3 SMSMANIA

예제소스 (PHP_Version) ######################################################## ## php용 smssocket 발송모듈 ## author : 문자매니아 ## version : v.1.2 ######################################################## // 문자전송 v1.2 function SocketPost($posts) { if(($posts['type']=='mms' $posts['type']=='fax') && $posts['file']){ $file = socketfile($posts['userid'],$posts['type'],$posts['file']); if($file){ if($file=="over_size" $file=="err_socket" $file=="err_copy" $file=="err_ext"){ return $file; else{ $posts['file'] = $file; else{ $posts['file'] = ''; $host = "sms.smsmania.co.kr"; $target = "/module/socket_send_multi.php"; $port = 80; $socket = fsockopen($host, $port); if( is_array($posts) ) { foreach( $posts AS $name => $value ) $postvalues.= urlencode($name)."=".urlencode( $value )."&"; $postvalues = substr($postvalues, 0, -1); $postlength = strlen($postvalues); $request = "POST $target HTTP/1.0\r\n"; $request.= "Host: $host\r\n"; WEB PHP Solution 4 SMSMANIA

$request.= "User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n"; $request.= "Content-type: application/x-www-form-urlencoded\r\n"; $request.= "Content-length: ".$postlength."\r\n\r\n"; $request.= $postvalues."\r\n"; fputs($socket, $request); $ret = ""; while(!feof($socket) ){ $ret.= trim(fgets($socket,4096)); fclose( $socket ); $std_bar = ":header_stop:"; return substr($ret,(strpos($ret,$std_bar)+strlen($std_bar))); // 파일전송 v1.1 function socketfile($id,$type,$filexx){ // 확장자체크 ///////////////////////////// $ext = strtolower(substr($filexx,strrpos($filexx,'.')+1)); if($type=='mms'){ if(!($ext=='jpg')){ return "err_ext"; elseif($type=='fax'){ if(!($ext=='doc' $ext=='txt' $ext=='xls' $ext=='ppt' $ext=='hwp' $ext=='jpg' $ext=='html' $ext=='htm' $ext=='gif')){ return "err_ext"; // mania file /////////////////////////////// if(sizeof(explode('http://',$filexx))>1){ return $filexx; // 파일용량체크 /////////////////////////// $mms_size = 200*1024; $fax_size = 200*1024; $filesize = @filesize($filexx); WEB PHP Solution 5 SMSMANIA

if(($filesize*1)<=0){ return "not_file"; if($filesize>${$type.'_size'){ return "over_size"; ////////////////////////////////////////////// $file_namexx = $id."_".$type."_".uniqid('').".".substr($filexx,strrpos($filexx,'.')+1); $host='sms.smsmania.co.kr'; // 원격서버명 $port = 80; // 원격서버포트 $path = '/module/socket_send_file.php'; // 화일을받아서처리해주는화일명 srand((double)microtime()*1000000); $boundary = "---------------------------".substr(md5(rand(0,32000)),0,10); // Build the header $header = "POST $path HTTP/1.0\r\n"; $header.= "Host: $host\r\n"; $header.= "Content-type: multipart/form-data, boundary=$boundary\r\n"; $data.="--$boundary\r\n"; $data.= "Content-Disposition: form-data; name=\"".$index."\"\r\n"; $data.= "\r\n".$value."\r\n"; $data.="--$boundary\r\n"; // and attach the file $data.= "--$boundary\r\n"; \r\n"; //$content_file = join("", file("./up/".$file_name)); $content_file = join("", file($filexx)); $data.="content-disposition: form-data; name=\"file1\"; filename=\"$file_namexx\"; $data.= "Content-Type: $content_type\r\n\r\n"; $data.= "".$content_file."\r\n"; $data.="--$boundary--\r\n"; $header.= "Content-length: ". strlen($data). "\r\n\r\n"; // Open the connection WEB PHP Solution 6 SMSMANIA

$f = fsockopen($host, $port); if(!$f){ else{ return "err_socket"; fputs($f,$header.$data); while (!feof($f)) $result.= fread($f,32000); // $std_bar = ":header_stop:"; return substr($result,(strpos($result,$std_bar)+strlen($std_bar))); /* 아래부분에서발송처리하시면됩니다. 1회전송은 10,000으로제한 /////////////////// // smsmania 연동아이디를실제사용하시는아이디로변경해주세요 $_array['type'] = "mms"; // 종류 (sms, mms, kukje) $_array['phone'] = "01011111111"; // 수신번호 ( 여러건 보낼때 "01022222222 01033333333 01055555555") $_array['names'] = " 홍길동 "; // 이름 ( 여러건보낼때 " 홍길동 김철수 이순희 ") 치환문자 {name -> 이름과치환 $_array['msg'] = " 메시지입니다."; // 메세지 $_array['userid'] = "smsmania 연동아이디 "; // 아이디 $_array['callback'] = "022223333"; // 회신번호 $_array['appdate'] = "20101202181500"; // 예약 ( 현재시간 10분후부터예약가능 ) $_array['subject'] = " 제목 "; // 제목 $_array['file'] = "/home/file/171/17189.jpg"; // 전송파일 [ 절대경로 ](mms) ( 선택 ) $_array['act'] = "cancel"; // 예약발송취소일경우 ( 발송일경우주석처리 ) $_array['midx'] = ""; // 발송할때리턴받은 midx */ /*sms( 단문 ) 발송일경우 /////////////////////////////////////////////////////////////// $_array['type'] = "sms"; $_array['phone'] = "01011111111"; $_array['names'] = " 홍길동 "; WEB PHP Solution 7 SMSMANIA

$_array['msg'] = " 메시지입니다."; $_array['userid'] = "smsmania 연동아이디 "; $_array['callback'] = "022223333"; $_array['appdate'] = "20101202181500"; */ /* 장문 / 그림발송일경 //////////////////////////////////////////////////////////////////// $_array['type'] = "mms"; $_array['phone'] = "01011111111"; $_array['names'] = " 홍길동 "; $_array['msg'] = " 메시지입니다."; $_array['userid'] = "smsmania 연동아이디 "; $_array['callback'] = "022223333"; $_array['appdate'] = "20101202181500"; $_array['file'] = "/home/file/171/17189.jpg"; // 장문일경우주석처리 $_array['subject'] = " 제목 "; */ /* 예약건취소일경우 ///////////////////////////////////////////////////////////////// $_array['type'] = "mms"; // 종류 (sms, mms, kukje) 예약건의종류입력 $_array['userid'] = ""; $_array['act'] = "cancel"; $_array['midx'] = "00000"; // 발송할때리턴받은 midx */ $return_flg = SocketPost($_array); // 발송일경우 echo($return_flg); // 1 2 1 midx -> 전송요청성공여부 (1: 성공 /0: 실패 ) 전송요청수 수신거부수 midx // 취소일경우 //echo($return_flg); // 1 3 -> 전송요청성공여부 (1: 성공 /0: 실패 ) 취소건수 /* 지원파일 mms : jpg (200k 제한 ) WEB PHP Solution 8 SMSMANIA

* 필수항목 요청변수 설명 참고사항 userid 문자매니아아이디 본인아이디 type 문자종류 단문 : sms / 장문, 그림문자 : mms phone 수신번호 ( 받는사람번호 ) 숫자만입력 ( 예 : 01011112222 ) callback 발신번호 ( 보내는사람번호 ) 숫자만입력 ( 예 : 01011112222 ) msg 메시지내용 msg값에 {name 입력시이름자동치환 appdate 예약전송날짜 현재시간기준 10분이후예약발송가능 names 이름 받는사람이여러명일경우 로구분 subject 제목 장문일경우만가능 (60Byte 제한 ) act cancel 예약발송취소일경우에만사용, 예약취소시필수값 midx 발송시리턴받은 midx 예약발송취소일경우에만사용, 예약취소시필수값 phone : 받는사람이여려명일경우 로구분. ( 예 : "01022222222 01033333333 01055555555") 잘못된전화번호인경우전송되지않습니다. msg : 단문 90byte( 한글 45자 ), 장문 2000byte( 한글 1000자 ) 까지만전송가능합니다. 해당크기가초과될경우, 발송은성공하지만실패처리되니주의하세요다른문자케릭터셋은반드시 euc-kr로변환하셔야합니다. appdate : 값이없으면즉시전송, 예약일자입력시예약전송숫자만입력 ( 예 : 20141231101000 ) : 2014년 12월 31일 10시 10분 00초 names : ( 예 : 홍길동 김철수 이순신 ) 다른문자케릭터셋은반드시 euc-kr로변환하셔야합니다. subject : 60byte( 한글 30자 ) 제한다른문자케릭터셋은반드시 euc-kr로변환하셔야합니다. act : 예약취소는예약 10분전까지만가능합니다. 기본값 : cancel midx : 예약발송취소일경우필수항목, 발송메시지고유키값 WEB PHP Solution 9 SMSMANIA

Error Code 에러코드 invalid_appdate deny_host invalid_member invalid_request empty_phone not_enough_point get_fail sms_max_msg over_size err_soket err_copy not_ext err_ext 에러메시지예약날짜오류호스트거부없는회원메시지내용, 발신번호가없을때수신전화번호가없을대포인트부족소켓통신오류단문 90byte 초과파일사이즈오류파일이동소켓오류파일 copy 오류파일없음미지원파일포맷 자주묻는질문 Q1. 연결이되지않고접속거부혹은네트워크관련오류가날경우 A. 설명된에러코드외의에러메시지일경우 80 포트로통신이가능한지웹서버방화벽 설정을확인하시길바랍니다. Q2. host deny 메시지일경우 A. 서비스중인웹서버의 IP 가허용 IP 로등록이제대로되었는지확인하시길바랍니다. WEB PHP Solution 10 SMSMANIA

Q3. 2. 서버아이피확인이어려우신경우 - 리눅스 : ifconfig -a grep "inet " grep "Bcast:" awk '{print $2' awk -F: '{print $2' - 윈도우 : cmd > ipconfig 위방법으로정확치않거나호스팅사용중이시면시스템관리자나호스팅업체에문의해서확인해야합니다. Q4. invalid-member 메시지일경우 A. userid 값을제대로입력했는지또는본인문자매니아아이디가맞는지확인하시길바랍니다. Q5. 결과값이 0 이거나문자가도착하지않는경우 A. 수신번호 (phone) 가올바른지메시지 (msg) 에이상이없는지확인하시길바랍니다. Q6.. 테스트문자발송시문자내용이깨지거나? 로표시된경우 A. 전송하는메시지의캐릭터셋이 euc-kr이어야하며, utf-8 인경우캐릭터셋을변경해서보내야합니다. 기타 euc-kr에서지원하지않는문자는핸드폰에서지원하지않으므로보내실수없습니다. 예 ) 뷁, 셑 Q7.. 수신결과조회방법 A. 현재수신결과조회방법은사이트내예약 / 전송관리를통해서확인이가능합니다. 연동을통한수신결과확인은차후에지원할예정입니다. Q8.. 단문메시지가 90Byte 가넘은경우 A. 발송이실패처리됩니다. 반드시메시지크기가 90Byte 이하인지확인후전송하셔야 합니다. Q8.. 장문메시지가 2,000Byte 가넘은경우 A. 발송이실패처리됩니다. 반드시메시지가 2,000Byte 이하인지확인후전송하셔야 합니다. Q9.. MMS 전송시이미지첨부기능 A. php 만지원가능합니다. 지원가능한확장자 : jpg (200k 제한 ) Q10. 포인트결제후불제 A. 현재후불제는지원하지않고있습니다. 선불충전만지원합니다. WEB PHP Solution 11 SMSMANIA