Programmable Messaging
Programmable Messaging (SMS)
고객에게 알림 SMS를 보내야 하는데, 캐리어(통신사)별로 연동하는 건 여간 번거로운 일이 아니에요. Twilio의 Programmable Messaging은 그런 고민을 하나의 REST API로 줄여주는 제품이에요. SMS·MMS·RCS·WhatsApp처럼 채널이 달라도 같은 Message 리소스로 보내면 되고, 전화번호를 사거나 이전한 뒤 메시지를 생성하면 끝이에요.
이 제품이 하는 일
Programmable Messaging은 SMS·MMS·RCS·WhatsApp 등 고객이 선호하는 채널로 하나의 API를 통해 메시지를 보내고 받게 해줘요. SMS는 앱이나 인터넷 연결 없이 도달하고 열람률이 가장 높은 채널이에요. 코드 한 조각으로 첫 메시지를 보내는 것부터 시작해서, 예약 알림·인증(2FA/OTP)·주문 상태 알림 같은 유스케이스까지 폭넓게 쓸 수 있어요.
가장 기본적인 흐름은 이렇게 돼요.
- Twilio 전화번호를 사거나 기존 번호를 Twilio로 포팅(이전)해요.
- Programmable Messaging REST API로 메시지를 생성해요.
- Twilio가 수신자에게 메시지를 전송해요.
기본 예시로 Node.js SDK를 보면, accountSid와 apiKey, apiSecret으로 클라이언트를 만든 뒤 client.messages.create()를 호출해요. from에는 보내는 Twilio 번호, body에는 메시지 내용, to에는 수신자 번호를 넣어요.
client.messages
.create({ from: '+15557122661', body: 'Ahoy, world!', to: '+15558675310' })
.then(message => console.log(message.sid));
채널별 특징
- SMS / MMS — 문자와 미디어 메시지를 코드로 주고받아요. SMS가 가장 기본이고, MMS는 이미지 같은 미디어를 담아요.
- RCS — 브랜드 명의로 풍부한 콘텐츠(카드·캐러셀)와 읽음 확인을 지원하는 차세대 채널이에요. 전화번호가 아니라 브랜드에서 보내는 형태예요.
- WhatsApp — SMS보다 많은 콘텐츠 타입과 종단간 암호화를 지원해요.
- Facebook Messenger (공개 베타) — 지속 대화와 다양한 콘텐츠 타입을 지원해요.
API 레퍼런스 포인트
메시지 조작은 모두 Message 리소스를 통해 이뤄져요.
- Create a new message —
POST /2010-04-01/Accounts/{AccountSid}/Messages.json으로 새 메시지를 만들어요. - Return a list of messages — 메시지 목록을 조회해요.
- Delete a message — 메시지를 삭제해요.
- Media subresource — MMS의 미디어 첨부를 다루는 서브리소스예요.
- Rich content API — RCS·WhatsApp의 풍부한 콘텐츠(카드·캐러셀)를 위한 API예요.
운영 시 알아두면 좋은 점
- A2P 10DLC / TFN 검증 — 미국에서 앱→개인(P2P 아님) 문자를 보내려면 A2P 10DLC(10자리 길이코드)와 무료번호(Toll-Free) 검증 규제를 준수해야 해요.
- Messaging Services — 메시지를 대량으로 보내고 확장할 땐 Messaging Services로 발신자 풀(pool)·폴백·상태 콜백을 한데 관리할 수 있어요.
- 콘텐츠 템플릿 — 반복 메시지는 콘텐츠 템플릿 빌더로 재사용해요.
- 사기 방지 — 메시징 사기 방지 가이드로 이상 트래픽을 예방해요.