@opens/gateways 1.14.8 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -92,4 +92,172 @@ interface ManagedUser {
92
92
  }
93
93
  type GetManagedUsersResponse = ManagedUser[];
94
94
 
95
- export type { CompanyData, CompanyResponse, GetAllUsersParams, GetAllUsersResponse, GetManagedUsersResponse, ManagedUser, User, WorkGroup, WorkGroupListResponse, WorkGroupMember, WorkGroupMembersResponse, WorkGroupResponse };
95
+ /** Visual status literals for an announcement payload. */
96
+ type AnnouncementVisualStatus = 'success' | 'alert' | 'warning' | 'custom';
97
+ /** Button displayed inside an announcement payload. */
98
+ interface AnnouncementButton {
99
+ /** Button label. */
100
+ text: string;
101
+ /** Target URL opened when the button is clicked. */
102
+ url: string;
103
+ /** Whether the URL should open in a new browser tab. */
104
+ new_tab: boolean;
105
+ }
106
+ /** Payload rendered by the announcement widget. */
107
+ interface AnnouncementPayload {
108
+ /** Main announcement message. */
109
+ message: string;
110
+ /** Visual style applied to the announcement. */
111
+ visual_status: AnnouncementVisualStatus;
112
+ /** Optional action buttons (up to 3). */
113
+ buttons?: AnnouncementButton[];
114
+ }
115
+ /** URL targeting rule for an announcement. */
116
+ interface AnnouncementTargetingRuleUrl {
117
+ /** Matching strategy. */
118
+ operator: 'starts_with' | 'exact_match';
119
+ /** URL value to match against the current page URL. */
120
+ value: string;
121
+ }
122
+ /** Targeting rules used to decide whether an announcement should be shown. */
123
+ interface AnnouncementTargetingRules {
124
+ /** When true, the announcement matches every profile. */
125
+ allProfiles?: boolean;
126
+ /** Profile slugs that should see the announcement. */
127
+ profiles?: string[];
128
+ /** URL-based targeting rule. */
129
+ url?: AnnouncementTargetingRuleUrl;
130
+ }
131
+ /** Company linked to an announcement. */
132
+ interface AnnouncementCompany {
133
+ /** Announcement identifier. */
134
+ announcementId: string;
135
+ /** Company identifier. */
136
+ companyId: string;
137
+ }
138
+ /** Announcement type returned by the API. */
139
+ interface AnnouncementType {
140
+ /** Unique identifier. */
141
+ id: string;
142
+ /** Type slug (e.g. banner, modal). */
143
+ type: string;
144
+ /** Display name. */
145
+ name: string;
146
+ }
147
+ /** Announcement entity returned by the Customer Service API. */
148
+ interface Announcement {
149
+ /** Unique identifier. */
150
+ id: string;
151
+ /** Display name. */
152
+ name: string;
153
+ /** Identifier of the announcement type. */
154
+ typeId: string;
155
+ /** Whether the announcement is currently active. */
156
+ isActive: boolean;
157
+ /** Whether the announcement is visible to all companies. */
158
+ allCompanies: boolean;
159
+ /** Targeting rules (JSONB). */
160
+ targetingRules: AnnouncementTargetingRules;
161
+ /** Renderable payload. */
162
+ payload: AnnouncementPayload;
163
+ /** Optional expiration ISO date. */
164
+ expiresAt?: string | null;
165
+ /** Creation ISO date. */
166
+ createdAt: string;
167
+ /** Last update ISO date. */
168
+ updatedAt: string;
169
+ /** Linked companies (included on detail endpoints). */
170
+ announcement_companies?: AnnouncementCompany[];
171
+ /** Linked announcement type (included on list/detail endpoints). */
172
+ announcement_type?: AnnouncementType;
173
+ }
174
+ /** Query filters for listing announcements through the admin endpoint. */
175
+ interface AnnouncementListFilters {
176
+ /** Page number (defaults to 1). */
177
+ page?: number;
178
+ /** Items per page (defaults to 20, max 100). */
179
+ limit?: number;
180
+ /** Filter by active flag. */
181
+ isActive?: boolean;
182
+ /** Filter by global companies flag. */
183
+ allCompanies?: boolean;
184
+ /** true: only expired; false: only not expired; omitted: no expiration filter. */
185
+ expired?: boolean;
186
+ /** Filter by a linked company UUID. */
187
+ companyId?: string;
188
+ /** Filter by announcement type UUID. */
189
+ typeId?: string;
190
+ /** Filter by targeted profile. */
191
+ profile?: string;
192
+ /** Filter by targeted URL. */
193
+ url?: string;
194
+ }
195
+ /** Paginated response returned by the announcements admin list endpoint. */
196
+ interface AnnouncementListResponse {
197
+ /** Total matching rows. */
198
+ count: number;
199
+ /** Current page rows. */
200
+ rows: Announcement[];
201
+ }
202
+ /** Request payload for creating an announcement. */
203
+ interface CreateAnnouncementRequest {
204
+ /** Display name. */
205
+ name: string;
206
+ /** Identifier of the announcement type. */
207
+ typeId: string;
208
+ /** Whether the announcement should start active (defaults to true). */
209
+ isActive?: boolean;
210
+ /** Whether the announcement is visible to all companies. */
211
+ allCompanies: boolean;
212
+ /** Optional expiration ISO date. */
213
+ expiresAt?: string | null;
214
+ /** Renderable payload. */
215
+ payload: AnnouncementPayload;
216
+ /** Company UUIDs allowed to see the announcement when allCompanies is false. */
217
+ companies?: string[];
218
+ /** Targeting rules. */
219
+ targetingRules?: AnnouncementTargetingRules;
220
+ }
221
+ /** Request payload for updating an announcement. */
222
+ interface UpdateAnnouncementRequest {
223
+ /** Display name. */
224
+ name: string;
225
+ /** Identifier of the announcement type. */
226
+ typeId: string;
227
+ /** Whether the announcement is currently active. */
228
+ isActive?: boolean;
229
+ /** Whether the announcement is visible to all companies. */
230
+ allCompanies: boolean;
231
+ /** Optional expiration ISO date. */
232
+ expiresAt?: string | null;
233
+ /** Renderable payload. */
234
+ payload: AnnouncementPayload;
235
+ /** Company UUIDs allowed to see the announcement when allCompanies is false. */
236
+ companies?: string[];
237
+ /** Targeting rules. */
238
+ targetingRules?: AnnouncementTargetingRules;
239
+ }
240
+ /** Request payload for toggling an announcement active status. */
241
+ interface UpdateAnnouncementStatusRequest {
242
+ /** New active status. */
243
+ isActive: boolean;
244
+ }
245
+ /** Query parameters for the active announcements widget endpoint. */
246
+ interface ActiveAnnouncementQuery {
247
+ /** Widget context (e.g. current page URL). */
248
+ environment?: {
249
+ /** Current page URL used for URL targeting rules. */
250
+ url?: string;
251
+ };
252
+ }
253
+ /** Slim announcement payload returned by the active endpoint (widget). */
254
+ interface ActiveAnnouncement {
255
+ /** Unique identifier. */
256
+ id: string;
257
+ /** Announcement type slug. */
258
+ type?: string;
259
+ /** Renderable payload. */
260
+ payload: AnnouncementPayload;
261
+ }
262
+
263
+ export type { ActiveAnnouncement, ActiveAnnouncementQuery, Announcement, AnnouncementButton, AnnouncementCompany, AnnouncementListFilters, AnnouncementListResponse, AnnouncementPayload, AnnouncementTargetingRuleUrl, AnnouncementTargetingRules, AnnouncementType, AnnouncementVisualStatus, CompanyData, CompanyResponse, CreateAnnouncementRequest, GetAllUsersParams, GetAllUsersResponse, GetManagedUsersResponse, ManagedUser, UpdateAnnouncementRequest, UpdateAnnouncementStatusRequest, User, WorkGroup, WorkGroupListResponse, WorkGroupMember, WorkGroupMembersResponse, WorkGroupResponse };
@@ -92,4 +92,172 @@ interface ManagedUser {
92
92
  }
93
93
  type GetManagedUsersResponse = ManagedUser[];
94
94
 
95
- export type { CompanyData, CompanyResponse, GetAllUsersParams, GetAllUsersResponse, GetManagedUsersResponse, ManagedUser, User, WorkGroup, WorkGroupListResponse, WorkGroupMember, WorkGroupMembersResponse, WorkGroupResponse };
95
+ /** Visual status literals for an announcement payload. */
96
+ type AnnouncementVisualStatus = 'success' | 'alert' | 'warning' | 'custom';
97
+ /** Button displayed inside an announcement payload. */
98
+ interface AnnouncementButton {
99
+ /** Button label. */
100
+ text: string;
101
+ /** Target URL opened when the button is clicked. */
102
+ url: string;
103
+ /** Whether the URL should open in a new browser tab. */
104
+ new_tab: boolean;
105
+ }
106
+ /** Payload rendered by the announcement widget. */
107
+ interface AnnouncementPayload {
108
+ /** Main announcement message. */
109
+ message: string;
110
+ /** Visual style applied to the announcement. */
111
+ visual_status: AnnouncementVisualStatus;
112
+ /** Optional action buttons (up to 3). */
113
+ buttons?: AnnouncementButton[];
114
+ }
115
+ /** URL targeting rule for an announcement. */
116
+ interface AnnouncementTargetingRuleUrl {
117
+ /** Matching strategy. */
118
+ operator: 'starts_with' | 'exact_match';
119
+ /** URL value to match against the current page URL. */
120
+ value: string;
121
+ }
122
+ /** Targeting rules used to decide whether an announcement should be shown. */
123
+ interface AnnouncementTargetingRules {
124
+ /** When true, the announcement matches every profile. */
125
+ allProfiles?: boolean;
126
+ /** Profile slugs that should see the announcement. */
127
+ profiles?: string[];
128
+ /** URL-based targeting rule. */
129
+ url?: AnnouncementTargetingRuleUrl;
130
+ }
131
+ /** Company linked to an announcement. */
132
+ interface AnnouncementCompany {
133
+ /** Announcement identifier. */
134
+ announcementId: string;
135
+ /** Company identifier. */
136
+ companyId: string;
137
+ }
138
+ /** Announcement type returned by the API. */
139
+ interface AnnouncementType {
140
+ /** Unique identifier. */
141
+ id: string;
142
+ /** Type slug (e.g. banner, modal). */
143
+ type: string;
144
+ /** Display name. */
145
+ name: string;
146
+ }
147
+ /** Announcement entity returned by the Customer Service API. */
148
+ interface Announcement {
149
+ /** Unique identifier. */
150
+ id: string;
151
+ /** Display name. */
152
+ name: string;
153
+ /** Identifier of the announcement type. */
154
+ typeId: string;
155
+ /** Whether the announcement is currently active. */
156
+ isActive: boolean;
157
+ /** Whether the announcement is visible to all companies. */
158
+ allCompanies: boolean;
159
+ /** Targeting rules (JSONB). */
160
+ targetingRules: AnnouncementTargetingRules;
161
+ /** Renderable payload. */
162
+ payload: AnnouncementPayload;
163
+ /** Optional expiration ISO date. */
164
+ expiresAt?: string | null;
165
+ /** Creation ISO date. */
166
+ createdAt: string;
167
+ /** Last update ISO date. */
168
+ updatedAt: string;
169
+ /** Linked companies (included on detail endpoints). */
170
+ announcement_companies?: AnnouncementCompany[];
171
+ /** Linked announcement type (included on list/detail endpoints). */
172
+ announcement_type?: AnnouncementType;
173
+ }
174
+ /** Query filters for listing announcements through the admin endpoint. */
175
+ interface AnnouncementListFilters {
176
+ /** Page number (defaults to 1). */
177
+ page?: number;
178
+ /** Items per page (defaults to 20, max 100). */
179
+ limit?: number;
180
+ /** Filter by active flag. */
181
+ isActive?: boolean;
182
+ /** Filter by global companies flag. */
183
+ allCompanies?: boolean;
184
+ /** true: only expired; false: only not expired; omitted: no expiration filter. */
185
+ expired?: boolean;
186
+ /** Filter by a linked company UUID. */
187
+ companyId?: string;
188
+ /** Filter by announcement type UUID. */
189
+ typeId?: string;
190
+ /** Filter by targeted profile. */
191
+ profile?: string;
192
+ /** Filter by targeted URL. */
193
+ url?: string;
194
+ }
195
+ /** Paginated response returned by the announcements admin list endpoint. */
196
+ interface AnnouncementListResponse {
197
+ /** Total matching rows. */
198
+ count: number;
199
+ /** Current page rows. */
200
+ rows: Announcement[];
201
+ }
202
+ /** Request payload for creating an announcement. */
203
+ interface CreateAnnouncementRequest {
204
+ /** Display name. */
205
+ name: string;
206
+ /** Identifier of the announcement type. */
207
+ typeId: string;
208
+ /** Whether the announcement should start active (defaults to true). */
209
+ isActive?: boolean;
210
+ /** Whether the announcement is visible to all companies. */
211
+ allCompanies: boolean;
212
+ /** Optional expiration ISO date. */
213
+ expiresAt?: string | null;
214
+ /** Renderable payload. */
215
+ payload: AnnouncementPayload;
216
+ /** Company UUIDs allowed to see the announcement when allCompanies is false. */
217
+ companies?: string[];
218
+ /** Targeting rules. */
219
+ targetingRules?: AnnouncementTargetingRules;
220
+ }
221
+ /** Request payload for updating an announcement. */
222
+ interface UpdateAnnouncementRequest {
223
+ /** Display name. */
224
+ name: string;
225
+ /** Identifier of the announcement type. */
226
+ typeId: string;
227
+ /** Whether the announcement is currently active. */
228
+ isActive?: boolean;
229
+ /** Whether the announcement is visible to all companies. */
230
+ allCompanies: boolean;
231
+ /** Optional expiration ISO date. */
232
+ expiresAt?: string | null;
233
+ /** Renderable payload. */
234
+ payload: AnnouncementPayload;
235
+ /** Company UUIDs allowed to see the announcement when allCompanies is false. */
236
+ companies?: string[];
237
+ /** Targeting rules. */
238
+ targetingRules?: AnnouncementTargetingRules;
239
+ }
240
+ /** Request payload for toggling an announcement active status. */
241
+ interface UpdateAnnouncementStatusRequest {
242
+ /** New active status. */
243
+ isActive: boolean;
244
+ }
245
+ /** Query parameters for the active announcements widget endpoint. */
246
+ interface ActiveAnnouncementQuery {
247
+ /** Widget context (e.g. current page URL). */
248
+ environment?: {
249
+ /** Current page URL used for URL targeting rules. */
250
+ url?: string;
251
+ };
252
+ }
253
+ /** Slim announcement payload returned by the active endpoint (widget). */
254
+ interface ActiveAnnouncement {
255
+ /** Unique identifier. */
256
+ id: string;
257
+ /** Announcement type slug. */
258
+ type?: string;
259
+ /** Renderable payload. */
260
+ payload: AnnouncementPayload;
261
+ }
262
+
263
+ export type { ActiveAnnouncement, ActiveAnnouncementQuery, Announcement, AnnouncementButton, AnnouncementCompany, AnnouncementListFilters, AnnouncementListResponse, AnnouncementPayload, AnnouncementTargetingRuleUrl, AnnouncementTargetingRules, AnnouncementType, AnnouncementVisualStatus, CompanyData, CompanyResponse, CreateAnnouncementRequest, GetAllUsersParams, GetAllUsersResponse, GetManagedUsersResponse, ManagedUser, UpdateAnnouncementRequest, UpdateAnnouncementStatusRequest, User, WorkGroup, WorkGroupListResponse, WorkGroupMember, WorkGroupMembersResponse, WorkGroupResponse };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/customer-service/contracts/index.ts"],"sourcesContent":["export * from './work-group';\nexport * from './company';\nexport * from './user';"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../src/customer-service/contracts/index.ts"],"sourcesContent":["export * from './work-group';\nexport * from './company';\nexport * from './user';\nexport * from './announcement';"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { CompanyResponse, WorkGroupListResponse, WorkGroupResponse, WorkGroupMembersResponse, GetAllUsersParams, GetAllUsersResponse, GetManagedUsersResponse } from './customer-service/contracts/index.mjs';
3
- export { CompanyData, ManagedUser, User, WorkGroup, WorkGroupMember } from './customer-service/contracts/index.mjs';
2
+ import { CompanyResponse, WorkGroupListResponse, WorkGroupResponse, WorkGroupMembersResponse, GetAllUsersParams, GetAllUsersResponse, GetManagedUsersResponse, AnnouncementListFilters, AnnouncementListResponse, Announcement, CreateAnnouncementRequest, UpdateAnnouncementRequest, UpdateAnnouncementStatusRequest, ActiveAnnouncementQuery, ActiveAnnouncement } from './customer-service/contracts/index.mjs';
3
+ export { AnnouncementButton, AnnouncementCompany, AnnouncementPayload, AnnouncementTargetingRuleUrl, AnnouncementTargetingRules, AnnouncementType, AnnouncementVisualStatus, CompanyData, ManagedUser, User, WorkGroup, WorkGroupMember } from './customer-service/contracts/index.mjs';
4
4
  import { ProviderListResponse, GetProviderConfigurationsParams, ProviderConfigurationsResponse, GetProviderDisplayInfoParams, ProviderDisplayInfoResponse, GetConfigsByProviderParams, ConfigListByProviderResponse, Queue, GetMemberQueuesRequest, QueueMember, GetServiceGroupsParams, ServiceGroupsResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, FindOrCreateQueueRuleRequest, QueueRule, GetRootRulesRequest, RootRulesResponse } from './chat-config/contracts/index.mjs';
5
5
  export { Config, ConfigProvider, DistributionType, MetaTemplateButton, Provider, ProviderConfiguration, ProviderName, QueueListResponse, Rule, ServiceGroup, WhatsAppProviderSettings, WidgetProviderSettings } from './chat-config/contracts/index.mjs';
6
6
  import { CampaignQueryParams, CampaignPaginatedResponse, Campaign, CreateCampaignRequest, PatchCampaignRequest, CampaignContactQueryParams, CampaignContactPaginatedResponse, CampaignContactResponse, CreateCampaignContactRequest, PatchCampaignContactRequest, CampaignContactsDashboardQueryParams, CampaignContactsDashboardData, CampaignUser, CampaignWorkGroupQueryParams, CampaignWorkGroupPaginatedResponse, CreateCampaignWorkGroupRequest, CampaignWorkGroup, CampaignCompanyQueryParams, CampaignCompanyPaginatedResponse, CampaignCompanyResponse, EnableCampaignCompanyRequest, CampaignAccessResponse } from './campaigns/contracts/index.mjs';
@@ -63,6 +63,49 @@ declare class CustomerServiceGateway {
63
63
  * Logs out the current user.
64
64
  */
65
65
  logout(): Promise<void>;
66
+ /**
67
+ * Retrieves a paginated list of announcements.
68
+ * @param query - Optional filters and pagination parameters.
69
+ * @returns The paginated announcements response.
70
+ */
71
+ findAnnouncements(query?: AnnouncementListFilters): Promise<AnnouncementListResponse>;
72
+ /**
73
+ * Retrieves an announcement by its unique identifier.
74
+ * @param announcementId - The unique identifier of the announcement.
75
+ * @returns The announcement data.
76
+ */
77
+ getAnnouncement(announcementId: string): Promise<Announcement>;
78
+ /**
79
+ * Creates a new announcement.
80
+ * @param payload - The announcement data to create.
81
+ * @returns The created announcement.
82
+ */
83
+ createAnnouncement(payload: CreateAnnouncementRequest): Promise<Announcement>;
84
+ /**
85
+ * Updates an existing announcement.
86
+ * @param announcementId - The unique identifier of the announcement.
87
+ * @param payload - The announcement data to update.
88
+ * @returns The updated announcement.
89
+ */
90
+ updateAnnouncement(announcementId: string, payload: UpdateAnnouncementRequest): Promise<Announcement>;
91
+ /**
92
+ * Toggles the active status of an announcement.
93
+ * @param announcementId - The unique identifier of the announcement.
94
+ * @param payload - The new active status.
95
+ * @returns The updated announcement.
96
+ */
97
+ updateAnnouncementStatus(announcementId: string, payload: UpdateAnnouncementStatusRequest): Promise<Announcement>;
98
+ /**
99
+ * Removes an announcement by its unique identifier.
100
+ * @param announcementId - The unique identifier of the announcement.
101
+ */
102
+ deleteAnnouncement(announcementId: string): Promise<void>;
103
+ /**
104
+ * Retrieves active announcements tailored for the widget context.
105
+ * @param query - The company and environment context.
106
+ * @returns The active announcements for the widget.
107
+ */
108
+ findActiveAnnouncements(query: ActiveAnnouncementQuery): Promise<ActiveAnnouncement[]>;
66
109
  }
67
110
 
68
111
  /**
@@ -716,4 +759,4 @@ declare const configure: (params: GatewayClientParams) => void;
716
759
  */
717
760
  declare function gateway<T extends keyof GatewayMap>(service: T): GatewayMap[T];
718
761
 
719
- export { AccessPackage, AttachmentByIdResponse, AudioConvertResponse, AutomationPartner, AutomationPartnerAction, Campaign, CampaignAccessResponse, CampaignCompanyPaginatedResponse, CampaignCompanyQueryParams, CampaignCompanyResponse, CampaignContactPaginatedResponse, CampaignContactQueryParams, CampaignContactResponse, CampaignContactsDashboardData, CampaignContactsDashboardQueryParams, CampaignPaginatedResponse, CampaignQueryParams, CampaignUser, CampaignWorkGroup, CampaignWorkGroupPaginatedResponse, CampaignWorkGroupQueryParams, CancelInvitationRequest, CaseFeedByActionItem, CasePermissions, CaseTimeEntry, CommentHistoryPage, CompanyAccessPackageItem, CompanyResource, CompanyResponse, ConfigListByProviderResponse, ContactCategoryResponse, ContactHistoryResponse, ContactPhoneSearchResponse, CreateAutomationPartnerRequest, CreateCampaignContactRequest, CreateCampaignRequest, CreateCampaignWorkGroupRequest, CreateCompanyAccessPackagePayload, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, CreateTimeEntryRequest, CreateWebhookRequest$1 as CreateWebhookRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, DeleteTimeEntryRequest, EnableCampaignCompanyRequest, FindOrCreateQueueRuleRequest, GetAccessPackagesParams, GetAllUsersParams, GetAllUsersResponse, GetAttachmentByIdRequest, GetAutomationPartnerRequest, GetCaseFeedByActionsRequest, GetCommentHistoryRequest, GetCompanyAccessPackagesParams, GetCompanyResourcesParams, GetConfigTemplatesParams, GetConfigTemplatesResponse, GetConfigsByProviderParams, GetContactPhonesParams, GetInitialContextRequest, GetInitialContextResponse, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetManagedUsersResponse, GetMemberQueuesRequest, GetMessagesByCursorRequest, GetMessagesByCursorResponse, GetPresignedUrlRequest, GetProviderConfigurationsParams, GetProviderDisplayInfoParams, GetRoomByIdRequest, GetRootRulesRequest, GetServiceGroupsParams, GetWebhooksByCompanyRequest$1 as GetWebhooksByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, InvitationResponse, ListAutomationActionsRequest, ListAutomationPartnersRequest, ListCasesRequest, ListCasesResponse, ListContactHistoryRequest, ListInvitationsRequest, ListLiveUserRoomsRequest, ListTimeEntriesPage, ListTimeEntriesRequest, LiveUserRoomResponse, MarkMessagesAsReadRequest, MarkMessagesAsReadResponse, MessageResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, PaginatedResult, PatchCampaignContactRequest, PatchCampaignRequest, ProviderConfigurationsResponse, ProviderDisplayInfoResponse, ProviderListResponse, Queue, QueueMember, QueueRule, ReplyInvitationRequest, RoomMemberResponse, RoomResponse, RootRulesResponse, SERVICE_GATEWAYS, SERVICE_GATEWAYS as SERVICE_GATEWAYS_TYPE, SendAttachmentMessageResponse, SendMessageRequest, ServiceGroupsResponse, UpdateCasePermissionsRequest, UpdateCompanyAccessPackagePayload, UpdateIntegrationActionParams, UpdateIntegrationFieldParams, UpdateMemberInRoomRequest, UpdateTimeEntryRequest, UploadPresignedUrlResponse, WorkGroupListResponse, WorkGroupMembersResponse, WorkGroupResponse, configure, gateway };
762
+ export { AccessPackage, ActiveAnnouncement, ActiveAnnouncementQuery, Announcement, AnnouncementListFilters, AnnouncementListResponse, AttachmentByIdResponse, AudioConvertResponse, AutomationPartner, AutomationPartnerAction, Campaign, CampaignAccessResponse, CampaignCompanyPaginatedResponse, CampaignCompanyQueryParams, CampaignCompanyResponse, CampaignContactPaginatedResponse, CampaignContactQueryParams, CampaignContactResponse, CampaignContactsDashboardData, CampaignContactsDashboardQueryParams, CampaignPaginatedResponse, CampaignQueryParams, CampaignUser, CampaignWorkGroup, CampaignWorkGroupPaginatedResponse, CampaignWorkGroupQueryParams, CancelInvitationRequest, CaseFeedByActionItem, CasePermissions, CaseTimeEntry, CommentHistoryPage, CompanyAccessPackageItem, CompanyResource, CompanyResponse, ConfigListByProviderResponse, ContactCategoryResponse, ContactHistoryResponse, ContactPhoneSearchResponse, CreateAnnouncementRequest, CreateAutomationPartnerRequest, CreateCampaignContactRequest, CreateCampaignRequest, CreateCampaignWorkGroupRequest, CreateCompanyAccessPackagePayload, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, CreateTimeEntryRequest, CreateWebhookRequest$1 as CreateWebhookRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, DeleteTimeEntryRequest, EnableCampaignCompanyRequest, FindOrCreateQueueRuleRequest, GetAccessPackagesParams, GetAllUsersParams, GetAllUsersResponse, GetAttachmentByIdRequest, GetAutomationPartnerRequest, GetCaseFeedByActionsRequest, GetCommentHistoryRequest, GetCompanyAccessPackagesParams, GetCompanyResourcesParams, GetConfigTemplatesParams, GetConfigTemplatesResponse, GetConfigsByProviderParams, GetContactPhonesParams, GetInitialContextRequest, GetInitialContextResponse, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetManagedUsersResponse, GetMemberQueuesRequest, GetMessagesByCursorRequest, GetMessagesByCursorResponse, GetPresignedUrlRequest, GetProviderConfigurationsParams, GetProviderDisplayInfoParams, GetRoomByIdRequest, GetRootRulesRequest, GetServiceGroupsParams, GetWebhooksByCompanyRequest$1 as GetWebhooksByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, InvitationResponse, ListAutomationActionsRequest, ListAutomationPartnersRequest, ListCasesRequest, ListCasesResponse, ListContactHistoryRequest, ListInvitationsRequest, ListLiveUserRoomsRequest, ListTimeEntriesPage, ListTimeEntriesRequest, LiveUserRoomResponse, MarkMessagesAsReadRequest, MarkMessagesAsReadResponse, MessageResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, PaginatedResult, PatchCampaignContactRequest, PatchCampaignRequest, ProviderConfigurationsResponse, ProviderDisplayInfoResponse, ProviderListResponse, Queue, QueueMember, QueueRule, ReplyInvitationRequest, RoomMemberResponse, RoomResponse, RootRulesResponse, SERVICE_GATEWAYS, SERVICE_GATEWAYS as SERVICE_GATEWAYS_TYPE, SendAttachmentMessageResponse, SendMessageRequest, ServiceGroupsResponse, UpdateAnnouncementRequest, UpdateAnnouncementStatusRequest, UpdateCasePermissionsRequest, UpdateCompanyAccessPackagePayload, UpdateIntegrationActionParams, UpdateIntegrationFieldParams, UpdateMemberInRoomRequest, UpdateTimeEntryRequest, UploadPresignedUrlResponse, WorkGroupListResponse, WorkGroupMembersResponse, WorkGroupResponse, configure, gateway };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { CompanyResponse, WorkGroupListResponse, WorkGroupResponse, WorkGroupMembersResponse, GetAllUsersParams, GetAllUsersResponse, GetManagedUsersResponse } from './customer-service/contracts/index.js';
3
- export { CompanyData, ManagedUser, User, WorkGroup, WorkGroupMember } from './customer-service/contracts/index.js';
2
+ import { CompanyResponse, WorkGroupListResponse, WorkGroupResponse, WorkGroupMembersResponse, GetAllUsersParams, GetAllUsersResponse, GetManagedUsersResponse, AnnouncementListFilters, AnnouncementListResponse, Announcement, CreateAnnouncementRequest, UpdateAnnouncementRequest, UpdateAnnouncementStatusRequest, ActiveAnnouncementQuery, ActiveAnnouncement } from './customer-service/contracts/index.js';
3
+ export { AnnouncementButton, AnnouncementCompany, AnnouncementPayload, AnnouncementTargetingRuleUrl, AnnouncementTargetingRules, AnnouncementType, AnnouncementVisualStatus, CompanyData, ManagedUser, User, WorkGroup, WorkGroupMember } from './customer-service/contracts/index.js';
4
4
  import { ProviderListResponse, GetProviderConfigurationsParams, ProviderConfigurationsResponse, GetProviderDisplayInfoParams, ProviderDisplayInfoResponse, GetConfigsByProviderParams, ConfigListByProviderResponse, Queue, GetMemberQueuesRequest, QueueMember, GetServiceGroupsParams, ServiceGroupsResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, FindOrCreateQueueRuleRequest, QueueRule, GetRootRulesRequest, RootRulesResponse } from './chat-config/contracts/index.js';
5
5
  export { Config, ConfigProvider, DistributionType, MetaTemplateButton, Provider, ProviderConfiguration, ProviderName, QueueListResponse, Rule, ServiceGroup, WhatsAppProviderSettings, WidgetProviderSettings } from './chat-config/contracts/index.js';
6
6
  import { CampaignQueryParams, CampaignPaginatedResponse, Campaign, CreateCampaignRequest, PatchCampaignRequest, CampaignContactQueryParams, CampaignContactPaginatedResponse, CampaignContactResponse, CreateCampaignContactRequest, PatchCampaignContactRequest, CampaignContactsDashboardQueryParams, CampaignContactsDashboardData, CampaignUser, CampaignWorkGroupQueryParams, CampaignWorkGroupPaginatedResponse, CreateCampaignWorkGroupRequest, CampaignWorkGroup, CampaignCompanyQueryParams, CampaignCompanyPaginatedResponse, CampaignCompanyResponse, EnableCampaignCompanyRequest, CampaignAccessResponse } from './campaigns/contracts/index.js';
@@ -63,6 +63,49 @@ declare class CustomerServiceGateway {
63
63
  * Logs out the current user.
64
64
  */
65
65
  logout(): Promise<void>;
66
+ /**
67
+ * Retrieves a paginated list of announcements.
68
+ * @param query - Optional filters and pagination parameters.
69
+ * @returns The paginated announcements response.
70
+ */
71
+ findAnnouncements(query?: AnnouncementListFilters): Promise<AnnouncementListResponse>;
72
+ /**
73
+ * Retrieves an announcement by its unique identifier.
74
+ * @param announcementId - The unique identifier of the announcement.
75
+ * @returns The announcement data.
76
+ */
77
+ getAnnouncement(announcementId: string): Promise<Announcement>;
78
+ /**
79
+ * Creates a new announcement.
80
+ * @param payload - The announcement data to create.
81
+ * @returns The created announcement.
82
+ */
83
+ createAnnouncement(payload: CreateAnnouncementRequest): Promise<Announcement>;
84
+ /**
85
+ * Updates an existing announcement.
86
+ * @param announcementId - The unique identifier of the announcement.
87
+ * @param payload - The announcement data to update.
88
+ * @returns The updated announcement.
89
+ */
90
+ updateAnnouncement(announcementId: string, payload: UpdateAnnouncementRequest): Promise<Announcement>;
91
+ /**
92
+ * Toggles the active status of an announcement.
93
+ * @param announcementId - The unique identifier of the announcement.
94
+ * @param payload - The new active status.
95
+ * @returns The updated announcement.
96
+ */
97
+ updateAnnouncementStatus(announcementId: string, payload: UpdateAnnouncementStatusRequest): Promise<Announcement>;
98
+ /**
99
+ * Removes an announcement by its unique identifier.
100
+ * @param announcementId - The unique identifier of the announcement.
101
+ */
102
+ deleteAnnouncement(announcementId: string): Promise<void>;
103
+ /**
104
+ * Retrieves active announcements tailored for the widget context.
105
+ * @param query - The company and environment context.
106
+ * @returns The active announcements for the widget.
107
+ */
108
+ findActiveAnnouncements(query: ActiveAnnouncementQuery): Promise<ActiveAnnouncement[]>;
66
109
  }
67
110
 
68
111
  /**
@@ -716,4 +759,4 @@ declare const configure: (params: GatewayClientParams) => void;
716
759
  */
717
760
  declare function gateway<T extends keyof GatewayMap>(service: T): GatewayMap[T];
718
761
 
719
- export { AccessPackage, AttachmentByIdResponse, AudioConvertResponse, AutomationPartner, AutomationPartnerAction, Campaign, CampaignAccessResponse, CampaignCompanyPaginatedResponse, CampaignCompanyQueryParams, CampaignCompanyResponse, CampaignContactPaginatedResponse, CampaignContactQueryParams, CampaignContactResponse, CampaignContactsDashboardData, CampaignContactsDashboardQueryParams, CampaignPaginatedResponse, CampaignQueryParams, CampaignUser, CampaignWorkGroup, CampaignWorkGroupPaginatedResponse, CampaignWorkGroupQueryParams, CancelInvitationRequest, CaseFeedByActionItem, CasePermissions, CaseTimeEntry, CommentHistoryPage, CompanyAccessPackageItem, CompanyResource, CompanyResponse, ConfigListByProviderResponse, ContactCategoryResponse, ContactHistoryResponse, ContactPhoneSearchResponse, CreateAutomationPartnerRequest, CreateCampaignContactRequest, CreateCampaignRequest, CreateCampaignWorkGroupRequest, CreateCompanyAccessPackagePayload, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, CreateTimeEntryRequest, CreateWebhookRequest$1 as CreateWebhookRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, DeleteTimeEntryRequest, EnableCampaignCompanyRequest, FindOrCreateQueueRuleRequest, GetAccessPackagesParams, GetAllUsersParams, GetAllUsersResponse, GetAttachmentByIdRequest, GetAutomationPartnerRequest, GetCaseFeedByActionsRequest, GetCommentHistoryRequest, GetCompanyAccessPackagesParams, GetCompanyResourcesParams, GetConfigTemplatesParams, GetConfigTemplatesResponse, GetConfigsByProviderParams, GetContactPhonesParams, GetInitialContextRequest, GetInitialContextResponse, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetManagedUsersResponse, GetMemberQueuesRequest, GetMessagesByCursorRequest, GetMessagesByCursorResponse, GetPresignedUrlRequest, GetProviderConfigurationsParams, GetProviderDisplayInfoParams, GetRoomByIdRequest, GetRootRulesRequest, GetServiceGroupsParams, GetWebhooksByCompanyRequest$1 as GetWebhooksByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, InvitationResponse, ListAutomationActionsRequest, ListAutomationPartnersRequest, ListCasesRequest, ListCasesResponse, ListContactHistoryRequest, ListInvitationsRequest, ListLiveUserRoomsRequest, ListTimeEntriesPage, ListTimeEntriesRequest, LiveUserRoomResponse, MarkMessagesAsReadRequest, MarkMessagesAsReadResponse, MessageResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, PaginatedResult, PatchCampaignContactRequest, PatchCampaignRequest, ProviderConfigurationsResponse, ProviderDisplayInfoResponse, ProviderListResponse, Queue, QueueMember, QueueRule, ReplyInvitationRequest, RoomMemberResponse, RoomResponse, RootRulesResponse, SERVICE_GATEWAYS, SERVICE_GATEWAYS as SERVICE_GATEWAYS_TYPE, SendAttachmentMessageResponse, SendMessageRequest, ServiceGroupsResponse, UpdateCasePermissionsRequest, UpdateCompanyAccessPackagePayload, UpdateIntegrationActionParams, UpdateIntegrationFieldParams, UpdateMemberInRoomRequest, UpdateTimeEntryRequest, UploadPresignedUrlResponse, WorkGroupListResponse, WorkGroupMembersResponse, WorkGroupResponse, configure, gateway };
762
+ export { AccessPackage, ActiveAnnouncement, ActiveAnnouncementQuery, Announcement, AnnouncementListFilters, AnnouncementListResponse, AttachmentByIdResponse, AudioConvertResponse, AutomationPartner, AutomationPartnerAction, Campaign, CampaignAccessResponse, CampaignCompanyPaginatedResponse, CampaignCompanyQueryParams, CampaignCompanyResponse, CampaignContactPaginatedResponse, CampaignContactQueryParams, CampaignContactResponse, CampaignContactsDashboardData, CampaignContactsDashboardQueryParams, CampaignPaginatedResponse, CampaignQueryParams, CampaignUser, CampaignWorkGroup, CampaignWorkGroupPaginatedResponse, CampaignWorkGroupQueryParams, CancelInvitationRequest, CaseFeedByActionItem, CasePermissions, CaseTimeEntry, CommentHistoryPage, CompanyAccessPackageItem, CompanyResource, CompanyResponse, ConfigListByProviderResponse, ContactCategoryResponse, ContactHistoryResponse, ContactPhoneSearchResponse, CreateAnnouncementRequest, CreateAutomationPartnerRequest, CreateCampaignContactRequest, CreateCampaignRequest, CreateCampaignWorkGroupRequest, CreateCompanyAccessPackagePayload, CreateIntegrationActionRequest, CreateIntegrationFieldRequest, CreateIntegrationPartnerRequest, CreateTimeEntryRequest, CreateWebhookRequest$1 as CreateWebhookRequest, DeleteIntegrationActionParams, DeleteIntegrationFieldParams, DeleteIntegrationPartnerParams, DeleteTimeEntryRequest, EnableCampaignCompanyRequest, FindOrCreateQueueRuleRequest, GetAccessPackagesParams, GetAllUsersParams, GetAllUsersResponse, GetAttachmentByIdRequest, GetAutomationPartnerRequest, GetCaseFeedByActionsRequest, GetCommentHistoryRequest, GetCompanyAccessPackagesParams, GetCompanyResourcesParams, GetConfigTemplatesParams, GetConfigTemplatesResponse, GetConfigsByProviderParams, GetContactPhonesParams, GetInitialContextRequest, GetInitialContextResponse, GetIntegrationHooksCatalogRequest, GetIntegrationPartnersByCompanyRequest, GetManagedUsersResponse, GetMemberQueuesRequest, GetMessagesByCursorRequest, GetMessagesByCursorResponse, GetPresignedUrlRequest, GetProviderConfigurationsParams, GetProviderDisplayInfoParams, GetRoomByIdRequest, GetRootRulesRequest, GetServiceGroupsParams, GetWebhooksByCompanyRequest$1 as GetWebhooksByCompanyRequest, HookCatalogItem, IntegrationAction, IntegrationField, IntegrationPartner, InvitationResponse, ListAutomationActionsRequest, ListAutomationPartnersRequest, ListCasesRequest, ListCasesResponse, ListContactHistoryRequest, ListInvitationsRequest, ListLiveUserRoomsRequest, ListTimeEntriesPage, ListTimeEntriesRequest, LiveUserRoomResponse, MarkMessagesAsReadRequest, MarkMessagesAsReadResponse, MessageResponse, MetaTemplateConfigResponse, MetaTemplateConfigsResponse, PaginatedResult, PatchCampaignContactRequest, PatchCampaignRequest, ProviderConfigurationsResponse, ProviderDisplayInfoResponse, ProviderListResponse, Queue, QueueMember, QueueRule, ReplyInvitationRequest, RoomMemberResponse, RoomResponse, RootRulesResponse, SERVICE_GATEWAYS, SERVICE_GATEWAYS as SERVICE_GATEWAYS_TYPE, SendAttachmentMessageResponse, SendMessageRequest, ServiceGroupsResponse, UpdateAnnouncementRequest, UpdateAnnouncementStatusRequest, UpdateCasePermissionsRequest, UpdateCompanyAccessPackagePayload, UpdateIntegrationActionParams, UpdateIntegrationFieldParams, UpdateMemberInRoomRequest, UpdateTimeEntryRequest, UploadPresignedUrlResponse, WorkGroupListResponse, WorkGroupMembersResponse, WorkGroupResponse, configure, gateway };
package/dist/index.js CHANGED
@@ -109,6 +109,79 @@ var CustomerServiceGateway = class {
109
109
  async logout() {
110
110
  await this.httpClient.get(`${this.baseUrl}/users/logout`);
111
111
  }
112
+ /**
113
+ * Retrieves a paginated list of announcements.
114
+ * @param query - Optional filters and pagination parameters.
115
+ * @returns The paginated announcements response.
116
+ */
117
+ async findAnnouncements(query) {
118
+ const { data } = await this.httpClient.get(`${this.baseUrl}/announcements/admin`, {
119
+ params: query
120
+ });
121
+ return data;
122
+ }
123
+ /**
124
+ * Retrieves an announcement by its unique identifier.
125
+ * @param announcementId - The unique identifier of the announcement.
126
+ * @returns The announcement data.
127
+ */
128
+ async getAnnouncement(announcementId) {
129
+ const { data } = await this.httpClient.get(`${this.baseUrl}/announcements/admin/${announcementId}`);
130
+ return data;
131
+ }
132
+ /**
133
+ * Creates a new announcement.
134
+ * @param payload - The announcement data to create.
135
+ * @returns The created announcement.
136
+ */
137
+ async createAnnouncement(payload) {
138
+ const { data } = await this.httpClient.post(`${this.baseUrl}/announcements/admin`, payload);
139
+ return data;
140
+ }
141
+ /**
142
+ * Updates an existing announcement.
143
+ * @param announcementId - The unique identifier of the announcement.
144
+ * @param payload - The announcement data to update.
145
+ * @returns The updated announcement.
146
+ */
147
+ async updateAnnouncement(announcementId, payload) {
148
+ const { data } = await this.httpClient.put(
149
+ `${this.baseUrl}/announcements/admin/${announcementId}`,
150
+ payload
151
+ );
152
+ return data;
153
+ }
154
+ /**
155
+ * Toggles the active status of an announcement.
156
+ * @param announcementId - The unique identifier of the announcement.
157
+ * @param payload - The new active status.
158
+ * @returns The updated announcement.
159
+ */
160
+ async updateAnnouncementStatus(announcementId, payload) {
161
+ const { data } = await this.httpClient.patch(
162
+ `${this.baseUrl}/announcements/admin/${announcementId}/status`,
163
+ payload
164
+ );
165
+ return data;
166
+ }
167
+ /**
168
+ * Removes an announcement by its unique identifier.
169
+ * @param announcementId - The unique identifier of the announcement.
170
+ */
171
+ async deleteAnnouncement(announcementId) {
172
+ await this.httpClient.delete(`${this.baseUrl}/announcements/admin/${announcementId}`);
173
+ }
174
+ /**
175
+ * Retrieves active announcements tailored for the widget context.
176
+ * @param query - The company and environment context.
177
+ * @returns The active announcements for the widget.
178
+ */
179
+ async findActiveAnnouncements(query) {
180
+ const { data } = await this.httpClient.get(`${this.baseUrl}/announcements/active`, {
181
+ params: query
182
+ });
183
+ return data;
184
+ }
112
185
  };
113
186
 
114
187
  // src/chat-config/index.ts