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

    Class PushReservationClient

    푸시 예약 메시지 클라이언트

    푸시 예약 메시지 기능을 제공합니다. 예약 발송 생성, 조회, 수정, 삭제 등의 기능을 포함합니다.

    const client = new PushReservationClient({ accessKeyId, secretAccessKey });
    const result = await client.createReservation("client-1", {
    schedules: ["2024-12-25T09:00:00+09:00"],
    isLocalTime: false,
    target: { type: "ALL" },
    content: { default: { title: "크리스마스 이벤트", body: "특별 할인!" } },
    messageType: "NOTIFICATION"
    });
    // { reservation: { reservationId: 123, reservationIdString: "123" } }
    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<CreatePushScheduleResponse>

      생성된 스케줄 목록

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

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.createSchedule("client-1", {
      type: "EVERY_WEEK",
      fromDate: "2024-01-01",
      toDate: "2024-03-31",
      times: ["09:00", "18:00"],
      daysOfWeek: ["MONDAY", "FRIDAY"]
      });
      // { schedules: ["2024-01-01T09:00:00+09:00", "2024-01-01T18:00:00+09:00", ...] }
    • 예약 메시지를 생성합니다.

      지정된 시간에 발송될 예약 메시지를 생성합니다.

      Parameters

      Returns Promise<CreatePushReservationResponse>

      생성된 예약 정보

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

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.createReservation("client-1", {
      schedules: ["2024-12-25T09:00:00+09:00"],
      isLocalTime: false,
      target: { type: "TAG", to: "VIP && !DORMANT" },
      content: { default: { title: "VIP 전용 혜택", body: "지금 확인하세요!" } },
      messageType: "NOTIFICATION"
      });
      // { reservation: { reservationId: 123, reservationIdString: "123" } }
    • 예약 메시지 목록을 조회합니다.

      생성된 예약 메시지 목록을 조회합니다.

      Parameters

      Returns Promise<ListPushReservationsResponse>

      예약 메시지 목록 및 총 개수

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

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.listReservations("client-1", {
      reservationStatus: "RESERVED",
      deliveryFrom: "2024-01-01T00:00:00+09:00",
      deliveryTo: "2024-12-31T23:59:59+09:00",
      pageIndex: 0,
      pageSize: 25
      });
      // { reservations: [{ reservationId, reservationStatus, ... }], totalCount: 10 }
    • 예약 메시지 단건을 조회합니다.

      특정 예약 ID의 상세 정보를 조회합니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • reservationId: number

        예약 ID

      Returns Promise<GetPushReservationResponse>

      예약 메시지 상세 정보

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

      AccessDeniedException API 호출 권한이 없는 경우

      NotFoundException 해당 예약을 찾을 수 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.getReservation("client-1", 123);
      // { reservation: { reservationId: 123, reservationStatus: "RESERVED", ... } }
    • 예약 메시지를 수정합니다.

      아직 발송되지 않은 예약 메시지의 내용을 수정합니다.

      Parameters

      Returns Promise<void>

      void

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

      AccessDeniedException API 호출 권한이 없는 경우

      NotFoundException 해당 예약을 찾을 수 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      await client.updateReservation("client-1", 123, {
      schedules: ["2024-12-26T10:00:00+09:00"],
      content: { default: { title: "수정된 제목", body: "수정된 내용" } }
      });
    • 예약 메시지를 삭제합니다.

      하나 이상의 예약 메시지를 삭제합니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • reservationIds: number[]

        삭제할 예약 ID 목록

      Returns Promise<void>

      void

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

      AccessDeniedException API 호출 권한이 없는 경우

      NotFoundException 해당 예약을 찾을 수 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      await client.deleteReservations("client-1", [123, 456, 789]);
      

    Properties

    API 인증 크레덴셜