ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PHP 문자 API 기능 구현하기
    PHP 2019. 1. 19. 15:17
    2018년 12월 외주로 요청받은 쇼핑몰 홈페이지에 문자 전송 기능을 추가했던 작업 기록이다.

    해당 쇼핑몰은 CentOS6.8에 Nginx+PHP+MySQL 구조로 이루어져 있는 상태이고

    DB에 테이블을 추가하는 작업을 선호하지 않아 문자전송에 대한 기능을 Agent가 아닌 API로 처리해야 했다.


    명확한 요구사항은 다음과 같이 정리가 되었다.

    1) 발신번호 사전등록 가능
    2) 문자전송 실패에 대한 환불처리 가능
    3) 광고문자 전송 기능
    4) DB 테이블 추가가 불가하니 API 방식으로 구현
    5) 개인정보 보호차원에서 Network Sniffing 방지를 위해 TLS 통신을 기반으로 하는 서비스 이용

    클라이언트로부터 위의 사항들을 전달받고 요구사항을 충족할 수 있는 문자 API 서비스를 제공하는 업체들을 물색하였고 

    최종 B사와 P사의 서비스를 후보에 놓고 실제 스트레스 테스트와 기술지원 파트의 직원들과 통화를 통해 최종선정을 진행하였다. 

    B사와 P사의 기술적 차이는 문자 전송 기능 구현이  Soap방식이냐 API 방식이냐였는데 사실 Soap를 사용해 본 적이 없었기에 

    익숙하지 않아 테스트하면서 API 방식을 더 쉽고 편하게 구현할수 있었다. 


    스트레스 테스트단위에서 고려했던 점은 실제 전송에 도달하는 시간과 클라이언트의 요구사항을 충족하는지가 중점이었고

    결국 팝빌이라는 곳에서 제공하는 문자 API를 클라이언트와 상의하여 결정하였다. 

    B사는 바로빌이라는 서비스 업체였는데, 사이트 UI나 API 서비스의 프로세스들이 팝빌이라는 서비스와 유사했지만, 

    기술지원 직원들의 태도나 영업담당자가 상담을 대하는 자세가 뭔가 더 적극적이고 프로페셔널?한 느낌이었다. (지극히 주관적인 관점에서)


    업체선정을 완료하고 실제 기능구현에는 점심을 먹고 화장실 가기 전까지였으니.. 대략 20분 정도 소요되었다. 

    팝빌에서 제공하는 문자 API 기능 구현은 크게 다음과 같은 과정으로 진행하였다

    1) 제공된 소스코드 서버에 업로드

    2) 예제코드 수정하여 기능 페이지 작성

    3) 테스트 후 배포 

    예제샘플 코드에 사용할 함수와 파라미터에 대한 주석이 설명되어 있어 어려움이 없다.

    팝빌 기술지원 파트에서는 SDK라고 명명하는 PHP 예제 샘플 코드를 다운로드 할 수 있도록 제공하고 있다.

    github에도 해당 코드가 공개되어있는데, 대체 무슨 공을 이리도 쏟는지는 모르겠지만, 

    commit 로그를 보니 2015년 전부터 최근까지 꾸준히 코드를 수정해온 커밋 로그가 있다. 

    (주소 : https://github.com/linkhub-sdk/popbill.sdk.example.php5 )




    ( https://github.com/linkhub-sdk/popbill.sdk.example.php5/commits/master ) 

    문자전송 기능을 샘플로 제공하는 코드는 아래와 같다.

    클라이언트의 사업자 번호를 입력하고 전송할 문자전송 정보를 기재하고 해당 PHP코드를 호출시키도록 구현만 해주면 된다.

    해당 페이지에 HTTP Post 파라미터로 전송할 문자전송 메시지와 수신자명 정도만 입력받아 함수를 호출하도록 구현했다.

    정말 한게 별로 없어서 클라이언트가 고맙다고 할때 사실 양심에 찔리기도 했다.



    문자 API 중에 또 하나 쓸만했던게 전송내역에 대한 UI를 출력할 수 있는 URL 반환 함수가 쓸만했다. 



    바쁜시간 쪼개서 PHP 홈페이지에 이것저것 기능을 구현하는 개발자들에게는 최적의 서비스가 아닐까 싶다. 

    도입을 검토해보고자 하는 개발자들은 https://www.popbill.com/ 에서 한번 살펴봐보길 추천한다. 


    'PHP' 카테고리의 다른 글

    전자세금계산서 API 구현하기 - PHP  (0) 2019.05.28
Designed by Tistory.