Awesome Message SDK - v0.12.4
    Preparing search index...

    Class SmsClient

    SMS 클라이언트

    SMS, MMS, 인증 SMS, 광고 SMS/MMS 발송 및 조회 기능을 제공합니다. 단문(SMS), 장문(LMS), 멀티미디어(MMS), 인증 메시지, 광고 메시지 등 다양한 유형의 메시지를 발송하고, 대량 발송 내역도 조회할 수 있습니다.

    const client = new SmsClient({ accessKeyId, secretAccessKey });

    // SMS 발송
    const result = await client.sendSms("client-1", {
    sendNo: "15881234",
    recipientList: [{ recipientNo: "01012345678" }],
    body: "안녕하세요! SMS 메시지입니다."
    });

    // MMS 발송
    const mmsResult = await client.sendMms("client-1", {
    sendNo: "15881234",
    title: "이미지 메시지",
    body: "첨부된 이미지를 확인하세요.",
    recipientList: [{ recipientNo: "01012345678" }],
    attachFileIdList: [12345]
    });

    // 메시지 조회
    const messages = await client.listMessages("client-1", {
    startRequestDate: "2024-01-01 00:00:00",
    endRequestDate: "2024-01-31 23:59:59"
    });
    Index

    Constructors

    Methods

    • SendOptions에서 HTTP 헤더를 생성합니다

      Parameters

      Returns Record<string, string>

      생성된 헤더 객체

    • GET 요청

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    Protectedpost

    • post<T>(
          path: string,
          body?: unknown,
          headers?: Record<string, string>,
      ): Promise<T>

      POST 요청

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalbody: unknown

        요청 본문

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • FormData를 사용한 POST 요청 (multipart/form-data)

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • formData: FormData

        undici의 FormData 객체

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • PUT 요청

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalbody: unknown

        요청 본문

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • DELETE 요청

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • DELETE 요청 (body 포함)

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalbody: unknown

        요청 본문

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • SMS 메시지를 발송합니다.

      단문 메시지(SMS) 또는 장문 메시지(LMS)를 발송합니다. 메시지 본문이 90바이트(한글 45자) 이하면 SMS, 초과하면 자동으로 LMS로 발송됩니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • request: SendSmsMessageRequest

        SMS 발송 요청 데이터

      • Optionaloptions: SendOptions

        발송 옵션 (멱등성 키)

      Returns Promise<SendSmsMessageResponse>

      발송 결과 정보 (요청 ID)

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      // 기본 SMS 발송
      const result = await client.sendSms("client-1", {
      sendNo: "15881234",
      recipientList: [
      { recipientNo: "01012345678" },
      { recipientNo: "01087654321", templateParameter: { name: "홍길동" } }
      ],
      body: "안녕하세요! #{name}님, 주문이 완료되었습니다."
      });

      // 예약 발송
      const scheduledResult = await client.sendSms("client-1", {
      sendNo: "15881234",
      recipientList: [{ recipientNo: "01012345678" }],
      body: "예약 메시지입니다.",
      requestDate: "2024-12-31 23:59:59"
      }, {
      idempotencyKey: "unique-key-123"
      });
    • MMS 메시지를 발송합니다.

      멀티미디어 메시지(MMS)를 발송합니다. 이미지, 제목 등을 포함할 수 있습니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • request: SendMmsMessageRequest

        MMS 발송 요청 데이터

      • Optionaloptions: SendOptions

        발송 옵션 (멱등성 키)

      Returns Promise<SendSmsMessageResponse>

      발송 결과 정보 (요청 ID)

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendMms("client-1", {
      sendNo: "15881234",
      title: "이미지 메시지",
      body: "첨부된 이미지를 확인하세요.",
      recipientList: [{ recipientNo: "01012345678" }],
      attachFileIdList: [12345]
      }, {
      idempotencyKey: "mms-key-456"
      });
    • 인증 SMS 메시지를 발송합니다.

      본인 인증용 SMS 메시지를 발송합니다. 광고 문구 제한이 있으며, 특정 키워드(인증, 확인 등)가 포함되어야 합니다.

      Parameters

      Returns Promise<SendSmsMessageResponse>

      발송 결과 정보 (요청 ID)

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendAuthSms("client-1", {
      sendNo: "15881234",
      recipientList: [{ recipientNo: "01012345678" }],
      body: "[인증번호] 123456을 입력하세요."
      });
    • 광고 SMS 메시지를 발송합니다.

      광고성 SMS 메시지를 발송합니다. 메시지 본문에 "(광고)" 문구와 수신거부 번호가 자동으로 추가됩니다.

      Parameters

      Returns Promise<SendSmsMessageResponse>

      발송 결과 정보 (요청 ID)

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendAdSms("client-1", {
      sendNo: "15881234",
      recipientList: [{ recipientNo: "01012345678" }],
      body: "신상품 할인 이벤트! 지금 바로 확인하세요."
      });
      // 실제 발송: "(광고)\n신상품 할인 이벤트! 지금 바로 확인하세요.\n무료수신거부 080XXXXXXX"
    • 광고 MMS 메시지를 발송합니다.

      광고성 MMS 메시지를 발송합니다. 메시지 본문에 "(광고)" 문구와 수신거부 번호가 자동으로 추가됩니다.

      Parameters

      Returns Promise<SendSmsMessageResponse>

      발송 결과 정보 (요청 ID)

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendAdMms("client-1", {
      sendNo: "15881234",
      title: "신상품 출시",
      body: "이미지와 함께 확인하세요!",
      recipientList: [{ recipientNo: "01012345678" }],
      attachFileIdList: [12345]
      });
    • SMS/MMS 메시지 목록을 조회합니다.

      발송된 SMS, LMS, MMS 메시지 목록을 조회합니다.

      Parameters

      Returns Promise<ListSmsMessagesResponse>

      메시지 목록 및 총 개수

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.listMessages("client-1", {
      startRequestDate: "2024-01-01 00:00:00",
      endRequestDate: "2024-01-31 23:59:59",
      msgStatus: "3", // 성공
      pageNum: 1,
      pageSize: 15
      });
      // { header: { isSuccessful: true }, body: { data: { requestList: [...], totalCount: 100 } } }
    • SMS/MMS 메시지 단건을 조회합니다.

      특정 요청 ID와 수신자 시퀀스로 SMS/MMS 메시지 상세 정보를 조회합니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • requestId: string

        요청 ID

      • recipientSeq: number

        수신자 시퀀스

      Returns Promise<GetSmsMessageResponse>

      메시지 상세 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      NotFoundException 해당 메시지를 찾을 수 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.getMessage("client-1", "20240101000000ABC123", 1);
      // { header: { isSuccessful: true }, body: { data: { requestId, recipientSeq, msgStatus, ... } } }
    • SMS 대량 발송 수신자 단건을 조회합니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • requestId: number

        요청 ID

      • recipientSeq: number

        수신자 시퀀스

      Returns Promise<GetSmsBulkRecipientResponse>

      수신자 상세 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      NotFoundException 해당 수신자를 찾을 수 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.getBulkRecipient("client-1", 12345, 1);
      

    Properties

    API 인증 크레덴셜