@eleva-io/erp-sdk
Version:
SDK oficial para el ERP de Eleva
98 lines • 4.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BulkMessagesAPI = void 0;
const guards_1 = require("../../../../utils/guards");
const templates_1 = require("./templates");
const postal_shipments_1 = require("./postal_shipments");
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;
(0, guards_1.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;
(0, guards_1.requireField)('bulkMessageId', messageId);
return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}/unsent`, query);
}
async findRecipientsWithErrors(bulkMessageId, query) {
const messageId = bulkMessageId || this._bulkMessageId;
(0, guards_1.requireField)('bulkMessageId', messageId);
return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}/errors`, query);
}
async findCommunities(bulkMessageId, query) {
const messageId = bulkMessageId || this._bulkMessageId;
(0, guards_1.requireField)('bulkMessageId', messageId);
return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}/communities`, query);
}
async findRecipientsByCommunity(communityId, bulkMessageId, query) {
const messageId = bulkMessageId || this._bulkMessageId;
(0, guards_1.requireField)('bulkMessageId', messageId);
return this._httpClient.get(`${this._baseUrl}/bulk-messages/${messageId}/communities/${communityId}`, query);
}
async validate(bulkMessageId) {
const messageId = bulkMessageId || this._bulkMessageId;
(0, guards_1.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;
(0, guards_1.requireField)('bulkMessageId', messageId);
return this._httpClient.getBinary(`${this._baseUrl}/bulk-messages/${messageId}/documents/${documentId}/download`);
}
async cancel(bulkMessageId) {
const messageId = bulkMessageId || this._bulkMessageId;
(0, guards_1.requireField)('bulkMessageId', messageId);
return this._httpClient.patch(`${this._baseUrl}/bulk-messages/${messageId}/cancel`);
}
postalShipments(bulkMessageId) {
const messageId = bulkMessageId || this._bulkMessageId;
(0, guards_1.requireField)('bulkMessageId', messageId);
return new postal_shipments_1.BulkMessagingPostalShipmentsAPI(this._httpClient, `${this._baseUrl}/bulk-messages/${messageId}/postal-shipments`);
}
templates() {
return new templates_1.BulkMessagingTemplatesAPI(this._httpClient, `${this._baseUrl}/templates`);
}
}
exports.BulkMessagesAPI = BulkMessagesAPI;
//# sourceMappingURL=bulk_messages.js.map