@dawntech/blip-tools 0.4.0 → 0.5.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.
- package/dist/index.cjs +54 -0
- package/dist/index.mjs +54 -0
- package/dist/modules/blip-main.d.ts +2 -0
- package/dist/modules/blip-monitoring.d.ts +11 -0
- package/dist/types/monitoring.d.ts +27 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -581,6 +581,58 @@ function validateInstance(params) {
|
|
|
581
581
|
}
|
|
582
582
|
}
|
|
583
583
|
|
|
584
|
+
class BlipMonitoring {
|
|
585
|
+
api;
|
|
586
|
+
constructor(context) {
|
|
587
|
+
this.api = context.api;
|
|
588
|
+
}
|
|
589
|
+
async getTickets() {
|
|
590
|
+
try {
|
|
591
|
+
const response = await this.api.post('/commands', {
|
|
592
|
+
id: crypto.randomUUID(),
|
|
593
|
+
to: 'postmaster@desk.msging.net',
|
|
594
|
+
method: 'get',
|
|
595
|
+
uri: '/monitoring/tickets',
|
|
596
|
+
});
|
|
597
|
+
validateResponse(response);
|
|
598
|
+
return response.data.resource;
|
|
599
|
+
}
|
|
600
|
+
catch (error) {
|
|
601
|
+
throw handleError(error);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
async getTicketMetrics() {
|
|
605
|
+
try {
|
|
606
|
+
const response = await this.api.post('/commands', {
|
|
607
|
+
id: crypto.randomUUID(),
|
|
608
|
+
to: 'postmaster@desk.msging.net',
|
|
609
|
+
method: 'get',
|
|
610
|
+
uri: '/monitoring/ticket-metrics',
|
|
611
|
+
});
|
|
612
|
+
validateResponse(response);
|
|
613
|
+
return response.data.resource;
|
|
614
|
+
}
|
|
615
|
+
catch (error) {
|
|
616
|
+
throw handleError(error);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
async getAttendantStatusMetrics() {
|
|
620
|
+
try {
|
|
621
|
+
const response = await this.api.post('/commands', {
|
|
622
|
+
id: crypto.randomUUID(),
|
|
623
|
+
to: 'postmaster@desk.msging.net',
|
|
624
|
+
method: 'get',
|
|
625
|
+
uri: '/monitoring/attendant-status-metrics',
|
|
626
|
+
});
|
|
627
|
+
validateResponse(response);
|
|
628
|
+
return response.data.resource;
|
|
629
|
+
}
|
|
630
|
+
catch (error) {
|
|
631
|
+
throw handleError(error);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
|
|
584
636
|
class Blip {
|
|
585
637
|
api;
|
|
586
638
|
bucket;
|
|
@@ -593,6 +645,7 @@ class Blip {
|
|
|
593
645
|
interaction;
|
|
594
646
|
ticket;
|
|
595
647
|
whatsapp;
|
|
648
|
+
monitoring;
|
|
596
649
|
constructor(params) {
|
|
597
650
|
validateInstance(params);
|
|
598
651
|
this.api = axios.create({
|
|
@@ -612,6 +665,7 @@ class Blip {
|
|
|
612
665
|
this.interaction = new BlipInteraction({ blipContext: this.context });
|
|
613
666
|
this.ticket = new BlipTicket({ api: this.api });
|
|
614
667
|
this.whatsapp = new BlipWhatsapp({ api: this.api });
|
|
668
|
+
this.monitoring = new BlipMonitoring({ api: this.api });
|
|
615
669
|
}
|
|
616
670
|
}
|
|
617
671
|
|
package/dist/index.mjs
CHANGED
|
@@ -579,6 +579,58 @@ function validateInstance(params) {
|
|
|
579
579
|
}
|
|
580
580
|
}
|
|
581
581
|
|
|
582
|
+
class BlipMonitoring {
|
|
583
|
+
api;
|
|
584
|
+
constructor(context) {
|
|
585
|
+
this.api = context.api;
|
|
586
|
+
}
|
|
587
|
+
async getTickets() {
|
|
588
|
+
try {
|
|
589
|
+
const response = await this.api.post('/commands', {
|
|
590
|
+
id: randomUUID(),
|
|
591
|
+
to: 'postmaster@desk.msging.net',
|
|
592
|
+
method: 'get',
|
|
593
|
+
uri: '/monitoring/tickets',
|
|
594
|
+
});
|
|
595
|
+
validateResponse(response);
|
|
596
|
+
return response.data.resource;
|
|
597
|
+
}
|
|
598
|
+
catch (error) {
|
|
599
|
+
throw handleError(error);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
async getTicketMetrics() {
|
|
603
|
+
try {
|
|
604
|
+
const response = await this.api.post('/commands', {
|
|
605
|
+
id: randomUUID(),
|
|
606
|
+
to: 'postmaster@desk.msging.net',
|
|
607
|
+
method: 'get',
|
|
608
|
+
uri: '/monitoring/ticket-metrics',
|
|
609
|
+
});
|
|
610
|
+
validateResponse(response);
|
|
611
|
+
return response.data.resource;
|
|
612
|
+
}
|
|
613
|
+
catch (error) {
|
|
614
|
+
throw handleError(error);
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
async getAttendantStatusMetrics() {
|
|
618
|
+
try {
|
|
619
|
+
const response = await this.api.post('/commands', {
|
|
620
|
+
id: randomUUID(),
|
|
621
|
+
to: 'postmaster@desk.msging.net',
|
|
622
|
+
method: 'get',
|
|
623
|
+
uri: '/monitoring/attendant-status-metrics',
|
|
624
|
+
});
|
|
625
|
+
validateResponse(response);
|
|
626
|
+
return response.data.resource;
|
|
627
|
+
}
|
|
628
|
+
catch (error) {
|
|
629
|
+
throw handleError(error);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
582
634
|
class Blip {
|
|
583
635
|
api;
|
|
584
636
|
bucket;
|
|
@@ -591,6 +643,7 @@ class Blip {
|
|
|
591
643
|
interaction;
|
|
592
644
|
ticket;
|
|
593
645
|
whatsapp;
|
|
646
|
+
monitoring;
|
|
594
647
|
constructor(params) {
|
|
595
648
|
validateInstance(params);
|
|
596
649
|
this.api = axios.create({
|
|
@@ -610,6 +663,7 @@ class Blip {
|
|
|
610
663
|
this.interaction = new BlipInteraction({ blipContext: this.context });
|
|
611
664
|
this.ticket = new BlipTicket({ api: this.api });
|
|
612
665
|
this.whatsapp = new BlipWhatsapp({ api: this.api });
|
|
666
|
+
this.monitoring = new BlipMonitoring({ api: this.api });
|
|
613
667
|
}
|
|
614
668
|
}
|
|
615
669
|
|
|
@@ -9,6 +9,7 @@ import BlipInteraction from './blip-interaction';
|
|
|
9
9
|
import BlipTicket from './blip-ticket';
|
|
10
10
|
import BlipWhatsapp from './blip-whatsapp';
|
|
11
11
|
import BlipContact from './blip-contact';
|
|
12
|
+
import BlipMonitoring from './blip-monitoring';
|
|
12
13
|
export declare class Blip {
|
|
13
14
|
private api;
|
|
14
15
|
bucket: BlipBucket;
|
|
@@ -21,5 +22,6 @@ export declare class Blip {
|
|
|
21
22
|
interaction: BlipInteraction;
|
|
22
23
|
ticket: BlipTicket;
|
|
23
24
|
whatsapp: BlipWhatsapp;
|
|
25
|
+
monitoring: BlipMonitoring;
|
|
24
26
|
constructor(params: BlipConstructor);
|
|
25
27
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import { MonitoredAttendantStatusMetrics, MonitoredTicketMetrics, MonitoredTickets } from '../types/monitoring';
|
|
3
|
+
export default class BlipMonitoring {
|
|
4
|
+
private api;
|
|
5
|
+
constructor(context: {
|
|
6
|
+
api: AxiosInstance;
|
|
7
|
+
});
|
|
8
|
+
getTickets(): Promise<MonitoredTickets[]>;
|
|
9
|
+
getTicketMetrics(): Promise<MonitoredTicketMetrics[]>;
|
|
10
|
+
getAttendantStatusMetrics(): Promise<MonitoredAttendantStatusMetrics[]>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface MonitoredTickets {
|
|
2
|
+
closed: number;
|
|
3
|
+
closedAttendant: number;
|
|
4
|
+
closedClient: number;
|
|
5
|
+
inAttendance: number;
|
|
6
|
+
missed: number;
|
|
7
|
+
open: number;
|
|
8
|
+
transferred: number;
|
|
9
|
+
waiting: number;
|
|
10
|
+
}
|
|
11
|
+
export interface MonitoredTicketMetrics {
|
|
12
|
+
maxQueueTime: string;
|
|
13
|
+
maxFirstResponseTime: string;
|
|
14
|
+
maxWithoutFirstResponseTime: string;
|
|
15
|
+
avgQueueTime: string;
|
|
16
|
+
avgFirstResponseTime: string;
|
|
17
|
+
avgWaitTime: string;
|
|
18
|
+
avgResponseTime: string;
|
|
19
|
+
avgAttendanceTime: string;
|
|
20
|
+
ticketsPerAttendant: string;
|
|
21
|
+
}
|
|
22
|
+
export interface MonitoredAttendantStatusMetrics {
|
|
23
|
+
online: number;
|
|
24
|
+
pause: number;
|
|
25
|
+
invisible: number;
|
|
26
|
+
offline: number;
|
|
27
|
+
}
|