SMS 로 회원들에게 문자를 발송할 일이 생겼다.
회원들이 국내한정이면 상관이 없는데, 해외에 거주하는 회원들도 다수가 존재....
검색해보니 plivo.com 이 가장 마음에 들었다.
이것저것 기능이 많았다.
INBOUND SMS, 다자간 통화, 그리고 200개 나라의 SMS 전송
INBOUND SMS 는 생소했는데, 번호를 plivo 에서 구매해두면,
그 번호로 문자가 수신되면 지정해둔 콜백URL 로 데이터를 쏴준다.
가격도 비싸지 않았다.
INBOUND 서비스를 받기 위해서는 번호를 구매해야 하는데, 미국번호의 경우 월 0.8$ 정도이고, 한국번호는 좀 비싸다. 월 8,000원 정도..
OUTBOUND 는 번호를 굳이 구매하지 않아도, 보낼수 있는데, 그렇게 보내면 006으로 시작하는 번호로 문자가 온다.
그리고, 사용자 휴대폰에는 [국외문자] 라고 표시된다.
한국으로 문자 발송은 0.0.35$
미국으로 문자 발송은 꽤 쌌다.
plivo.com 회원가입 화면
회원가입할때 휴대폰번호를 넣게 되어있는데,
저기서 입력한 번호로 인증코드가 날아오고, 해당 폰 번호는 sandbox number 가 된다.
회원가입하자마자 임시로 쓸수 있는 약간의 크레디트 (3$ 인지 5$ 인지 기억이 나질 않음) 가 충전되어있고, sandbox number 로 문자를 테스트할수 있다.
sandbox number 는 추가할수있다.
API 예제소스도 JAVA, RUBY, C, PERL, PHP 등을 지원해준다.
PHP 는 SDK 를 다운받아서 쓰려면 composer 를 지원하는 버전이어야 한다.
물론, 다운 안 받음 -_-.
문자 보내려고 굳이 SDK 전체를 다운받아서 쓴다는게 내키지 않음 ㅎㅎㅎ.
trial 회원상태에서는 sandbox number 로만 문자를 보낼수있고, 카드번호를 넣고 25$를 충전하면 그때부터는 정상적으로 서비스를 쓸수 있는 상태가 된다.
영어가 짧아서 Account 와 Message 사이에 AUTH ID 를 넣어야 되는지 몰라서... 좀 헤맴...
문자 보낼 용도로만 간단히 함수 하나 만들어서 현재 운영중인 사이트에 붙여서 테스트해서 잘 작동해서 실서비스로 넘겼다.
API 연동은 JSON 포맷으로만 지원한다.
그리고 BASIC AUTH 을 사용한다.
아래는 소스.... (username 은 plivo.com 에서 AUTH ID 이며, password 라고 적어둔건, AUTH TOKEN 이다)
<?php $username = 'xxxxxxxx'; $password = 'xxxxxxxx'; if (!$src) $src = '123456789'; $post = array('src'=>$src, 'dst'=>$dest, 'text'=>$msg); $post = json_encode($post); $host = "https://api.plivo.com/v1/Account/{$username}/Message/"; $process = curl_init($host); curl_setopt($process, CURLOPT_HEADER, 0); curl_setopt($process, CURLOPT_HTTPHEADER,
array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password); curl_setopt($process, CURLOPT_TIMEOUT, 30); curl_setopt($process, CURLOPT_POST, 1); curl_setopt($process, CURLOPT_POSTFIELDS, $post); curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE); $return = curl_exec($process); curl_close($process); return $return; ?>
'Computer > PHP' 카테고리의 다른 글
fail2ban 설치하려다 귀찮아서 php 쉘 스크립트 하나 맹금. (0) | 2018.06.21 |
---|---|
413 Request Entity Too Large (0) | 2015.06.21 |
nginx php-fpm header location not working (0) | 2015.06.15 |
LG 유플러스 Smart X-Pay 연동시 오류 (0) | 2014.02.06 |
443번 포트가 아닌 포트일때 로그인,글쓰기 안되는 사람이 있다. (3) | 2013.05.07 |