UNPKG

@line/bot-sdk

Version:
1,184 lines (1,097 loc) 123 kB
/** * This file is autogenerated. * * Generated by scripts/line-bot-client-generator/main.mjs * Do not edit this file directly. */ import type { Readable } from "node:stream"; import type * as Types from "./types.js"; import type * as insight from "./insight/api.js"; import type * as liff from "./liff/api.js"; import type * as manageAudience from "./manage-audience/api.js"; import type * as messagingApi from "./messaging-api/api.js"; import type * as moduleOperation from "./module/api.js"; import type * as moduleAttach from "./module-attach/api.js"; import type * as shop from "./shop/api.js"; export interface LineBotClientDelegates { readonly insight: insight.InsightClient; readonly liff: liff.LiffClient; readonly manageAudience: manageAudience.ManageAudienceClient; readonly manageAudienceBlob: manageAudience.ManageAudienceBlobClient; readonly messagingApi: messagingApi.MessagingApiClient; readonly messagingApiBlob: messagingApi.MessagingApiBlobClient; readonly lineModule: moduleOperation.LineModuleClient; readonly lineModuleAttach: moduleAttach.LineModuleAttachClient; readonly shop: shop.ShopClient; } export abstract class LineBotClientBase { protected abstract readonly clients: LineBotClientDelegates; /** * Retrieves the demographic attributes for a LINE Official Account\'s friends.You can only retrieve information about friends for LINE Official Accounts created by users in Japan (JP), Thailand (TH), Taiwan (TW) and Indonesia (ID). * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-demographic"> Documentation</a> */ public async getFriendsDemographics(): Promise<insight.GetFriendsDemographicsResponse> { return this.clients.insight.getFriendsDemographics(); } /** * Retrieves the demographic attributes for a LINE Official Account\'s friends.You can only retrieve information about friends for LINE Official Accounts created by users in Japan (JP), Thailand (TH), Taiwan (TW) and Indonesia (ID). . * This method includes HttpInfo object to return additional information. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-demographic"> Documentation</a> */ public async getFriendsDemographicsWithHttpInfo(): Promise< Types.ApiResponseType<insight.GetFriendsDemographicsResponse> > { return this.clients.insight.getFriendsDemographicsWithHttpInfo(); } /** * Returns statistics about how users interact with narrowcast messages or broadcast messages sent from your LINE Official Account. * @summary Get user interaction statistics * @param requestId Request ID of a narrowcast message or broadcast message. Each Messaging API request has a request ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-message-event">Get user interaction statistics Documentation</a> */ public async getMessageEvent( requestId: string, ): Promise<insight.GetMessageEventResponse> { return this.clients.insight.getMessageEvent(requestId); } /** * Returns statistics about how users interact with narrowcast messages or broadcast messages sent from your LINE Official Account. . * This method includes HttpInfo object to return additional information. * @summary Get user interaction statistics * @param requestId Request ID of a narrowcast message or broadcast message. Each Messaging API request has a request ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-message-event">Get user interaction statistics Documentation</a> */ public async getMessageEventWithHttpInfo( requestId: string, ): Promise<Types.ApiResponseType<insight.GetMessageEventResponse>> { return this.clients.insight.getMessageEventWithHttpInfo(requestId); } /** * Returns the number of users who have added the LINE Official Account on or before a specified date. * @summary Get number of followers * @param date Date for which to retrieve the number of followers. Format: yyyyMMdd (e.g. 20191231) Timezone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-followers">Get number of followers Documentation</a> */ public async getNumberOfFollowers( date?: string, ): Promise<insight.GetNumberOfFollowersResponse> { return this.clients.insight.getNumberOfFollowers(date); } /** * Returns the number of users who have added the LINE Official Account on or before a specified date. . * This method includes HttpInfo object to return additional information. * @summary Get number of followers * @param date Date for which to retrieve the number of followers. Format: yyyyMMdd (e.g. 20191231) Timezone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-followers">Get number of followers Documentation</a> */ public async getNumberOfFollowersWithHttpInfo( date?: string, ): Promise<Types.ApiResponseType<insight.GetNumberOfFollowersResponse>> { return this.clients.insight.getNumberOfFollowersWithHttpInfo(date); } /** * Returns the number of messages sent from LINE Official Account on a specified day. * @summary Get number of message deliveries * @param date Date for which to retrieve number of sent messages. - Format: yyyyMMdd (e.g. 20191231) - Timezone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-delivery-messages">Get number of message deliveries Documentation</a> */ public async getNumberOfMessageDeliveries( date: string, ): Promise<insight.GetNumberOfMessageDeliveriesResponse> { return this.clients.insight.getNumberOfMessageDeliveries(date); } /** * Returns the number of messages sent from LINE Official Account on a specified day. . * This method includes HttpInfo object to return additional information. * @summary Get number of message deliveries * @param date Date for which to retrieve number of sent messages. - Format: yyyyMMdd (e.g. 20191231) - Timezone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-delivery-messages">Get number of message deliveries Documentation</a> */ public async getNumberOfMessageDeliveriesWithHttpInfo( date: string, ): Promise< Types.ApiResponseType<insight.GetNumberOfMessageDeliveriesResponse> > { return this.clients.insight.getNumberOfMessageDeliveriesWithHttpInfo(date); } /** * You can check the per-unit statistics of how users interact with push messages and multicast messages sent from your LINE Official Account. * @param customAggregationUnit Name of aggregation unit specified when sending the message. Case-sensitive. For example, `Promotion_a` and `Promotion_A` are regarded as different unit names. * @param from Start date of aggregation period. Format: yyyyMMdd (e.g. 20210301) Time zone: UTC+9 * @param to End date of aggregation period. The end date can be specified for up to 30 days later. For example, if the start date is 20210301, the latest end date is 20210331. Format: yyyyMMdd (e.g. 20210301) Time zone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-statistics-per-unit"> Documentation</a> */ public async getStatisticsPerUnit( customAggregationUnit: string, from: string, to: string, ): Promise<insight.GetStatisticsPerUnitResponse> { return this.clients.insight.getStatisticsPerUnit( customAggregationUnit, from, to, ); } /** * You can check the per-unit statistics of how users interact with push messages and multicast messages sent from your LINE Official Account. . * This method includes HttpInfo object to return additional information. * @param customAggregationUnit Name of aggregation unit specified when sending the message. Case-sensitive. For example, `Promotion_a` and `Promotion_A` are regarded as different unit names. * @param from Start date of aggregation period. Format: yyyyMMdd (e.g. 20210301) Time zone: UTC+9 * @param to End date of aggregation period. The end date can be specified for up to 30 days later. For example, if the start date is 20210301, the latest end date is 20210331. Format: yyyyMMdd (e.g. 20210301) Time zone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-statistics-per-unit"> Documentation</a> */ public async getStatisticsPerUnitWithHttpInfo( customAggregationUnit: string, from: string, to: string, ): Promise<Types.ApiResponseType<insight.GetStatisticsPerUnitResponse>> { return this.clients.insight.getStatisticsPerUnitWithHttpInfo( customAggregationUnit, from, to, ); } /** * Adding the LIFF app to a channel * @summary Create LIFF app * @param addLiffAppRequest * * @see <a href="https://developers.line.biz/en/reference/liff-server/#add-liff-app">Create LIFF app Documentation</a> */ public async addLIFFApp( addLiffAppRequest: liff.AddLiffAppRequest, ): Promise<liff.AddLiffAppResponse> { return this.clients.liff.addLIFFApp(addLiffAppRequest); } /** * Adding the LIFF app to a channel. * This method includes HttpInfo object to return additional information. * @summary Create LIFF app * @param addLiffAppRequest * * @see <a href="https://developers.line.biz/en/reference/liff-server/#add-liff-app">Create LIFF app Documentation</a> */ public async addLIFFAppWithHttpInfo( addLiffAppRequest: liff.AddLiffAppRequest, ): Promise<Types.ApiResponseType<liff.AddLiffAppResponse>> { return this.clients.liff.addLIFFAppWithHttpInfo(addLiffAppRequest); } /** * Deletes a LIFF app from a channel. * @summary Delete LIFF app from a channel * @param liffId ID of the LIFF app to be updated * * @see <a href="https://developers.line.biz/en/reference/liff-server/#delete-liff-app">Delete LIFF app from a channel Documentation</a> */ public async deleteLIFFApp( liffId: string, ): Promise<Types.MessageAPIResponseBase> { return this.clients.liff.deleteLIFFApp(liffId); } /** * Deletes a LIFF app from a channel. . * This method includes HttpInfo object to return additional information. * @summary Delete LIFF app from a channel * @param liffId ID of the LIFF app to be updated * * @see <a href="https://developers.line.biz/en/reference/liff-server/#delete-liff-app">Delete LIFF app from a channel Documentation</a> */ public async deleteLIFFAppWithHttpInfo( liffId: string, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.liff.deleteLIFFAppWithHttpInfo(liffId); } /** * Gets information on all the LIFF apps added to the channel. * @summary Get all LIFF apps * * @see <a href="https://developers.line.biz/en/reference/liff-server/#get-all-liff-apps">Get all LIFF apps Documentation</a> */ public async getAllLIFFApps(): Promise<liff.GetAllLiffAppsResponse> { return this.clients.liff.getAllLIFFApps(); } /** * Gets information on all the LIFF apps added to the channel.. * This method includes HttpInfo object to return additional information. * @summary Get all LIFF apps * * @see <a href="https://developers.line.biz/en/reference/liff-server/#get-all-liff-apps">Get all LIFF apps Documentation</a> */ public async getAllLIFFAppsWithHttpInfo(): Promise< Types.ApiResponseType<liff.GetAllLiffAppsResponse> > { return this.clients.liff.getAllLIFFAppsWithHttpInfo(); } /** * Update LIFF app settings * @summary Update LIFF app from a channel * @param liffId ID of the LIFF app to be updated * @param updateLiffAppRequest * * @see <a href="https://developers.line.biz/en/reference/liff-server/#update-liff-app">Update LIFF app from a channel Documentation</a> */ public async updateLIFFApp( liffId: string, updateLiffAppRequest: liff.UpdateLiffAppRequest, ): Promise<Types.MessageAPIResponseBase> { return this.clients.liff.updateLIFFApp(liffId, updateLiffAppRequest); } /** * Update LIFF app settings. * This method includes HttpInfo object to return additional information. * @summary Update LIFF app from a channel * @param liffId ID of the LIFF app to be updated * @param updateLiffAppRequest * * @see <a href="https://developers.line.biz/en/reference/liff-server/#update-liff-app">Update LIFF app from a channel Documentation</a> */ public async updateLIFFAppWithHttpInfo( liffId: string, updateLiffAppRequest: liff.UpdateLiffAppRequest, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.liff.updateLIFFAppWithHttpInfo( liffId, updateLiffAppRequest, ); } /** * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by JSON) * @param addAudienceToAudienceGroupRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#update-upload-audience-group"> Documentation</a> */ public async addAudienceToAudienceGroup( addAudienceToAudienceGroupRequest: manageAudience.AddAudienceToAudienceGroupRequest, ): Promise<Types.MessageAPIResponseBase> { return this.clients.manageAudience.addAudienceToAudienceGroup( addAudienceToAudienceGroupRequest, ); } /** * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by JSON). * This method includes HttpInfo object to return additional information. * @param addAudienceToAudienceGroupRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#update-upload-audience-group"> Documentation</a> */ public async addAudienceToAudienceGroupWithHttpInfo( addAudienceToAudienceGroupRequest: manageAudience.AddAudienceToAudienceGroupRequest, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.manageAudience.addAudienceToAudienceGroupWithHttpInfo( addAudienceToAudienceGroupRequest, ); } /** * Create audience for uploading user IDs (by JSON) * @param createAudienceGroupRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-upload-audience-group"> Documentation</a> */ public async createAudienceGroup( createAudienceGroupRequest: manageAudience.CreateAudienceGroupRequest, ): Promise<manageAudience.CreateAudienceGroupResponse> { return this.clients.manageAudience.createAudienceGroup( createAudienceGroupRequest, ); } /** * Create audience for uploading user IDs (by JSON). * This method includes HttpInfo object to return additional information. * @param createAudienceGroupRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-upload-audience-group"> Documentation</a> */ public async createAudienceGroupWithHttpInfo( createAudienceGroupRequest: manageAudience.CreateAudienceGroupRequest, ): Promise< Types.ApiResponseType<manageAudience.CreateAudienceGroupResponse> > { return this.clients.manageAudience.createAudienceGroupWithHttpInfo( createAudienceGroupRequest, ); } /** * Create audience for click-based retargeting * @param createClickBasedAudienceGroupRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-click-audience-group"> Documentation</a> */ public async createClickBasedAudienceGroup( createClickBasedAudienceGroupRequest: manageAudience.CreateClickBasedAudienceGroupRequest, ): Promise<manageAudience.CreateClickBasedAudienceGroupResponse> { return this.clients.manageAudience.createClickBasedAudienceGroup( createClickBasedAudienceGroupRequest, ); } /** * Create audience for click-based retargeting. * This method includes HttpInfo object to return additional information. * @param createClickBasedAudienceGroupRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-click-audience-group"> Documentation</a> */ public async createClickBasedAudienceGroupWithHttpInfo( createClickBasedAudienceGroupRequest: manageAudience.CreateClickBasedAudienceGroupRequest, ): Promise< Types.ApiResponseType<manageAudience.CreateClickBasedAudienceGroupResponse> > { return this.clients.manageAudience.createClickBasedAudienceGroupWithHttpInfo( createClickBasedAudienceGroupRequest, ); } /** * Create audience for impression-based retargeting * @param createImpBasedAudienceGroupRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-imp-audience-group"> Documentation</a> */ public async createImpBasedAudienceGroup( createImpBasedAudienceGroupRequest: manageAudience.CreateImpBasedAudienceGroupRequest, ): Promise<manageAudience.CreateImpBasedAudienceGroupResponse> { return this.clients.manageAudience.createImpBasedAudienceGroup( createImpBasedAudienceGroupRequest, ); } /** * Create audience for impression-based retargeting. * This method includes HttpInfo object to return additional information. * @param createImpBasedAudienceGroupRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-imp-audience-group"> Documentation</a> */ public async createImpBasedAudienceGroupWithHttpInfo( createImpBasedAudienceGroupRequest: manageAudience.CreateImpBasedAudienceGroupRequest, ): Promise< Types.ApiResponseType<manageAudience.CreateImpBasedAudienceGroupResponse> > { return this.clients.manageAudience.createImpBasedAudienceGroupWithHttpInfo( createImpBasedAudienceGroupRequest, ); } /** * Delete audience * @param audienceGroupId The audience ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#delete-audience-group"> Documentation</a> */ public async deleteAudienceGroup( audienceGroupId: number, ): Promise<Types.MessageAPIResponseBase> { return this.clients.manageAudience.deleteAudienceGroup(audienceGroupId); } /** * Delete audience. * This method includes HttpInfo object to return additional information. * @param audienceGroupId The audience ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#delete-audience-group"> Documentation</a> */ public async deleteAudienceGroupWithHttpInfo( audienceGroupId: number, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.manageAudience.deleteAudienceGroupWithHttpInfo( audienceGroupId, ); } /** * Gets audience data. * @param audienceGroupId The audience ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-audience-group"> Documentation</a> */ public async getAudienceData( audienceGroupId: number, ): Promise<manageAudience.GetAudienceDataResponse> { return this.clients.manageAudience.getAudienceData(audienceGroupId); } /** * Gets audience data.. * This method includes HttpInfo object to return additional information. * @param audienceGroupId The audience ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-audience-group"> Documentation</a> */ public async getAudienceDataWithHttpInfo( audienceGroupId: number, ): Promise<Types.ApiResponseType<manageAudience.GetAudienceDataResponse>> { return this.clients.manageAudience.getAudienceDataWithHttpInfo( audienceGroupId, ); } /** * Gets data for more than one audience. * @param page The page to return when getting (paginated) results. Must be 1 or higher. * @param description The name of the audience(s) to return. You can search for partial matches. This is case-insensitive, meaning AUDIENCE and audience are considered identical. If omitted, the name of the audience(s) will not be used as a search criterion. * @param status The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion. * @param size The number of audiences per page. Default: 20 Max: 40 * @param includesExternalPublicGroups true (default): Get public audiences created in all channels linked to the same bot. false: Get audiences created in the same channel. * @param createRoute How the audience was created. If omitted, all audiences are included. `OA_MANAGER`: Return only audiences created with LINE Official Account Manager (opens new window). `MESSAGING_API`: Return only audiences created with Messaging API. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-audience-groups"> Documentation</a> */ public async getAudienceGroups( page: number, description?: string, status?: manageAudience.AudienceGroupStatus, size?: number, includesExternalPublicGroups?: boolean, createRoute?: manageAudience.AudienceGroupCreateRoute, ): Promise<manageAudience.GetAudienceGroupsResponse> { return this.clients.manageAudience.getAudienceGroups( page, description, status, size, includesExternalPublicGroups, createRoute, ); } /** * Gets data for more than one audience.. * This method includes HttpInfo object to return additional information. * @param page The page to return when getting (paginated) results. Must be 1 or higher. * @param description The name of the audience(s) to return. You can search for partial matches. This is case-insensitive, meaning AUDIENCE and audience are considered identical. If omitted, the name of the audience(s) will not be used as a search criterion. * @param status The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion. * @param size The number of audiences per page. Default: 20 Max: 40 * @param includesExternalPublicGroups true (default): Get public audiences created in all channels linked to the same bot. false: Get audiences created in the same channel. * @param createRoute How the audience was created. If omitted, all audiences are included. `OA_MANAGER`: Return only audiences created with LINE Official Account Manager (opens new window). `MESSAGING_API`: Return only audiences created with Messaging API. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-audience-groups"> Documentation</a> */ public async getAudienceGroupsWithHttpInfo( page: number, description?: string, status?: manageAudience.AudienceGroupStatus, size?: number, includesExternalPublicGroups?: boolean, createRoute?: manageAudience.AudienceGroupCreateRoute, ): Promise<Types.ApiResponseType<manageAudience.GetAudienceGroupsResponse>> { return this.clients.manageAudience.getAudienceGroupsWithHttpInfo( page, description, status, size, includesExternalPublicGroups, createRoute, ); } /** * Gets audience data. * @param audienceGroupId The audience ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-shared-audience"> Documentation</a> */ public async getSharedAudienceData( audienceGroupId: number, ): Promise<manageAudience.GetSharedAudienceDataResponse> { return this.clients.manageAudience.getSharedAudienceData(audienceGroupId); } /** * Gets audience data.. * This method includes HttpInfo object to return additional information. * @param audienceGroupId The audience ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-shared-audience"> Documentation</a> */ public async getSharedAudienceDataWithHttpInfo( audienceGroupId: number, ): Promise< Types.ApiResponseType<manageAudience.GetSharedAudienceDataResponse> > { return this.clients.manageAudience.getSharedAudienceDataWithHttpInfo( audienceGroupId, ); } /** * Gets data for more than one audience, including those shared by the Business Manager. * @param page The page to return when getting (paginated) results. Must be 1 or higher. * @param description The name of the audience(s) to return. You can search for partial matches. This is case-insensitive, meaning AUDIENCE and audience are considered identical. If omitted, the name of the audience(s) will not be used as a search criterion. * @param status The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion. * @param size The number of audiences per page. Default: 20 Max: 40 * @param createRoute How the audience was created. If omitted, all audiences are included. `OA_MANAGER`: Return only audiences created with LINE Official Account Manager (opens new window). `MESSAGING_API`: Return only audiences created with Messaging API. * @param includesOwnedAudienceGroups true: Include audienceGroups owned by LINE Official Account Manager false: Respond only audienceGroups shared by Business Manager * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-shared-audience-list"> Documentation</a> */ public async getSharedAudienceGroups( page: number, description?: string, status?: manageAudience.AudienceGroupStatus, size?: number, createRoute?: manageAudience.AudienceGroupCreateRoute, includesOwnedAudienceGroups?: boolean, ): Promise<manageAudience.GetSharedAudienceGroupsResponse> { return this.clients.manageAudience.getSharedAudienceGroups( page, description, status, size, createRoute, includesOwnedAudienceGroups, ); } /** * Gets data for more than one audience, including those shared by the Business Manager.. * This method includes HttpInfo object to return additional information. * @param page The page to return when getting (paginated) results. Must be 1 or higher. * @param description The name of the audience(s) to return. You can search for partial matches. This is case-insensitive, meaning AUDIENCE and audience are considered identical. If omitted, the name of the audience(s) will not be used as a search criterion. * @param status The status of the audience(s) to return. If omitted, the status of the audience(s) will not be used as a search criterion. * @param size The number of audiences per page. Default: 20 Max: 40 * @param createRoute How the audience was created. If omitted, all audiences are included. `OA_MANAGER`: Return only audiences created with LINE Official Account Manager (opens new window). `MESSAGING_API`: Return only audiences created with Messaging API. * @param includesOwnedAudienceGroups true: Include audienceGroups owned by LINE Official Account Manager false: Respond only audienceGroups shared by Business Manager * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-shared-audience-list"> Documentation</a> */ public async getSharedAudienceGroupsWithHttpInfo( page: number, description?: string, status?: manageAudience.AudienceGroupStatus, size?: number, createRoute?: manageAudience.AudienceGroupCreateRoute, includesOwnedAudienceGroups?: boolean, ): Promise< Types.ApiResponseType<manageAudience.GetSharedAudienceGroupsResponse> > { return this.clients.manageAudience.getSharedAudienceGroupsWithHttpInfo( page, description, status, size, createRoute, includesOwnedAudienceGroups, ); } /** * Renames an existing audience. * @param audienceGroupId The audience ID. * @param updateAudienceGroupDescriptionRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#set-description-audience-group"> Documentation</a> */ public async updateAudienceGroupDescription( audienceGroupId: number, updateAudienceGroupDescriptionRequest: manageAudience.UpdateAudienceGroupDescriptionRequest, ): Promise<Types.MessageAPIResponseBase> { return this.clients.manageAudience.updateAudienceGroupDescription( audienceGroupId, updateAudienceGroupDescriptionRequest, ); } /** * Renames an existing audience.. * This method includes HttpInfo object to return additional information. * @param audienceGroupId The audience ID. * @param updateAudienceGroupDescriptionRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#set-description-audience-group"> Documentation</a> */ public async updateAudienceGroupDescriptionWithHttpInfo( audienceGroupId: number, updateAudienceGroupDescriptionRequest: manageAudience.UpdateAudienceGroupDescriptionRequest, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.manageAudience.updateAudienceGroupDescriptionWithHttpInfo( audienceGroupId, updateAudienceGroupDescriptionRequest, ); } /** * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by file). * @param file A text file with one user ID or IFA entered per line. Specify text/plain as Content-Type. Max file number: 1 Max number: 1,500,000 * @param audienceGroupId The audience ID. * @param uploadDescription The description to register with the job * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#update-upload-audience-group-by-file"> Documentation</a> */ public async addUserIdsToAudience( file: Blob, audienceGroupId?: number, uploadDescription?: string, ): Promise<Types.MessageAPIResponseBase> { return this.clients.manageAudienceBlob.addUserIdsToAudience( file, audienceGroupId, uploadDescription, ); } /** * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by file).. * This method includes HttpInfo object to return additional information. * @param file A text file with one user ID or IFA entered per line. Specify text/plain as Content-Type. Max file number: 1 Max number: 1,500,000 * @param audienceGroupId The audience ID. * @param uploadDescription The description to register with the job * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#update-upload-audience-group-by-file"> Documentation</a> */ public async addUserIdsToAudienceWithHttpInfo( file: Blob, audienceGroupId?: number, uploadDescription?: string, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.manageAudienceBlob.addUserIdsToAudienceWithHttpInfo( file, audienceGroupId, uploadDescription, ); } /** * Create audience for uploading user IDs (by file). * @param file A text file with one user ID or IFA entered per line. Specify text/plain as Content-Type. Max file number: 1 Max number: 1,500,000 * @param description The audience\\\'s name. This is case-insensitive, meaning AUDIENCE and audience are considered identical. Max character limit: 120 * @param isIfaAudience To specify recipients by IFAs: set `true`. To specify recipients by user IDs: set `false` or omit isIfaAudience property. * @param uploadDescription The description to register for the job (in `jobs[].description`). * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-upload-audience-group-by-file"> Documentation</a> */ public async createAudienceForUploadingUserIds( file: Blob, description?: string, isIfaAudience?: boolean, uploadDescription?: string, ): Promise<manageAudience.CreateAudienceGroupResponse> { return this.clients.manageAudienceBlob.createAudienceForUploadingUserIds( file, description, isIfaAudience, uploadDescription, ); } /** * Create audience for uploading user IDs (by file).. * This method includes HttpInfo object to return additional information. * @param file A text file with one user ID or IFA entered per line. Specify text/plain as Content-Type. Max file number: 1 Max number: 1,500,000 * @param description The audience\\\'s name. This is case-insensitive, meaning AUDIENCE and audience are considered identical. Max character limit: 120 * @param isIfaAudience To specify recipients by IFAs: set `true`. To specify recipients by user IDs: set `false` or omit isIfaAudience property. * @param uploadDescription The description to register for the job (in `jobs[].description`). * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-upload-audience-group-by-file"> Documentation</a> */ public async createAudienceForUploadingUserIdsWithHttpInfo( file: Blob, description?: string, isIfaAudience?: boolean, uploadDescription?: string, ): Promise< Types.ApiResponseType<manageAudience.CreateAudienceGroupResponse> > { return this.clients.manageAudienceBlob.createAudienceForUploadingUserIdsWithHttpInfo( file, description, isIfaAudience, uploadDescription, ); } /** * Sends a message to multiple users at any time. * @param broadcastRequest * @param xLineRetryKey Retry key. Specifies the UUID in hexadecimal format (e.g., `123e4567-e89b-12d3-a456-426614174000`) generated by any method. The retry key isn\'t generated by LINE. Each developer must generate their own retry key. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#send-broadcast-message"> Documentation</a> */ public async broadcast( broadcastRequest: messagingApi.BroadcastRequest, xLineRetryKey?: string, ): Promise<object> { return this.clients.messagingApi.broadcast(broadcastRequest, xLineRetryKey); } /** * Sends a message to multiple users at any time.. * This method includes HttpInfo object to return additional information. * @param broadcastRequest * @param xLineRetryKey Retry key. Specifies the UUID in hexadecimal format (e.g., `123e4567-e89b-12d3-a456-426614174000`) generated by any method. The retry key isn\'t generated by LINE. Each developer must generate their own retry key. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#send-broadcast-message"> Documentation</a> */ public async broadcastWithHttpInfo( broadcastRequest: messagingApi.BroadcastRequest, xLineRetryKey?: string, ): Promise<Types.ApiResponseType<object>> { return this.clients.messagingApi.broadcastWithHttpInfo( broadcastRequest, xLineRetryKey, ); } /** * Cancel default rich menu * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#cancel-default-rich-menu"> Documentation</a> */ public async cancelDefaultRichMenu(): Promise<Types.MessageAPIResponseBase> { return this.clients.messagingApi.cancelDefaultRichMenu(); } /** * Cancel default rich menu. * This method includes HttpInfo object to return additional information. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#cancel-default-rich-menu"> Documentation</a> */ public async cancelDefaultRichMenuWithHttpInfo(): Promise< Types.ApiResponseType<Types.MessageAPIResponseBase> > { return this.clients.messagingApi.cancelDefaultRichMenuWithHttpInfo(); } /** * Close coupon * @param couponId * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#discontinue-coupon"> Documentation</a> */ public async closeCoupon( couponId: string, ): Promise<Types.MessageAPIResponseBase> { return this.clients.messagingApi.closeCoupon(couponId); } /** * Close coupon. * This method includes HttpInfo object to return additional information. * @param couponId * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#discontinue-coupon"> Documentation</a> */ public async closeCouponWithHttpInfo( couponId: string, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.messagingApi.closeCouponWithHttpInfo(couponId); } /** * Create a new coupon. Define coupon details such as type, title, and validity period. * @param couponCreateRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-coupon"> Documentation</a> */ public async createCoupon( couponCreateRequest?: messagingApi.CouponCreateRequest, ): Promise<messagingApi.CouponCreateResponse> { return this.clients.messagingApi.createCoupon(couponCreateRequest); } /** * Create a new coupon. Define coupon details such as type, title, and validity period.. * This method includes HttpInfo object to return additional information. * @param couponCreateRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-coupon"> Documentation</a> */ public async createCouponWithHttpInfo( couponCreateRequest?: messagingApi.CouponCreateRequest, ): Promise<Types.ApiResponseType<messagingApi.CouponCreateResponse>> { return this.clients.messagingApi.createCouponWithHttpInfo( couponCreateRequest, ); } /** * Create rich menu * @param richMenuRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-rich-menu"> Documentation</a> */ public async createRichMenu( richMenuRequest: messagingApi.RichMenuRequest, ): Promise<messagingApi.RichMenuIdResponse> { return this.clients.messagingApi.createRichMenu(richMenuRequest); } /** * Create rich menu. * This method includes HttpInfo object to return additional information. * @param richMenuRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-rich-menu"> Documentation</a> */ public async createRichMenuWithHttpInfo( richMenuRequest: messagingApi.RichMenuRequest, ): Promise<Types.ApiResponseType<messagingApi.RichMenuIdResponse>> { return this.clients.messagingApi.createRichMenuWithHttpInfo( richMenuRequest, ); } /** * Create rich menu alias * @param createRichMenuAliasRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-rich-menu-alias"> Documentation</a> */ public async createRichMenuAlias( createRichMenuAliasRequest: messagingApi.CreateRichMenuAliasRequest, ): Promise<Types.MessageAPIResponseBase> { return this.clients.messagingApi.createRichMenuAlias( createRichMenuAliasRequest, ); } /** * Create rich menu alias. * This method includes HttpInfo object to return additional information. * @param createRichMenuAliasRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-rich-menu-alias"> Documentation</a> */ public async createRichMenuAliasWithHttpInfo( createRichMenuAliasRequest: messagingApi.CreateRichMenuAliasRequest, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.messagingApi.createRichMenuAliasWithHttpInfo( createRichMenuAliasRequest, ); } /** * Deletes a rich menu. * @param richMenuId ID of a rich menu * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#delete-rich-menu"> Documentation</a> */ public async deleteRichMenu( richMenuId: string, ): Promise<Types.MessageAPIResponseBase> { return this.clients.messagingApi.deleteRichMenu(richMenuId); } /** * Deletes a rich menu.. * This method includes HttpInfo object to return additional information. * @param richMenuId ID of a rich menu * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#delete-rich-menu"> Documentation</a> */ public async deleteRichMenuWithHttpInfo( richMenuId: string, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.messagingApi.deleteRichMenuWithHttpInfo(richMenuId); } /** * Delete rich menu alias * @param richMenuAliasId Rich menu alias ID that you want to delete. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#delete-rich-menu-alias"> Documentation</a> */ public async deleteRichMenuAlias( richMenuAliasId: string, ): Promise<Types.MessageAPIResponseBase> { return this.clients.messagingApi.deleteRichMenuAlias(richMenuAliasId); } /** * Delete rich menu alias. * This method includes HttpInfo object to return additional information. * @param richMenuAliasId Rich menu alias ID that you want to delete. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#delete-rich-menu-alias"> Documentation</a> */ public async deleteRichMenuAliasWithHttpInfo( richMenuAliasId: string, ): Promise<Types.ApiResponseType<Types.MessageAPIResponseBase>> { return this.clients.messagingApi.deleteRichMenuAliasWithHttpInfo( richMenuAliasId, ); } /** * Get name list of units used this month * @param limit The maximum number of aggregation units you can get per request. * @param start Value of the continuation token found in the next property of the JSON object returned in the response. If you can\'t get all the aggregation units in one request, include this parameter to get the remaining array. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-name-list-of-units-used-this-month"> Documentation</a> */ public async getAggregationUnitNameList( limit?: string, start?: string, ): Promise<messagingApi.GetAggregationUnitNameListResponse> { return this.clients.messagingApi.getAggregationUnitNameList(limit, start); } /** * Get name list of units used this month. * This method includes HttpInfo object to return additional information. * @param limit The maximum number of aggregation units you can get per request. * @param start Value of the continuation token found in the next property of the JSON object returned in the response. If you can\'t get all the aggregation units in one request, include this parameter to get the remaining array. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-name-list-of-units-used-this-month"> Documentation</a> */ public async getAggregationUnitNameListWithHttpInfo( limit?: string, start?: string, ): Promise< Types.ApiResponseType<messagingApi.GetAggregationUnitNameListResponse> > { return this.clients.messagingApi.getAggregationUnitNameListWithHttpInfo( limit, start, ); } /** * Get number of units used this month * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-units-used-this-month"> Documentation</a> */ public async getAggregationUnitUsage(): Promise<messagingApi.GetAggregationUnitUsageResponse> { return this.clients.messagingApi.getAggregationUnitUsage(); } /** * Get number of units used this month. * This method includes HttpInfo object to return additional information. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-units-used-this-month"> Documentation</a> */ public async getAggregationUnitUsageWithHttpInfo(): Promise< Types.ApiResponseType<messagingApi.GetAggregationUnitUsageResponse> > { return this.clients.messagingApi.getAggregationUnitUsageWithHttpInfo(); } /** * Get bot info * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-bot-info"> Documentation</a> */ public async getBotInfo(): Promise<messagingApi.BotInfoResponse> { return this.clients.messagingApi.getBotInfo(); } /** * Get bot info. * This method includes HttpInfo object to return additional information. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-bot-info"> Documentation</a> */ public async getBotInfoWithHttpInfo(): Promise< Types.ApiResponseType<messagingApi.BotInfoResponse> > { return this.clients.messagingApi.getBotInfoWithHttpInfo(); } /** * Get coupon detail * @param couponId * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-coupon"> Documentation</a> */ public async getCouponDetail( couponId: string, ): Promise<messagingApi.CouponResponse> { return this.clients.messagingApi.getCouponDetail(couponId); } /** * Get coupon detail. * This method includes HttpInfo object to return additional information. * @param couponId * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-coupon"> Documentation</a> */ public async getCouponDetailWithHttpInfo( couponId: string, ): Promise<Types.ApiResponseType<messagingApi.CouponResponse>> { return this.clients.messagingApi.getCouponDetailWithHttpInfo(couponId); } /** * Gets the ID of the default rich menu set with the Messaging API. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-default-rich-menu-id"> Documentation</a> */ public async getDefaultRichMenuId(): Promise<messagingApi.RichMenuIdResponse> { return this.clients.messagingApi.getDefaultRichMenuId(); } /** * Gets the ID of the default rich menu set with the Messaging API.. * This method includes HttpInfo object to return additional information. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-default-rich-menu-id"> Documentation</a> */ public async getDefaultRichMenuIdWithHttpInfo(): Promise< Types.ApiResponseType<messagingApi.RichMenuIdResponse> > { return this.clients.messagingApi.getDefaultRichMenuIdWithHttpInfo(); } /** * Get a list of users who added your LINE Official Account as a friend * @param start Value of the continuation token found in the next property of the JSON object returned in the response. Include this parameter to get the next array of user IDs. * @param limit The maximum number of user IDs to retrieve in a single request. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-follower-ids"> Documentation</a> */ public async getFollowers( start?: string, limit?: number, ): Promise<messagingApi.GetFollowersResponse> { return this.clients.messagingApi.getFollowers(start, limit); } /** * Get a list of users who added your LINE Official Account as a friend. * This method includes HttpInfo object to return additional information. * @param start Value of the continuation token found in the next property of the JSON object returned in the response. Include this parameter to get the next array of user IDs. * @param limit The maximum number of user IDs to retrieve in a single request. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-follower-ids"> Documentation</a> */ public async getFollowersWithHttpInfo( start?: string, limit?: number, ): Promise<Types.ApiResponseType<messagingApi.GetFollowersResponse>> { return this.clients.messagingApi.getFollowersWithHttpInfo(start, limit); } /** * Get number of users in a group chat * @param groupId Group ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-members-group-count"> Documentation</a> */ public async getGroupMemberCount( groupId: string, ): Promise<messagingApi.GroupMemberCountResponse> { return this.clients.messagingApi.getGroupMemberCount(groupId); } /** * Get number of users in a group chat. * This method includes HttpInfo object to return additional information. * @param groupId Group ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-members-group-count"> Documentation</a> */ public async getGroupMemberCountWithHttpInfo( groupId: string, ): Promise<Types.ApiResponseType<messagingApi.GroupMemberCountResponse>> { return this.clients.messagingApi.getGroupMemberCountWithHttpInfo(groupId); } /** * Get group chat member profile * @param groupId Group ID * @param userId User ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-group-member-profile"> Documentation</a> */ public async getGroupMemberProfile( groupId: string, userId: string, ): Promise<messagingApi.GroupUserProfileResponse> { return this.clients.messagingApi.getGroupMemberProfile(groupId, userId); } /** * Get group chat member profile. * This method includes HttpInfo object to return additional information. * @param groupId Group ID * @param userId User ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-group-member-profile"> Documentation</a> */ public async getGroupMemberProfileWithHttpInfo( groupId: string, userId: string, ): Promise<Types.ApiResponseType<messagingApi.GroupUserProfileResponse>> { return this.clients.messagingApi.getGroupMemberProfileWithHttpInfo( groupId, userId, ); } /** * Get group chat member user IDs * @param groupId Group ID * @param start Value of the continuation token found in the `next` property of the JSON object returned in the response. Include this parameter to get the next array of user IDs for the members of the group. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-group-member-user-ids"> Documentation</a> */ public async getGroupMembersIds( groupId: string, start?: string, ): Promise<messagingApi.MembersIdsResponse> { return this.clients.messagingApi.getGroupMembersIds(groupId, start); } /** * Get group chat member user IDs. * This method incl