발송

템플릿 변수

수신자별 값과 공통 값을 템플릿의 #{변수} 자리에 채우는 방법과 우선순위.

템플릿에 #{이름} 처럼 적어 둔 자리를 수신자마다 다른 값으로 채웁니다. 채우는 자리는 두 곳이고, 겹치면 규칙이 하나 있습니다.

두 자리

  • recipients[].variables — 수신자별 값. 이름·주문번호처럼 사람마다 다른 것.
  • variables (요청 최상위) — 전 수신자 공통 값. 회사명·행사명처럼 모두에게 같은 것.

예시

아래 요청은 두 사람에게 각자의 이름·주문번호를 넣어 보내면서, 회사명은 한 번만 적습니다.

{
  "channelId": "@우리브랜드",
  "templateCode": "TPL_ORDER_01",
  "variables": {
    "회사명": "타이탄즈"
  },
  "recipients": [
    {
      "phone": "01012345678",
      "variables": { "이름": "김철수", "주문번호": "A-1001" }
    },
    {
      "phone": "01098765432",
      "variables": { "이름": "이영희", "주문번호": "A-1002" }
    }
  ]
}

키 이름

키는 템플릿에 적힌 변수명 그대로입니다. 템플릿이 #{이름} 이면 키도 이름 입니다 — 중괄호나 # 는 빼고 안쪽 글자만 씁니다. 한글 키가 그대로 들어가므로 JSON 을 만들 때 인코딩에 주의하세요.

채우지 못한 변수

템플릿에 있는 변수 중 값이 오지 않은 것이 있으면 접수가 6905 로 거절됩니다. 빈 문자열로라도 채워 보내지 말고, 정말 비워야 한다면 그 자리가 없는 템플릿을 따로 쓰는 편이 안전합니다 — 알림톡은 승인된 템플릿과 다른 내용이 나가면 채널 자체가 제재를 받을 수 있습니다.

큰 목록을 보낼 때

수신자별 값이 다르면 recipients 배열이 그만큼 커집니다. 수만 건을 한 요청에 담기보다 적당한 크기로 나눠 여러 번 접수하는 편이 안전합니다 — 요청 하나가 실패했을 때 다시 보낼 범위가 작아지고, 각 접수의 groupId 로 진행 상황을 나눠 볼 수 있습니다.