@warriorteam/messenger-sdk
Version:
TypeScript SDK for Facebook Messenger Platform API
1 lines • 145 kB
Source Map (JSON)
{"version":3,"sources":["../src/core/constants.ts","../src/core/errors.ts","../src/core/http-client.ts","../src/utils/message-validators.ts","../src/resources/send.ts","../src/resources/attachments.ts","../src/resources/moderation.ts","../src/utils/validators.ts","../src/resources/templates.ts","../src/resources/profile.ts","../src/client.ts","../src/types/webhooks/base-types.ts","../src/types/webhooks/message-edits.ts","../src/types/webhooks/message-reactions.ts","../src/types/webhooks/message-reads.ts","../src/types/webhooks/messaging-postbacks.ts","../src/types/webhooks/messaging-feedback.ts","../src/types/webhooks/messages.ts","../src/types/webhooks/webhook-events.ts"],"names":["DEFAULT_API_VERSION","BASE_URL","API_ENDPOINTS","MESSAGE_LIMITS","ATTACHMENT_LIMITS","TEMPLATE_LIMITS","MessengerAPIError","error","statusCode","response","MessengerNetworkError","message","cause","MessengerTimeoutError","timeout","MessengerConfigError","HTTPClient","config","options","url","lastError","attempt","path","query","accessTokenOverride","accessToken","key","value","controller","timeoutId","fetchOptions","isJson","errorData","text","ms","resolve","MessageValidationError","validateTextMessage","SendAPI","httpClient","request","recipientId","action","apiOptions","AttachmentsAPI","body","ModerationAPI","userIds","user_ids","id","TemplateValidationError","validateGenericTemplate","elements","element","index","validateGenericElement","isHttpsUrl","validateButtons","validateButtonTemplate","buttons","validateMediaTemplate","context","button","validateButton","TemplatesAPI","payload","ProfileAPI","psid","fields","queryParams","Messenger","clientConfig","WebhookEventType","hasUserId","sender","extractEvents","events","entry","extractBaseContext","event","isIdentifiedUser","isMessageEditEvent","extractMessageEditContext","MESSAGE_EDIT_CONSTANTS","MessageReactionType","MessageReactionAction","isMessageReadsEvent","extractMessageReadsContext","isMessageRead","messageTimestamp","watermark","getReadMessages","messages","getReadMessageCount","MESSAGE_READS_CONSTANTS","isMessagingPostbackEvent","hasReferralData","isIdentifiedSender","extractPostbackContext","isReferred","COMMON_POSTBACK_PAYLOADS","POSTBACK_CONSTANTS","FeedbackType","CSATDisplayOption","NPSDisplayOption","CESDisplayOption","FollowUpType","isMessagingFeedbackEvent","extractMessagingFeedbackContext","allResponses","screen","questionId","question","getFeedbackScoresByType","scoresByType","score","existingScores","extractTextFeedback","textFeedback","MESSAGING_FEEDBACK_CONSTANTS","isValidFeedbackScore","feedbackType","range","isValidQuestionId","isValidTextFeedback","AttachmentType","ReferralType","ReferralSource","isMessageEvent","isTextMessage","hasAttachments","hasQuickReply","isReplyMessage","hasReferral","isAttachmentType","attachment","type","extractMessageContext","getAttachmentsByType","getAttachmentUrls","MESSAGE_CONSTANTS","ATTACHMENT_MIME_TYPES","getWebhookEventType","getWebhookPayloadEventTypes","eventTypes","extractWebhookEvents","addDiscriminator","processWebhookEvents","handlers","rawEvent","exhaustiveCheck","verifyWebhookSubscription","params","verifyToken","verifyWebhookSignature","rawBody","signature","appSecret","crypto","receivedHash","expectedSignature","receivedBuffer","expectedBuffer","isValid"],"mappings":"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","file":"index.cjs","sourcesContent":["export const DEFAULT_API_VERSION = 'v23.0';\nexport const BASE_URL = 'https://graph.facebook.com';\nexport const DEFAULT_TIMEOUT = 30000; // 30 seconds\nexport const MAX_RETRY_ATTEMPTS = 3;\nexport const RETRY_DELAY_MS = 1000;\n\nexport const API_ENDPOINTS = {\n MESSAGES: '/me/messages',\n MESSAGE_ATTACHMENTS: '/me/message_attachments',\n MODERATE_CONVERSATIONS: '/me/moderate_conversations',\n USER_PROFILE: '', // Dynamic endpoint: /{PSID}\n} as const;\n\n// Validation constants\nexport const MESSAGE_LIMITS = {\n // Text messages\n TEXT_MESSAGE_MAX_CHARS: 2000,\n} as const;\n\nexport const ATTACHMENT_LIMITS = {\n // File size limits in bytes\n IMAGE_MAX_SIZE: 8 * 1024 * 1024, // 8MB\n OTHER_MAX_SIZE: 25 * 1024 * 1024, // 25MB (video, audio, file)\n \n // Timeout limits in seconds\n VIDEO_TIMEOUT: 75,\n OTHER_TIMEOUT: 10,\n} as const;\n\nexport const TEMPLATE_LIMITS = {\n // Generic Template\n GENERIC_ELEMENTS_MAX: 10,\n GENERIC_TITLE_MAX_CHARS: 80,\n GENERIC_SUBTITLE_MAX_CHARS: 80,\n \n // Button Template \n BUTTON_TEXT_MAX_CHARS: 640,\n BUTTONS_MAX_COUNT: 3,\n BUTTON_TITLE_MAX_CHARS: 20,\n \n // All Templates\n POSTBACK_PAYLOAD_MAX_CHARS: 1000,\n \n // Media Template\n MEDIA_ELEMENTS_COUNT: 1, // Exactly 1 element required\n MEDIA_BUTTONS_MAX_COUNT: 3,\n} as const;","import type { MessengerError } from '../types/responses.js';\n\nexport class MessengerAPIError extends Error {\n public readonly code: number;\n public readonly type: string;\n public readonly subcode?: number;\n public readonly fbtrace_id?: string;\n public readonly statusCode: number;\n public readonly response?: any;\n\n constructor(error: MessengerError, statusCode: number, response?: any) {\n super(error.message);\n this.name = 'MessengerAPIError';\n this.code = error.code;\n this.type = error.type;\n this.subcode = error.error_subcode;\n this.fbtrace_id = error.fbtrace_id;\n this.statusCode = statusCode;\n this.response = response;\n }\n}\n\nexport class MessengerNetworkError extends Error {\n public readonly cause?: Error;\n\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'MessengerNetworkError';\n this.cause = cause;\n }\n}\n\nexport class MessengerTimeoutError extends Error {\n public readonly timeout: number;\n\n constructor(timeout: number) {\n super(`Request timed out after ${timeout}ms`);\n this.name = 'MessengerTimeoutError';\n this.timeout = timeout;\n }\n}\n\nexport class MessengerConfigError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'MessengerConfigError';\n }\n}","import { BASE_URL, DEFAULT_TIMEOUT, MAX_RETRY_ATTEMPTS, RETRY_DELAY_MS } from './constants.js';\nimport { MessengerAPIError, MessengerNetworkError, MessengerTimeoutError } from './errors.js';\nimport type { ErrorResponse } from '../types/responses.js';\n\nexport interface ClientConfig {\n accessToken?: string;\n version: string;\n baseUrl?: string;\n timeout?: number;\n maxRetries?: number;\n}\n\nexport interface APIOptions {\n accessToken?: string;\n}\n\nexport interface RequestOptions {\n method: 'GET' | 'POST' | 'DELETE';\n path: string;\n body?: any;\n query?: Record<string, string | number | boolean>;\n accessToken?: string;\n}\n\nexport class HTTPClient {\n private readonly config: Required<Omit<ClientConfig, 'accessToken'>> & { accessToken?: string };\n\n constructor(config: ClientConfig) {\n this.config = {\n accessToken: config.accessToken,\n version: config.version,\n baseUrl: config.baseUrl || BASE_URL,\n timeout: config.timeout || DEFAULT_TIMEOUT,\n maxRetries: config.maxRetries || MAX_RETRY_ATTEMPTS,\n };\n }\n\n async request<T>(options: RequestOptions): Promise<T> {\n const url = this.buildUrl(options.path, options.query, options.accessToken);\n let lastError: Error | undefined;\n\n for (let attempt = 0; attempt <= this.config.maxRetries; attempt++) {\n try {\n const response = await this.makeRequest(url, options);\n return await this.handleResponse<T>(response);\n } catch (error) {\n lastError = error as Error;\n\n // Don't retry on client errors (4xx)\n if (\n error instanceof MessengerAPIError &&\n error.statusCode >= 400 &&\n error.statusCode < 500\n ) {\n throw error;\n }\n\n // Don't retry on timeout for the last attempt\n if (attempt === this.config.maxRetries) {\n throw error;\n }\n\n // Wait before retrying\n await this.delay(RETRY_DELAY_MS * (attempt + 1));\n }\n }\n\n throw lastError || new Error('Unknown error occurred');\n }\n\n private buildUrl(\n path: string,\n query?: Record<string, string | number | boolean>,\n accessTokenOverride?: string,\n ): string {\n const url = new URL(`${this.config.baseUrl}/${this.config.version}${path}`);\n\n // Use override token if provided, otherwise use config token\n const accessToken = accessTokenOverride || this.config.accessToken;\n\n if (!accessToken) {\n throw new Error('Access token is required. Provide it in constructor or method options.');\n }\n\n url.searchParams.append('access_token', accessToken);\n\n // Add additional query parameters\n if (query) {\n Object.entries(query).forEach(([key, value]) => {\n url.searchParams.append(key, String(value));\n });\n }\n\n return url.toString();\n }\n\n private async makeRequest(url: string, options: RequestOptions): Promise<Response> {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);\n\n try {\n const fetchOptions: RequestInit = {\n method: options.method,\n headers: {\n 'Content-Type': 'application/json',\n },\n signal: controller.signal,\n };\n\n if (options.body) {\n fetchOptions.body = JSON.stringify(options.body);\n }\n\n const response = await fetch(url, fetchOptions);\n return response;\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === 'AbortError') {\n throw new MessengerTimeoutError(this.config.timeout);\n }\n throw new MessengerNetworkError(`Network request failed: ${error.message}`, error);\n }\n throw error;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n\n private async handleResponse<T>(response: Response): Promise<T> {\n const contentType = response.headers.get('content-type');\n const isJson = contentType?.includes('application/json');\n\n if (!response.ok) {\n if (isJson) {\n const errorData = (await response.json()) as ErrorResponse;\n throw new MessengerAPIError(errorData.error, response.status, errorData);\n } else {\n const text = await response.text();\n throw new MessengerAPIError(\n {\n message: text || `HTTP ${response.status} ${response.statusText}`,\n type: 'http_error',\n code: response.status,\n fbtrace_id: '',\n },\n response.status,\n text,\n );\n }\n }\n\n if (isJson) {\n return (await response.json()) as T;\n }\n\n // For non-JSON responses, return the text\n return (await response.text()) as unknown as T;\n }\n\n private delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n}\n","import { MESSAGE_LIMITS } from '../core/constants.js';\n\nexport class MessageValidationError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'MessageValidationError';\n }\n}\n\nexport function validateTextMessage(text: string): void {\n if (!text || text.trim() === '') {\n throw new MessageValidationError('Text message cannot be empty');\n }\n\n if (text.length > MESSAGE_LIMITS.TEXT_MESSAGE_MAX_CHARS) {\n throw new MessageValidationError(\n `Text message cannot exceed ${MESSAGE_LIMITS.TEXT_MESSAGE_MAX_CHARS} characters`\n );\n }\n}","import type { HTTPClient, APIOptions } from '../core/http-client.js';\nimport { API_ENDPOINTS } from '../core/constants.js';\nimport type { SendMessageRequest, SenderAction, Recipient } from '../types/messages.js';\nimport type { SendMessageResponse } from '../types/responses.js';\nimport type { AttachmentType } from '../types/attachments.js';\nimport { validateTextMessage } from '../utils/message-validators.js';\n\nexport class SendAPI {\n constructor(private httpClient: HTTPClient) {}\n\n async message(request: SendMessageRequest, options?: APIOptions): Promise<SendMessageResponse> {\n // Validate text message length if present\n if (request.message?.text) {\n validateTextMessage(request.message.text);\n }\n\n return this.httpClient.request<SendMessageResponse>({\n method: 'POST',\n path: API_ENDPOINTS.MESSAGES,\n body: request,\n accessToken: options?.accessToken,\n });\n }\n\n async action(recipientId: string, action: SenderAction, options?: APIOptions): Promise<SendMessageResponse> {\n return this.httpClient.request<SendMessageResponse>({\n method: 'POST',\n path: API_ENDPOINTS.MESSAGES,\n body: {\n recipient: { id: recipientId },\n messaging_type: 'RESPONSE',\n sender_action: action,\n },\n accessToken: options?.accessToken,\n });\n }\n\n async typingOn(recipientId: string, options?: APIOptions): Promise<SendMessageResponse> {\n return this.action(recipientId, 'typing_on', options);\n }\n\n async typingOff(recipientId: string, options?: APIOptions): Promise<SendMessageResponse> {\n return this.action(recipientId, 'typing_off', options);\n }\n\n async markSeen(recipientId: string, options?: APIOptions): Promise<SendMessageResponse> {\n return this.action(recipientId, 'mark_seen', options);\n }\n\n // Convenience methods for sending attachments\n\n /**\n * Send an attachment using a previously uploaded attachment_id\n */\n async attachment(options: {\n recipient: Recipient;\n type: AttachmentType;\n attachment_id: string;\n messaging_type?: 'RESPONSE' | 'UPDATE' | 'MESSAGE_TAG';\n }, apiOptions?: APIOptions): Promise<SendMessageResponse> {\n return this.message({\n recipient: options.recipient,\n messaging_type: options.messaging_type ?? 'RESPONSE',\n message: {\n attachment: {\n type: options.type,\n payload: {\n attachment_id: options.attachment_id,\n },\n },\n },\n }, apiOptions);\n }\n\n /**\n * Upload and send an attachment from URL in a single request\n */\n async attachmentFromUrl(options: {\n recipient: Recipient;\n type: AttachmentType;\n url: string;\n messaging_type?: 'RESPONSE' | 'UPDATE' | 'MESSAGE_TAG';\n }, apiOptions?: APIOptions): Promise<SendMessageResponse> {\n return this.message({\n recipient: options.recipient,\n messaging_type: options.messaging_type ?? 'RESPONSE',\n message: {\n attachment: {\n type: options.type,\n payload: {\n url: options.url,\n },\n },\n },\n }, apiOptions);\n }\n}","import type { HTTPClient, APIOptions } from '../core/http-client.js';\nimport { API_ENDPOINTS } from '../core/constants.js';\nimport type { AttachmentUploadRequest, AttachmentUploadResponse } from '../types/attachments.js';\n\nexport class AttachmentsAPI {\n constructor(private httpClient: HTTPClient) {}\n\n async upload(\n request: AttachmentUploadRequest,\n options?: APIOptions,\n ): Promise<AttachmentUploadResponse> {\n // Format according to official API - no message wrapper needed\n const body = {\n message: {\n attachment: {\n type: request.type,\n payload: {\n url: request.url,\n is_reusable: request.is_reusable ?? true,\n },\n },\n },\n };\n\n return this.httpClient.request<AttachmentUploadResponse>({\n method: 'POST',\n path: API_ENDPOINTS.MESSAGE_ATTACHMENTS,\n body,\n accessToken: options?.accessToken,\n });\n }\n}\n","import type { HTTPClient, APIOptions } from '../core/http-client.js';\nimport { API_ENDPOINTS } from '../core/constants.js';\nimport type { \n ModerateConversationsRequest,\n ModerateConversationsResponse\n} from '../types/moderation.js';\n\nexport class ModerationAPI {\n constructor(private httpClient: HTTPClient) {}\n\n /**\n * Moderate conversations with specified actions\n * Up to 10 user IDs and up to 2 actions per request\n */\n async moderate(request: ModerateConversationsRequest, options?: APIOptions): Promise<ModerateConversationsResponse> {\n return this.httpClient.request<ModerateConversationsResponse>({\n method: 'POST',\n path: API_ENDPOINTS.MODERATE_CONVERSATIONS,\n body: request,\n accessToken: options?.accessToken,\n });\n }\n\n /**\n * Block a user from messaging the page\n * Prevents messaging but user can still interact with page content on Facebook\n */\n async blockUser(userIds: string | string[], options?: APIOptions): Promise<ModerateConversationsResponse> {\n const user_ids = Array.isArray(userIds) \n ? userIds.map(id => ({ id }))\n : [{ id: userIds }];\n\n return this.moderate({\n user_ids,\n actions: ['block_user'],\n }, options);\n }\n\n /**\n * Unblock a user to allow messaging again\n */\n async unblockUser(userIds: string | string[], options?: APIOptions): Promise<ModerateConversationsResponse> {\n const user_ids = Array.isArray(userIds)\n ? userIds.map(id => ({ id }))\n : [{ id: userIds }];\n\n return this.moderate({\n user_ids,\n actions: ['unblock_user'],\n }, options);\n }\n\n /**\n * Ban a user from both messaging and Facebook interactions\n * More restrictive than blocking - prevents all interactions\n * Note: Cannot ban user who was unbanned in last 48 hours\n */\n async banUser(userIds: string | string[], options?: APIOptions): Promise<ModerateConversationsResponse> {\n const user_ids = Array.isArray(userIds)\n ? userIds.map(id => ({ id }))\n : [{ id: userIds }];\n\n return this.moderate({\n user_ids,\n actions: ['ban_user'],\n }, options);\n }\n\n /**\n * Unban a user to restore all interactions\n * Note: Banned user cannot be unblocked, they must be unbanned first\n */\n async unbanUser(userIds: string | string[], options?: APIOptions): Promise<ModerateConversationsResponse> {\n const user_ids = Array.isArray(userIds)\n ? userIds.map(id => ({ id }))\n : [{ id: userIds }];\n\n return this.moderate({\n user_ids,\n actions: ['unban_user'],\n }, options);\n }\n\n /**\n * Move conversation to spam folder in Meta Business Suite Inbox\n */\n async moveToSpam(userIds: string | string[], options?: APIOptions): Promise<ModerateConversationsResponse> {\n const user_ids = Array.isArray(userIds)\n ? userIds.map(id => ({ id }))\n : [{ id: userIds }];\n\n return this.moderate({\n user_ids,\n actions: ['move_to_spam'],\n