Fallback 메시지(대체발송)
Fallback은 1차 채널 발송 실패 시 대체 채널로 자동 전환하는 기능입니다.
핵심은 요청 본문의 messageFlow 필드입니다. messageFlow는 Array 형태로 메시지 객체를 순서대로 담고, 앞 순서 메시지가 실패하면 다음 순서 메시지로 자동 대체 발송(Fallback)됩니다.
채널이 달라도 같은 /api/omni 경로를 사용하는 이유는, 채널별 차이를 URL이 아니라 messageFlow 내부 규격으로 구분하도록 설계했기 때문입니다.
즉, 비즈고의 통합 메시지 모델(omni)에서 메시지 조합과 우선순위를 요청 본문으로 제어합니다.
Fallback 동작 예시
예시 1
자동 대체 순서알림톡
SMS
요청 예시
{
"destinations": [{ "to": "01000000000" }],
"messageFlow": [
{ "alimtalk": { "msgType": "AT", "text": "주문 안내 메시지입니다." } },
{ "sms": { "from": "01000000000", "text": "알림톡 대체 문자입니다." } }
]
}예시 2
자동 대체 순서알림톡
RCS
LMS
요청 예시
{
"destinations": [{ "to": "01000000000" }],
"messageFlow": [
{ "alimtalk": { "msgType": "AT", "text": "안내 메시지입니다." } },
{ "rcs": { "serviceType": "RCS", "msgType": "RS", "content": { "description": "RCS 대체 메시지입니다." } } },
{ "mms": { "from": "01000000000", "subject": "대체 안내", "text": "RCS 실패 시 LMS 대체 발송입니다." } }
]
}동작 흐름
TEXT
[요청 시작: /api/omni]
|
v
[messageFlow[0] 1순위 발송]
| 성공 -----------------> [발송 완료]
| 실패
v
[messageFlow[1] 2순위 발송]
| 성공 -----------------> [발송 완료]
| 실패
v
[messageFlow[2] 3순위 발송]
| 성공 -----------------> [발송 완료]
| 실패
v
[최종 실패 처리]
예시 전략
- 알림톡 실패 시 SMS로 전환
- 알림톡 실패 후 RCS 재시도, 실패 시 LMS로 전환
설계 권장사항
- 전환 조건(실패 코드/시간 초과)을 명확히 정의합니다.
- 채널별 템플릿 길이와 치환 변수를 사전에 맞춰둡니다.
- 중복 발송 방지를 위해 동일 메시지 키의 멱등 처리를 적용합니다.
messageFlow설계 기준은 문자메시지 규격과 함께 확인하는 것을 권장합니다.