@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 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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dawntech/blip-tools",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Node package for Blip API",
5
5
  "exports": {
6
6
  ".": {