문자 메시지 발송 예약하기

Sendon SDK는 메시지 전송 예약 기능을 제공하여 특정 시간에 메시지를 발송할 수 있도록 지원합니다.

예약 전송은 고객에게 필요한 정보를 적시에 제공할 수 있는 유용한 도구로, 특히 마케팅 캠페인, 예약 알림, 시간대별 공지 등에 효과적으로 활용됩니다.


예약 요청

예약 메시지를 설정하여 특정 시간에 발송하는 방법은 다음과 같습니다.
예약 시간은 ISO 8601 형식의 시각 을 사용해야 하며, 이는 국제 표준 시간대로 설정된 시간을 의미합니다. 이를 통해 시간대에 관계없이 정확한 발송을 보장할 수 있습니다.

const result = await sendon.sms.send({
  type: SmsMessageType.SMS,
  from: SENDON_EXAM_SMS_FROM_PHONE,
  to: [SENDON_EXAM_SMS_TO_PHONE],
  message: '예약 단문 메시지를 테스트 합니다.',
  reservation: {
    datetime: new Date(Date.now() + 1 * 10 * 60 * 1000).toISOString(),
  },
})
Sendon sendon = Sendon.getInstance(USER_ID, USER_APIKEY);

Reservation reservation = new Reservation("2080-03-21 00:00:00");
SendSms sendSms = sendon.sms.sendSms(new SmsBuilder()
                            		.setFrom(SMS_MOBILE_FROM)
                                .setTo(Arrays.asList(SMS_MOBILE_TO))
                                .setMessage("Hello, World!")
                                .setReservation(reservation)
                                .setIsAd(true));

예약 메시지 주요 필드 설명

필드설명예제
reservation.datetime예약 시각 (UTC 또는 LocalTime)"2025-02-20 19:00:00Z" (UTC), "2025-02-20 19:00:00+09:00" (LocalTime)

예약 메시지 결과 조회

메시지 발송 요청이 성공적으로 완료되면 아래와 같이 고유한 ID를 리턴받게 됩니다.
이 ID를 이용해 전송 결과를 조회할 수 있습니다. 전송 결과 조회 방법은 아래 문서를 참고하세요.

🔗 문자 메시지 전송 결과 조회

{
    "code": 200,
    "message": "성공",
    "data": {
        "groupId": "84db8cbb-db70-4e68-8ee7-c37704787e0d"
    }
}

❗️ 주의 사항

  • 예약 시간은 현재 시간으로부터 최소 30분 이후로 설정해야 합니다.
  • 예약 시간은 반드시 ISO 8601 형식을 따라야 합니다.
  • 발송이 이미 진행된 메시지는 취소할 수 없습니다.
  • 예약된 발송 시각 10분 전까지만 취소 가능합니다.

자세한 코드 예제는 아래 문서를 참고하세요.

🔗 SDK SMS 예약 발송 가이드


예약 취소

예약된 메시지를 취소하려면 groupId를 사용하여 취소 요청을 보냅니다.

let result = await sendon.sms.send({
  type: SmsMessageType.SMS,
  from: SENDON_EXAM_SMS_FROM_PHONE,
  to: [SENDON_EXAM_SMS_TO_PHONE],
  message: '단문 메시지(SMS)는 간단한 알림, 인증 코드 전송, 마케팅 메시지 등 다양한 용도로 활용될 수 있습니다',
  reservation: {
    datetime: new Date(Date.now() + 1 * 10 * 60 * 1000).toISOString(),
  },
})

result = await sendon.sms.cancel(result.data.groupId)
Sendon sendon = Sendon.getInstance(USER_ID, USER_APIKEY);

Reservation reservation = new Reservation("2080-03-21 00:00:00");
SendSms sendSms = sendon.sms.sendSms(new SmsBuilder()
                            		.setFrom(SMS_MOBILE_FROM)
                                .setTo(Arrays.asList(SMS_MOBILE_TO))
                                .setMessage("Hello, World!")
                                .setReservation(reservation)
                                .setIsAd(true));

// 예약된 메시지의 groupId 를 가지고 취소
CancelGroup cancelGroup = sendon.sms.cancelGroup(sendSms.data.groupId);

예약 취소 요청 주요 필드

필드설명필수여부
groupId메시지 발송 요청에 대한 고유 ID필수

예약 취소 결과

예약된 메시지가 성공적으로 취소되면 아래와 같은 응답을 받습니다.
취소된 예약을 구분하기 위해 응답에 groupId가 함께 전달됩니다.

{
    "code": 200,
    "message": "성공",
    "data": {
        "groupId": "84db8cbb-db70-4e68-8ee7-c37704787e0d"
    }
}

자세한 코드 예제는 아래 문서를 참고하세요.

🔗 SDK SMS 예약 발송 취소 가이드