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

    Class KakaoAlimtalkClient

    카카오 알림톡 클라이언트

    카카오 알림톡 메시지 발송 및 조회 기능을 제공합니다. 일반 메시지, 인증 메시지 발송과 메시지 조회, 결과 조회, 대량 메시지 조회를 지원합니다.

    const kakaoAlimtalkClient = new KakaoAlimtalkClient({
    accessKeyId: 'your-access-key',
    secretAccessKey: 'your-secret-key'
    });

    // 알림톡 대체 발송 메시지 발송
    const sendResult = await kakaoAlimtalkClient.sendAlimtalkSubstituteMessage("my-client-1", {
    senderKey: "SENDER_KEY_123",
    templateCode: "TEMPLATE_001",
    recipientList: [{ recipientNo: "01012345678" }]
    });

    // 알림톡 메시지 목록 조회
    const listResult = await kakaoAlimtalkClient.listAlimtalkMessages("my-client-1", {
    startRequestDate: new Date("2023-01-01T00:00:00+09:00"),
    endRequestDate: new Date("2023-01-31T23:59:00+09:00")
    });
    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>

      응답 데이터

    • 알림톡 대체 발송 메시지를 발송합니다.

      템플릿 코드를 사용하여 대체 발송 방식으로 알림톡 메시지를 발송합니다.

      Parameters

      Returns Promise<SendAlimtalkMessageResponse>

      발송 결과 정보

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

      InvalidSenderKeyException 카카오 알림톡 발신 키가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      // 기본 사용
      const result = await kakaoClient.sendAlimtalkSubstituteMessage("my-client-1", {
      senderKey: "209880bcc4817fc57ba1d5ce69d863d379a1c881",
      templateCode: "TEMPLATE_001",
      recipientList: [{
      recipientNo: "01012345678",
      templateParameter: { name: "홍길동", date: "2023-12-25" }
      }]
      });

      // 멱등성 키 사용
      const result = await kakaoClient.sendAlimtalkSubstituteMessage("my-client-1", {
      senderKey: "209880bcc4817fc57ba1d5ce69d863d379a1c881",
      templateCode: "TEMPLATE_001",
      recipientList: [{ recipientNo: "01012345678" }]
      }, {
      idempotencyKey: "unique-key-123"
      });
    • 알림톡 전문 발송 메시지를 발송합니다.

      템플릿 치환 없이 전문 그대로 발송하는 방식으로 알림톡 메시지를 발송합니다.

      Parameters

      Returns Promise<SendAlimtalkMessageResponse>

      발송 결과 정보

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

      InvalidSenderKeyException 카카오 알림톡 발신 키가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await kakaoClient.sendAlimtalkRawMessage("my-client-1", {
      senderKey: "209880bcc4817fc57ba1d5ce69d863d379a1c881",
      templateCode: "TEMPLATE_001",
      recipientList: [{
      recipientNo: "01012345678",
      content: "안녕하세요, 홍길동님.\n주문하신 상품이 2023-12-25에 배송됩니다."
      }]
      });
    • 알림톡 메시지 목록을 조회합니다.

      다양한 조건으로 알림톡 메시지 발송 내역을 조회합니다.

      Parameters

      Returns Promise<ListAlimtalkMessagesResponse>

      메시지 목록 및 총 개수

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

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await kakaoClient.listAlimtalkMessages("my-client-1", {
      startRequestDate: new Date("2023-01-01T00:00:00+09:00"),
      endRequestDate: new Date("2023-01-31T23:59:00+09:00"),
      pageNum: 1,
      pageSize: 20
      });
      // result: { messages: [{ requestId: "MSG123", recipientSeq: 1, senderKey: "SENDER_KEY", templateCode: "TEMPLATE_001", messageStatus: "COMPLETED" }], totalCount: 42 }
    • 알림톡 메시지 단건을 조회합니다.

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

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • requestId: string

        요청 ID

      • recipientSeq: number

        수신자 시퀀스 번호

      Returns Promise<GetAlimtalkMessageResponse>

      메시지 상세 정보

      NotFoundException 메시지가 존재하지 않는 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const message = await kakaoClient.getAlimtalkMessage("my-client-1", "MSG123456", 1);
      // message: { requestId: "MSG123456", recipientSeq: 1, senderKey: "SENDER_KEY", templateCode: "TEMPLATE_001", content: "...", messageStatus: "COMPLETED" }
    • 알림톡 메시지 발송을 취소합니다.

      발송 예약된 메시지를 취소합니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • requestId: string

        요청 ID

      • OptionalrecipientSeq: number

        수신자 시퀀스 번호 (선택, 미입력 시 요청 ID의 모든 발송 건 취소)

      Returns Promise<void>

      NotFoundException 메시지가 존재하지 않는 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      // 요청 ID의 모든 발송 건 취소
      await kakaoClient.cancelAlimtalkMessage("my-client-1", "MSG123456");

      // 특정 수신자만 취소
      await kakaoClient.cancelAlimtalkMessage("my-client-1", "MSG123456", 1);
    • 알림톡 대량 메시지 수신자 단건을 조회합니다.

      특정 대량 발송 요청의 특정 수신자 정보를 조회합니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • requestId: string

        요청 ID

      • recipientSeq: number

        수신자 시퀀스 번호

      Returns Promise<AlimtalkMassRecipient>

      수신자 상세 정보

      NotFoundException 수신자가 존재하지 않는 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const recipient = await kakaoClient.getAlimtalkMassRecipient("my-client-1", "MASS_REQ_123", 1);
      
    • 알림톡 인증 메시지 단건을 조회합니다.

      요청 ID와 수신자 시퀀스 번호로 특정 인증 메시지의 상세 정보를 조회합니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • requestId: string

        요청 ID

      • recipientSeq: number

        수신자 시퀀스 번호

      Returns Promise<GetAlimtalkMessageResponse>

      인증 메시지 상세 정보

      NotFoundException 메시지가 존재하지 않는 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const message = await kakaoClient.getAlimtalkAuthMessage("my-client-1", "AUTH_MSG_123", 1);
      

    Properties

    API 인증 크레덴셜