1. Twilio란?
Web 또는 App에서 SMS 텍스트메세지, 전화걸기, 영상통화 등을 할 수 있게 도와주는 API입니다.
사용자의 전화번호를 사용하는 것이 아니라, 사용자들에게 Twilio 자체 전화번호를 제공함으로써 개인의 익명성이나 스팸에 노출 될 위험을 줄일 수 있습니다.
Python, PHP, Ruby를 이용해서 구현할 수 있습니다.
2. TwiML
TwiML은 Twilio에 SMS 처리 방법을 알려 주는 XML을 기반으로 한 명령 집합입니다.

위와 같은 명령 집합이 있으며 여기서는 SMS에 대해서 중점적으로 알아보도록 하겠습니다.
지금까지 Twilio와 TwiML에 대해서 알아보았습니다. 다음으로 Twilio 라이브러리를 사용하도록 애플리케이션을 구성하는 법을 알려드리도록 하겠습니다.
3. 기본 설정하기
3-1) Twilio 계정 만들기

회원가입을 완료하면 아래와 같이 twilio에서 제공하는 전화번호와 ACCOUNT SID, AUTH TOKEN 값을 각각 확인할 수 있습니다.


3-2) 라이브러리 설치하기
먼저 Twilio 라이브러리를 pip 패키지로 설치합니다.
설치를 한 후에는 다음과 같이 라이브러리를 import 할 수 있습니다.
4. SMS 보내기
지금부터는 실제로 SMS 보내는 과정을 보여드리겠습니다.
python에서 아래와 같이 코드를 작성하면 메세지를 보낼 수 있습니다.
실행하기 전에 https://www.twilio.com/console/sms/settings/geo-permissions 사이트에 접속하셔서 보내고자 하는 나라에 체크가 되어있는지 확인하셔야합니다.

위 사진을 보시면 Korea Republic of (+82)에 체크가 되어있습니다.
모든 준비가 완료되었다면 이제 실행하시면 됩니다.

왼쪽화면은 python에서 위에서 작성한 코드를 적은 것이고 오른쪽 화면은 왼쪽화면을 실행했을 때 성공했다고 뜨는 화면입니다.

실제로 메세지가 전송된 화면입니다.
twilio는 기본 값으로 미국전화번호를 주기때문에 국외발신으로 뜨는 상황입니다.
한국전화번호를 쓰고 싶으면 추가로 달러를 지불해야하기 때문에 어떤 상황에 쓰는지에 따라서 유동적으로 이용하시면 좋을 것 같습니다.
하지만 현재 한국 전화번호는 SMS 중 음성메세지, 팩스만 가능하기때문에 텍스트 메세지는 미국전화번호를 이용해야합니다.
하지만 후에 한국전화번호를 이용해서 텍스트 메세지 전송도 가능해질 수 있기때문에 미리 알아두면 유용하다고 생각합니다.