UNPKG

@eleva-io/erp-sdk

Version:

SDK oficial para el ERP de Eleva

94 lines 4.22 kB
import { requireField } from '../../../../utils/guards'; import { BulkMessagingTemplatesAPI } from './templates'; import { BulkMessagingPostalShipmentsAPI } from './postal_shipments'; export class BulkMessagesAPI { _httpClient; _baseUrl; _bulkMessageId; constructor(_httpClient, _baseUrl, _bulkMessageId) { this._httpClient = _httpClient; this._baseUrl = _baseUrl; this._bulkMessageId = _bulkMessageId; } async create(data) { const { attachments, ...rest } = data; const formData = { subject: rest.subject, content: rest.content, channel: rest.channel, filter: rest.filter, inAppPublishing: rest.inAppPublishing, blocks: rest.blocks, properties: rest.properties, targetCommunityId: rest.targetCommunityId, }; if (rest.scheduledAt) { formData.scheduledAt = rest.scheduledAt; } if (attachments && attachments.length > 0) { formData.attachments = attachments; } return this._httpClient.form(`${this._baseUrl}/bulk-messages`, formData); } async find(query) { return this._httpClient.get(`${this._baseUrl}/bulk-messages`, query); } async get(bulkMessageId) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}`); } async previewCount(data) { return this._httpClient.post(`${this._baseUrl}/preview-count`, data); } async findRecipientsUnsent(bulkMessageId, query) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}/unsent`, query); } async findRecipientsWithErrors(bulkMessageId, query) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}/errors`, query); } async findCommunities(bulkMessageId, query) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}/communities`, query); } async findRecipientsByCommunity(communityId, bulkMessageId, query) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}/communities/${communityId}`, query); } async validate(bulkMessageId) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return this._httpClient.post(`${this._baseUrl}/bulk-messages/${messageId}/validate`); } async validateRecipients(data) { return this._httpClient.post(`${this._baseUrl}/validate`, data); } async getStats() { return this._httpClient.get(`${this._baseUrl}/stats`); } async downloadAttachment(documentId, bulkMessageId) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return this._httpClient.getBinary(`${this._baseUrl}/bulk-messages/${messageId}/documents/${documentId}/download`); } async cancel(bulkMessageId) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return this._httpClient.patch(`${this._baseUrl}/bulk-messages/${messageId}/cancel`); } postalShipments(bulkMessageId) { const messageId = bulkMessageId || this._bulkMessageId; requireField('bulkMessageId', messageId); return new BulkMessagingPostalShipmentsAPI(this._httpClient, `${this._baseUrl}/bulk-messages/${messageId}/postal-shipments`); } templates() { return new BulkMessagingTemplatesAPI(this._httpClient, `${this._baseUrl}/templates`); } } //# sourceMappingURL=bulk_messages.js.map