Programmable Messaging

Programmable Messaging (SMS)

고객에게 알림 SMS를 보내야 하는데, 캐리어(통신사)별로 연동하는 건 여간 번거로운 일이 아니에요. Twilio의 Programmable Messaging은 그런 고민을 하나의 REST API로 줄여주는 제품이에요. SMS·MMS·RCS·WhatsApp처럼 채널이 달라도 같은 Message 리소스로 보내면 되고, 전화번호를 사거나 이전한 뒤 메시지를 생성하면 끝이에요.

출처: Twilio 공식 문서 — Programmable Messaging

이 제품이 하는 일

Programmable Messaging은 SMS·MMS·RCS·WhatsApp 등 고객이 선호하는 채널로 하나의 API를 통해 메시지를 보내고 받게 해줘요. SMS는 앱이나 인터넷 연결 없이 도달하고 열람률이 가장 높은 채널이에요. 코드 한 조각으로 첫 메시지를 보내는 것부터 시작해서, 예약 알림·인증(2FA/OTP)·주문 상태 알림 같은 유스케이스까지 폭넓게 쓸 수 있어요.

가장 기본적인 흐름은 이렇게 돼요.

  1. Twilio 전화번호를 사거나 기존 번호를 Twilio로 포팅(이전)해요.
  2. Programmable Messaging REST API로 메시지를 생성해요.
  3. Twilio가 수신자에게 메시지를 전송해요.

기본 예시로 Node.js SDK를 보면, accountSidapiKey, 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 messagePOST /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)·폴백·상태 콜백을 한데 관리할 수 있어요.
  • 콘텐츠 템플릿 — 반복 메시지는 콘텐츠 템플릿 빌더로 재사용해요.
  • 사기 방지 — 메시징 사기 방지 가이드로 이상 트래픽을 예방해요.

더 알아보기