UNPKG

@line/bot-sdk

Version:
730 lines (729 loc) 33.1 kB
"use strict"; /** * LINE Messaging API * This document describes LINE Messaging API. * * The version of the OpenAPI document: 0.0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.MessagingApiClient = void 0; const Types = require("../../types"); const utils_1 = require("../../utils"); const http_1 = require("../../http"); class MessagingApiClient { constructor(config) { if (!config.baseURL) { config.baseURL = "https://api.line.me"; } this.httpClient = new http_1.default({ defaultHeaders: { Authorization: "Bearer " + config.channelAccessToken, }, responseParser: this.parseHTTPResponse.bind(this), baseURL: config.baseURL, }); } parseHTTPResponse(response) { const { LINE_REQUEST_ID_HTTP_HEADER_NAME } = Types; let resBody = Object.assign({}, response.data); if (response.headers[LINE_REQUEST_ID_HTTP_HEADER_NAME]) { resBody[LINE_REQUEST_ID_HTTP_HEADER_NAME] = response.headers[LINE_REQUEST_ID_HTTP_HEADER_NAME]; } return resBody; } /** * Send a message using phone number * @param audienceMatchMessagesRequest * * @see <a href="https://developers.line.biz/en/reference/partner-docs/#phone-audience-match"> Documentation</a> */ async audienceMatch(audienceMatchMessagesRequest) { const params = audienceMatchMessagesRequest; const res = this.httpClient.post("/bot/ad/multicast/phone", params); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async broadcast(broadcastRequest, xLineRetryKey) { const params = broadcastRequest; const headerParams = Object.assign({}, (xLineRetryKey != null ? { "X-Line-Retry-Key": xLineRetryKey } : {})); const res = this.httpClient.post("/v2/bot/message/broadcast", params, { headers: headerParams }); return (0, utils_1.ensureJSON)(res); } /** * Cancel default rich menu * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#cancel-default-rich-menu"> Documentation</a> */ async cancelDefaultRichMenu() { const res = this.httpClient.delete("/v2/bot/user/all/richmenu"); return (0, utils_1.ensureJSON)(res); } /** * Create rich menu * @param richMenuRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-rich-menu"> Documentation</a> */ async createRichMenu(richMenuRequest) { const params = richMenuRequest; const res = this.httpClient.post("/v2/bot/richmenu", params); return (0, utils_1.ensureJSON)(res); } /** * Create rich menu alias * @param createRichMenuAliasRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#create-rich-menu-alias"> Documentation</a> */ async createRichMenuAlias(createRichMenuAliasRequest) { const params = createRichMenuAliasRequest; const res = this.httpClient.post("/v2/bot/richmenu/alias", params); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async deleteRichMenu(richMenuId) { const res = this.httpClient.delete("/v2/bot/richmenu/{richMenuId}".replace("{richMenuId}", String(richMenuId))); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async deleteRichMenuAlias(richMenuAliasId) { const res = this.httpClient.delete("/v2/bot/richmenu/alias/{richMenuAliasId}".replace("{richMenuAliasId}", String(richMenuAliasId))); return (0, utils_1.ensureJSON)(res); } /** * Get result of message delivery using phone number * @param date Date the message was sent Format: `yyyyMMdd` (e.g. `20190831`) Time Zone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/partner-docs/#get-phone-audience-match"> Documentation</a> */ async getAdPhoneMessageStatistics(date) { const queryParams = { date: date, }; const res = this.httpClient.get("/v2/bot/message/delivery/ad_phone", queryParams); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async getAggregationUnitNameList(limit, start) { const queryParams = { limit: limit, start: start, }; const res = this.httpClient.get("/v2/bot/message/aggregation/list", queryParams); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async getAggregationUnitUsage() { const res = this.httpClient.get("/v2/bot/message/aggregation/info"); return (0, utils_1.ensureJSON)(res); } /** * Get bot info * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-bot-info"> Documentation</a> */ async getBotInfo() { const res = this.httpClient.get("/v2/bot/info"); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async getDefaultRichMenuId() { const res = this.httpClient.get("/v2/bot/user/all/richmenu"); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async getFollowers(start, limit) { const queryParams = { start: start, limit: limit, }; const res = this.httpClient.get("/v2/bot/followers/ids", queryParams); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async getGroupMemberCount(groupId) { const res = this.httpClient.get("/v2/bot/group/{groupId}/members/count".replace("{groupId}", String(groupId))); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async getGroupMemberProfile(groupId, userId) { const res = this.httpClient.get("/v2/bot/group/{groupId}/member/{userId}" .replace("{groupId}", String(groupId)) .replace("{userId}", String(userId))); return (0, utils_1.ensureJSON)(res); } /** * 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> */ async getGroupMembersIds(groupId, start) { const queryParams = { start: start, }; const res = this.httpClient.get("/v2/bot/group/{groupId}/members/ids".replace("{groupId}", String(groupId)), queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get group chat summary * @param groupId Group ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-group-summary"> Documentation</a> */ async getGroupSummary(groupId) { const res = this.httpClient.get("/v2/bot/group/{groupId}/summary".replace("{groupId}", String(groupId))); return (0, utils_1.ensureJSON)(res); } /** * Gets the target limit for sending messages in the current month. The total number of the free messages and the additional messages is returned. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-quota"> Documentation</a> */ async getMessageQuota() { const res = this.httpClient.get("/v2/bot/message/quota"); return (0, utils_1.ensureJSON)(res); } /** * Gets the number of messages sent in the current month. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-consumption"> Documentation</a> */ async getMessageQuotaConsumption() { const res = this.httpClient.get("/v2/bot/message/quota/consumption"); return (0, utils_1.ensureJSON)(res); } /** * Gets the status of a narrowcast message. * @param requestId The narrowcast message\'s request ID. Each Messaging API request has a request ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-narrowcast-progress-status"> Documentation</a> */ async getNarrowcastProgress(requestId) { const queryParams = { requestId: requestId, }; const res = this.httpClient.get("/v2/bot/message/progress/narrowcast", queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get number of sent broadcast messages * @param date Date the messages were sent Format: yyyyMMdd (e.g. 20191231) Timezone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-broadcast-messages"> Documentation</a> */ async getNumberOfSentBroadcastMessages(date) { const queryParams = { date: date, }; const res = this.httpClient.get("/v2/bot/message/delivery/broadcast", queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get number of sent multicast messages * @param date Date the messages were sent Format: `yyyyMMdd` (e.g. `20191231`) Timezone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-multicast-messages"> Documentation</a> */ async getNumberOfSentMulticastMessages(date) { const queryParams = { date: date, }; const res = this.httpClient.get("/v2/bot/message/delivery/multicast", queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get number of sent push messages * @param date Date the messages were sent Format: `yyyyMMdd` (e.g. `20191231`) Timezone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-push-messages"> Documentation</a> */ async getNumberOfSentPushMessages(date) { const queryParams = { date: date, }; const res = this.httpClient.get("/v2/bot/message/delivery/push", queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get number of sent reply messages * @param date Date the messages were sent Format: `yyyyMMdd` (e.g. `20191231`) Timezone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-number-of-reply-messages"> Documentation</a> */ async getNumberOfSentReplyMessages(date) { const queryParams = { date: date, }; const res = this.httpClient.get("/v2/bot/message/delivery/reply", queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get number of sent LINE notification messages * @param date Date the message was sent Format: `yyyyMMdd` (Example:`20211231`) Time zone: UTC+9 * * @see <a href="https://developers.line.biz/en/reference/partner-docs/#get-number-of-sent-line-notification-messages"> Documentation</a> */ async getPNPMessageStatistics(date) { const queryParams = { date: date, }; const res = this.httpClient.get("/v2/bot/message/delivery/pnp", queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get profile * @param userId User ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-profile"> Documentation</a> */ async getProfile(userId) { const res = this.httpClient.get("/v2/bot/profile/{userId}".replace("{userId}", String(userId))); return (0, utils_1.ensureJSON)(res); } /** * Gets a rich menu via a rich menu ID. * @param richMenuId ID of a rich menu * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-rich-menu"> Documentation</a> */ async getRichMenu(richMenuId) { const res = this.httpClient.get("/v2/bot/richmenu/{richMenuId}".replace("{richMenuId}", String(richMenuId))); return (0, utils_1.ensureJSON)(res); } /** * Get rich menu alias information * @param richMenuAliasId The rich menu alias ID whose information you want to obtain. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-rich-menu-alias-by-id"> Documentation</a> */ async getRichMenuAlias(richMenuAliasId) { const res = this.httpClient.get("/v2/bot/richmenu/alias/{richMenuAliasId}".replace("{richMenuAliasId}", String(richMenuAliasId))); return (0, utils_1.ensureJSON)(res); } /** * Get list of rich menu alias * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-rich-menu-alias-list"> Documentation</a> */ async getRichMenuAliasList() { const res = this.httpClient.get("/v2/bot/richmenu/alias/list"); return (0, utils_1.ensureJSON)(res); } /** * Get the status of Replace or unlink a linked rich menus in batches. * @param requestId A request ID used to batch control the rich menu linked to the user. Each Messaging API request has a request ID. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-batch-control-rich-menus-progress-status"> Documentation</a> */ async getRichMenuBatchProgress(requestId) { const queryParams = { requestId: requestId, }; const res = this.httpClient.get("/v2/bot/richmenu/progress/batch", queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get rich menu ID of user * @param userId User ID. Found in the `source` object of webhook event objects. Do not use the LINE ID used in LINE. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-rich-menu-id-of-user"> Documentation</a> */ async getRichMenuIdOfUser(userId) { const res = this.httpClient.get("/v2/bot/user/{userId}/richmenu".replace("{userId}", String(userId))); return (0, utils_1.ensureJSON)(res); } /** * Get rich menu list * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-rich-menu-list"> Documentation</a> */ async getRichMenuList() { const res = this.httpClient.get("/v2/bot/richmenu/list"); return (0, utils_1.ensureJSON)(res); } /** * Get number of users in a multi-person chat * @param roomId Room ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-members-room-count"> Documentation</a> */ async getRoomMemberCount(roomId) { const res = this.httpClient.get("/v2/bot/room/{roomId}/members/count".replace("{roomId}", String(roomId))); return (0, utils_1.ensureJSON)(res); } /** * Get multi-person chat member profile * @param roomId Room ID * @param userId User ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-room-member-profile"> Documentation</a> */ async getRoomMemberProfile(roomId, userId) { const res = this.httpClient.get("/v2/bot/room/{roomId}/member/{userId}" .replace("{roomId}", String(roomId)) .replace("{userId}", String(userId))); return (0, utils_1.ensureJSON)(res); } /** * Get multi-person chat member user IDs * @param roomId Room 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-room-member-user-ids"> Documentation</a> */ async getRoomMembersIds(roomId, start) { const queryParams = { start: start, }; const res = this.httpClient.get("/v2/bot/room/{roomId}/members/ids".replace("{roomId}", String(roomId)), queryParams); return (0, utils_1.ensureJSON)(res); } /** * Get webhook endpoint information * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#get-webhook-endpoint-information"> Documentation</a> */ async getWebhookEndpoint() { const res = this.httpClient.get("/v2/bot/channel/webhook/endpoint"); return (0, utils_1.ensureJSON)(res); } /** * Issue link token * @param userId User ID for the LINE account to be linked. Found in the `source` object of account link event objects. Do not use the LINE ID used in LINE. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#issue-link-token"> Documentation</a> */ async issueLinkToken(userId) { const res = this.httpClient.post("/v2/bot/user/{userId}/linkToken".replace("{userId}", String(userId))); return (0, utils_1.ensureJSON)(res); } /** * Leave group chat * @param groupId Group ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#leave-group"> Documentation</a> */ async leaveGroup(groupId) { const res = this.httpClient.post("/v2/bot/group/{groupId}/leave".replace("{groupId}", String(groupId))); return (0, utils_1.ensureJSON)(res); } /** * Leave multi-person chat * @param roomId Room ID * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#leave-room"> Documentation</a> */ async leaveRoom(roomId) { const res = this.httpClient.post("/v2/bot/room/{roomId}/leave".replace("{roomId}", String(roomId))); return (0, utils_1.ensureJSON)(res); } /** * Link rich menu to user. * @param userId User ID. Found in the `source` object of webhook event objects. Do not use the LINE ID used in LINE. * @param richMenuId ID of a rich menu * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#link-rich-menu-to-user"> Documentation</a> */ async linkRichMenuIdToUser(userId, richMenuId) { const res = this.httpClient.post("/v2/bot/user/{userId}/richmenu/{richMenuId}" .replace("{userId}", String(userId)) .replace("{richMenuId}", String(richMenuId))); return (0, utils_1.ensureJSON)(res); } /** * Link rich menu to multiple users * @param richMenuBulkLinkRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#link-rich-menu-to-users"> Documentation</a> */ async linkRichMenuIdToUsers(richMenuBulkLinkRequest) { const params = richMenuBulkLinkRequest; const res = this.httpClient.post("/v2/bot/richmenu/bulk/link", params); return (0, utils_1.ensureJSON)(res); } /** * Mark messages from users as read * @param markMessagesAsReadRequest * * @see <a href="https://developers.line.biz/en/reference/partner-docs/#mark-messages-from-users-as-read"> Documentation</a> */ async markMessagesAsRead(markMessagesAsReadRequest) { const params = markMessagesAsReadRequest; const res = this.httpClient.post("/v2/bot/message/markAsRead", params); return (0, utils_1.ensureJSON)(res); } /** * An API that efficiently sends the same message to multiple user IDs. You can\'t send messages to group chats or multi-person chats. * @param multicastRequest * @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-multicast-message"> Documentation</a> */ async multicast(multicastRequest, xLineRetryKey) { const params = multicastRequest; const headerParams = Object.assign({}, (xLineRetryKey != null ? { "X-Line-Retry-Key": xLineRetryKey } : {})); const res = this.httpClient.post("/v2/bot/message/multicast", params, { headers: headerParams }); return (0, utils_1.ensureJSON)(res); } /** * Send narrowcast message * @param narrowcastRequest * @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-narrowcast-message"> Documentation</a> */ async narrowcast(narrowcastRequest, xLineRetryKey) { const params = narrowcastRequest; const headerParams = Object.assign({}, (xLineRetryKey != null ? { "X-Line-Retry-Key": xLineRetryKey } : {})); const res = this.httpClient.post("/v2/bot/message/narrowcast", params, { headers: headerParams }); return (0, utils_1.ensureJSON)(res); } /** * Sends a message to a user, group chat, or multi-person chat at any time. * @param pushMessageRequest * @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-push-message"> Documentation</a> */ async pushMessage(pushMessageRequest, xLineRetryKey) { const params = pushMessageRequest; const headerParams = Object.assign({}, (xLineRetryKey != null ? { "X-Line-Retry-Key": xLineRetryKey } : {})); const res = this.httpClient.post("/v2/bot/message/push", params, { headers: headerParams }); return (0, utils_1.ensureJSON)(res); } /** * Send LINE notification message * @param pnpMessagesRequest * @param xLineDeliveryTag String returned in the delivery.data property of the delivery completion event via Webhook. * * @see <a href="https://developers.line.biz/en/reference/partner-docs/#send-line-notification-message"> Documentation</a> */ async pushMessagesByPhone(pnpMessagesRequest, xLineDeliveryTag) { const params = pnpMessagesRequest; const headerParams = Object.assign({}, (xLineDeliveryTag != null ? { "X-Line-Delivery-Tag": xLineDeliveryTag } : {})); const res = this.httpClient.post("/bot/pnp/push", params, { headers: headerParams }); return (0, utils_1.ensureJSON)(res); } /** * Send reply message * @param replyMessageRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#send-reply-message"> Documentation</a> */ async replyMessage(replyMessageRequest) { const params = replyMessageRequest; const res = this.httpClient.post("/v2/bot/message/reply", params); return (0, utils_1.ensureJSON)(res); } /** * You can use this endpoint to batch control the rich menu linked to the users using the endpoint such as Link rich menu to user. The following operations are available: 1. Replace a rich menu with another rich menu for all users linked to a specific rich menu 2. Unlink a rich menu for all users linked to a specific rich menu 3. Unlink a rich menu for all users linked the rich menu * @param richMenuBatchRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#batch-control-rich-menus-of-users"> Documentation</a> */ async richMenuBatch(richMenuBatchRequest) { const params = richMenuBatchRequest; const res = this.httpClient.post("/v2/bot/richmenu/batch", params); return (0, utils_1.ensureJSON)(res); } /** * Set default rich menu * @param richMenuId ID of a rich menu * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#set-default-rich-menu"> Documentation</a> */ async setDefaultRichMenu(richMenuId) { const res = this.httpClient.post("/v2/bot/user/all/richmenu/{richMenuId}".replace("{richMenuId}", String(richMenuId))); return (0, utils_1.ensureJSON)(res); } /** * Set webhook endpoint URL * @param setWebhookEndpointRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#set-webhook-endpoint-url"> Documentation</a> */ async setWebhookEndpoint(setWebhookEndpointRequest) { const params = setWebhookEndpointRequest; const res = this.httpClient.put("/v2/bot/channel/webhook/endpoint", params); return (0, utils_1.ensureJSON)(res); } /** * Test webhook endpoint * @param testWebhookEndpointRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#test-webhook-endpoint"> Documentation</a> */ async testWebhookEndpoint(testWebhookEndpointRequest) { const params = testWebhookEndpointRequest; const res = this.httpClient.post("/v2/bot/channel/webhook/test", params); return (0, utils_1.ensureJSON)(res); } /** * Unlink rich menu from user * @param userId User ID. Found in the `source` object of webhook event objects. Do not use the LINE ID used in LINE. * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#unlink-rich-menu-from-user"> Documentation</a> */ async unlinkRichMenuIdFromUser(userId) { const res = this.httpClient.delete("/v2/bot/user/{userId}/richmenu".replace("{userId}", String(userId))); return (0, utils_1.ensureJSON)(res); } /** * Unlink rich menus from multiple users * @param richMenuBulkUnlinkRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#unlink-rich-menu-from-users"> Documentation</a> */ async unlinkRichMenuIdFromUsers(richMenuBulkUnlinkRequest) { const params = richMenuBulkUnlinkRequest; const res = this.httpClient.post("/v2/bot/richmenu/bulk/unlink", params); return (0, utils_1.ensureJSON)(res); } /** * Update rich menu alias * @param richMenuAliasId The rich menu alias ID you want to update. * @param updateRichMenuAliasRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#update-rich-menu-alias"> Documentation</a> */ async updateRichMenuAlias(richMenuAliasId, updateRichMenuAliasRequest) { const params = updateRichMenuAliasRequest; const res = this.httpClient.post("/v2/bot/richmenu/alias/{richMenuAliasId}".replace("{richMenuAliasId}", String(richMenuAliasId)), params); return (0, utils_1.ensureJSON)(res); } /** * Validate message objects of a broadcast message * @param validateMessageRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-broadcast-message"> Documentation</a> */ async validateBroadcast(validateMessageRequest) { const params = validateMessageRequest; const res = this.httpClient.post("/v2/bot/message/validate/broadcast", params); return (0, utils_1.ensureJSON)(res); } /** * Validate message objects of a multicast message * @param validateMessageRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-multicast-message"> Documentation</a> */ async validateMulticast(validateMessageRequest) { const params = validateMessageRequest; const res = this.httpClient.post("/v2/bot/message/validate/multicast", params); return (0, utils_1.ensureJSON)(res); } /** * Validate message objects of a narrowcast message * @param validateMessageRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-narrowcast-message"> Documentation</a> */ async validateNarrowcast(validateMessageRequest) { const params = validateMessageRequest; const res = this.httpClient.post("/v2/bot/message/validate/narrowcast", params); return (0, utils_1.ensureJSON)(res); } /** * Validate message objects of a push message * @param validateMessageRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-push-message"> Documentation</a> */ async validatePush(validateMessageRequest) { const params = validateMessageRequest; const res = this.httpClient.post("/v2/bot/message/validate/push", params); return (0, utils_1.ensureJSON)(res); } /** * Validate message objects of a reply message * @param validateMessageRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#validate-message-objects-of-reply-message"> Documentation</a> */ async validateReply(validateMessageRequest) { const params = validateMessageRequest; const res = this.httpClient.post("/v2/bot/message/validate/reply", params); return (0, utils_1.ensureJSON)(res); } /** * Validate a request body of the Replace or unlink the linked rich menus in batches endpoint. * @param richMenuBatchRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#validate-batch-control-rich-menus-request"> Documentation</a> */ async validateRichMenuBatchRequest(richMenuBatchRequest) { const params = richMenuBatchRequest; const res = this.httpClient.post("/v2/bot/richmenu/validate/batch", params); return (0, utils_1.ensureJSON)(res); } /** * Validate rich menu object * @param richMenuRequest * * @see <a href="https://developers.line.biz/en/reference/messaging-api/#validate-rich-menu-object"> Documentation</a> */ async validateRichMenuObject(richMenuRequest) { const params = richMenuRequest; const res = this.httpClient.post("/v2/bot/richmenu/validate", params); return (0, utils_1.ensureJSON)(res); } } exports.MessagingApiClient = MessagingApiClient;