@xapp/stentor-service-serviceminder 1.67.1 → 1.68.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/README.md +13 -1
- package/lib/ServiceMinderService.d.ts +5 -1
- package/lib/ServiceMinderService.js +121 -0
- package/lib/ServiceMinderService.js.map +1 -1
- package/lib/models.d.ts +23 -6
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -3,7 +3,19 @@
|
|
|
3
3
|
Implementation of CrmService for ServiceMinder
|
|
4
4
|
|
|
5
5
|
### Required Variables
|
|
6
|
-
SM_API_KEY
|
|
6
|
+
- SM_API_KEY=
|
|
7
|
+
- OPENAI_API_KEY=
|
|
7
8
|
|
|
8
9
|
### Documentation
|
|
9
10
|
- [Serviceminder API](https://serviceminder.io/api#ServiceMinder)
|
|
11
|
+
|
|
12
|
+
### Development Status
|
|
13
|
+
We lost access to our serviceminder trial. We need to connect to HFB to finish the integration.
|
|
14
|
+
- Implement Send method - done
|
|
15
|
+
- Create a new customer through the send method - done
|
|
16
|
+
- Add a job - done
|
|
17
|
+
- Lookup Service - done
|
|
18
|
+
|
|
19
|
+
##### Phase 2: Adding Jobs/Bookings todo:
|
|
20
|
+
- Update send method to support calling AddJob
|
|
21
|
+
- Update send method to map the MESSAGE slot to a job/service
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*! Copyright (c) 2024, XAPP AI */
|
|
2
2
|
import { FetchService } from "stentor-service-fetch";
|
|
3
3
|
import { BaseService, CrmResponse, CrmService, CrmServiceAvailability, CrmServiceAvailabilitySettings, CrmServiceJobType, ExternalLead } from "stentor-models";
|
|
4
|
-
import { CustomerQuery, ServiceMinderCustomer, ServiceMinderResponse } from "./models";
|
|
4
|
+
import { CustomerQuery, ServiceMinderCustomer, ServiceMinderResponse, ServiceMinderJob } from "./models";
|
|
5
5
|
export interface ServiceMinderServiceProps extends BaseService, CrmServiceAvailabilitySettings {
|
|
6
6
|
appId: string;
|
|
7
7
|
channel?: string;
|
|
@@ -20,4 +20,8 @@ export declare class ServiceMinderService extends FetchService implements CrmSer
|
|
|
20
20
|
getCustomers(query: CustomerQuery): Promise<ServiceMinderResponse>;
|
|
21
21
|
addCustomer(customer: ServiceMinderCustomer): Promise<ServiceMinderResponse>;
|
|
22
22
|
addNote(customer: ServiceMinderCustomer): Promise<ServiceMinderResponse>;
|
|
23
|
+
getServiceAgents(): Promise<ServiceMinderResponse>;
|
|
24
|
+
getServices(): Promise<ServiceMinderResponse>;
|
|
25
|
+
addJob(job: ServiceMinderJob): Promise<ServiceMinderResponse>;
|
|
26
|
+
matchService(query: string): Promise<string>;
|
|
23
27
|
}
|
|
@@ -17,6 +17,7 @@ exports.ServiceMinderService = void 0;
|
|
|
17
17
|
const stentor_service_fetch_1 = require("stentor-service-fetch");
|
|
18
18
|
const stentor_logger_1 = require("stentor-logger");
|
|
19
19
|
const axios_1 = __importDefault(require("axios"));
|
|
20
|
+
const openai_1 = require("openai");
|
|
20
21
|
const addresser_1 = require("addresser");
|
|
21
22
|
const base_url = "https://serviceminder.io/api/";
|
|
22
23
|
const lead_source = process.env.LEADSOURCE ? process.env.LEADSOURCE : "XAPP AI";
|
|
@@ -216,6 +217,126 @@ class ServiceMinderService extends stentor_service_fetch_1.FetchService {
|
|
|
216
217
|
return serviceMinderResponse;
|
|
217
218
|
});
|
|
218
219
|
}
|
|
220
|
+
getServiceAgents() {
|
|
221
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
222
|
+
const serviceminderResponse = {
|
|
223
|
+
status: "Failure"
|
|
224
|
+
};
|
|
225
|
+
const data = {
|
|
226
|
+
ApiKey: process.env.SM_API_KEY
|
|
227
|
+
};
|
|
228
|
+
try {
|
|
229
|
+
const config = {
|
|
230
|
+
method: "post",
|
|
231
|
+
url: `${base_url}serviceagents/all`,
|
|
232
|
+
headers: {
|
|
233
|
+
Accept: "application/json",
|
|
234
|
+
"Content-Type": "application/json"
|
|
235
|
+
},
|
|
236
|
+
data: JSON.stringify(data)
|
|
237
|
+
};
|
|
238
|
+
const response = yield (0, axios_1.default)(config);
|
|
239
|
+
serviceminderResponse.status = "Success";
|
|
240
|
+
serviceminderResponse.data = response.data;
|
|
241
|
+
}
|
|
242
|
+
catch (err) {
|
|
243
|
+
(0, stentor_logger_1.log)().error(`ServiceMinder: Error searching customers ${err}`);
|
|
244
|
+
serviceminderResponse.error = err;
|
|
245
|
+
}
|
|
246
|
+
const customerMatches = serviceminderResponse.data;
|
|
247
|
+
serviceminderResponse.data = customerMatches === null || customerMatches === void 0 ? void 0 : customerMatches.Matches;
|
|
248
|
+
return serviceminderResponse;
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
getServices() {
|
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
+
const serviceminderResponse = {
|
|
254
|
+
status: "Failure"
|
|
255
|
+
};
|
|
256
|
+
const data = {
|
|
257
|
+
ApiKey: process.env.SM_API_KEY
|
|
258
|
+
};
|
|
259
|
+
try {
|
|
260
|
+
const config = {
|
|
261
|
+
method: "post",
|
|
262
|
+
url: `${base_url}services/all`,
|
|
263
|
+
headers: {
|
|
264
|
+
Accept: "application/json",
|
|
265
|
+
"Content-Type": "application/json"
|
|
266
|
+
},
|
|
267
|
+
data: JSON.stringify(data)
|
|
268
|
+
};
|
|
269
|
+
const response = yield (0, axios_1.default)(config);
|
|
270
|
+
serviceminderResponse.status = "Success";
|
|
271
|
+
serviceminderResponse.data = response.data;
|
|
272
|
+
}
|
|
273
|
+
catch (err) {
|
|
274
|
+
(0, stentor_logger_1.log)().error(`ServiceMinder: Error getting services ${err}`);
|
|
275
|
+
serviceminderResponse.error = err;
|
|
276
|
+
}
|
|
277
|
+
const customerMatches = serviceminderResponse.data;
|
|
278
|
+
serviceminderResponse.data = customerMatches === null || customerMatches === void 0 ? void 0 : customerMatches.Matches;
|
|
279
|
+
return serviceminderResponse;
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
addJob(job) {
|
|
283
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
284
|
+
const serviceminderResponse = {
|
|
285
|
+
status: "Failure"
|
|
286
|
+
};
|
|
287
|
+
const data = {
|
|
288
|
+
ApiKey: process.env.SM_API_KEY,
|
|
289
|
+
ContactId: job.ContactId,
|
|
290
|
+
ServiceId: job.ServiceId,
|
|
291
|
+
TargetDate: job.TargetDate,
|
|
292
|
+
Duration: job.Duration
|
|
293
|
+
};
|
|
294
|
+
try {
|
|
295
|
+
const config = {
|
|
296
|
+
method: "post",
|
|
297
|
+
url: `${base_url}appointments/book`,
|
|
298
|
+
headers: {
|
|
299
|
+
Accept: "application/json",
|
|
300
|
+
"Content-Type": "application/json"
|
|
301
|
+
},
|
|
302
|
+
data: JSON.stringify(data)
|
|
303
|
+
};
|
|
304
|
+
const response = yield (0, axios_1.default)(config);
|
|
305
|
+
serviceminderResponse.status = "Success";
|
|
306
|
+
serviceminderResponse.data = response.data;
|
|
307
|
+
}
|
|
308
|
+
catch (err) {
|
|
309
|
+
(0, stentor_logger_1.log)().error(`ServiceMinder: Error booking job ${err}`);
|
|
310
|
+
serviceminderResponse.error = err;
|
|
311
|
+
}
|
|
312
|
+
//const addedJob = serviceminderResponse.data as ServiceMinderJob;
|
|
313
|
+
// serviceminderResponse.data = addedJob;
|
|
314
|
+
return serviceminderResponse;
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
matchService(query) {
|
|
318
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
319
|
+
var _a, _b, _c;
|
|
320
|
+
const openai = new openai_1.OpenAI({
|
|
321
|
+
apiKey: process.env.OPENAI_API_KEY
|
|
322
|
+
});
|
|
323
|
+
const services = yield this.getServices();
|
|
324
|
+
const serviceList = services.data.map((s) => s.Name);
|
|
325
|
+
const response = yield openai.chat.completions.create({
|
|
326
|
+
model: "gpt-4o",
|
|
327
|
+
messages: [
|
|
328
|
+
{
|
|
329
|
+
role: "system",
|
|
330
|
+
content: `Match the service requested to a service in the list of services. Return the name of the service from the list.
|
|
331
|
+
List of Services: ${serviceList.join(", ")}`
|
|
332
|
+
},
|
|
333
|
+
{ role: "user", content: query }
|
|
334
|
+
]
|
|
335
|
+
});
|
|
336
|
+
const rawContent = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) === null || _c === void 0 ? void 0 : _c.content;
|
|
337
|
+
return rawContent;
|
|
338
|
+
});
|
|
339
|
+
}
|
|
219
340
|
}
|
|
220
341
|
exports.ServiceMinderService = ServiceMinderService;
|
|
221
342
|
//# sourceMappingURL=ServiceMinderService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceMinderService.js","sourceRoot":"","sources":["../src/ServiceMinderService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,iEAAqD;AAUrD,mDAAqC;AACrC,kDAAkD;
|
|
1
|
+
{"version":3,"file":"ServiceMinderService.js","sourceRoot":"","sources":["../src/ServiceMinderService.ts"],"names":[],"mappings":"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"}
|
package/lib/models.d.ts
CHANGED
|
@@ -94,6 +94,24 @@ export interface ServiceMinderCustomer {
|
|
|
94
94
|
Notes?: Note[];
|
|
95
95
|
Message: string;
|
|
96
96
|
}
|
|
97
|
+
export interface ServiceMinderServiceAgent {
|
|
98
|
+
Id: string;
|
|
99
|
+
Name: string;
|
|
100
|
+
Email: string;
|
|
101
|
+
MobilerPhone: string;
|
|
102
|
+
}
|
|
103
|
+
export interface ServiceMinderServiceType {
|
|
104
|
+
Id: string;
|
|
105
|
+
Name: string;
|
|
106
|
+
Description: string;
|
|
107
|
+
BasePrice: number;
|
|
108
|
+
UnitPrice: number;
|
|
109
|
+
UnitOfMeasure: string;
|
|
110
|
+
UnitDuration: number;
|
|
111
|
+
Category: string;
|
|
112
|
+
MinimumCharge: number;
|
|
113
|
+
Duration: number;
|
|
114
|
+
}
|
|
97
115
|
export interface Note {
|
|
98
116
|
Id?: number;
|
|
99
117
|
Title?: string;
|
|
@@ -106,12 +124,11 @@ export interface Note {
|
|
|
106
124
|
* @interface ServiceMinderJob
|
|
107
125
|
*/
|
|
108
126
|
export interface ServiceMinderJob {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
notes: string;
|
|
127
|
+
ContactId: number;
|
|
128
|
+
ServiceId: number;
|
|
129
|
+
TargetDate?: string;
|
|
130
|
+
Duration: string;
|
|
131
|
+
Quantity?: 1;
|
|
115
132
|
}
|
|
116
133
|
export interface ServiceMinderPagination<Data = unknown> {
|
|
117
134
|
page: number;
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.68.0",
|
|
8
8
|
"description": "Service to integrate with Serviceminder",
|
|
9
9
|
"types": "lib/index",
|
|
10
10
|
"main": "lib/index",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"test": "exit 0",
|
|
38
38
|
"local": "mocha --recursive --timeout 9000 -r ts-node/register \"./src/**/*.test.ts\""
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "60562be1b75ffd6d9ca55d62f0c8f4d00777ed7a",
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"addresser": "1.1.20",
|
|
43
43
|
"openai": "5.10.1"
|