@xapp/stentor-service-promio 1.80.3 → 1.81.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/lib/PromioService.d.ts +28 -0
- package/lib/PromioService.js +132 -131
- package/lib/PromioService.js.map +1 -1
- package/package.json +2 -2
package/lib/PromioService.d.ts
CHANGED
|
@@ -127,3 +127,31 @@ export declare class PromioService extends FetchService implements CrmService {
|
|
|
127
127
|
getJobType(message: string, externalLead?: ExternalLead): Promise<CrmServiceJobType>;
|
|
128
128
|
send(externalLead: ExternalLead, extras?: PromioExternalLeadExtras): Promise<CrmResponse>;
|
|
129
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Describes the HTTP request that should be POSTed to Promio.
|
|
132
|
+
* Stateless callers (e.g. stentor-api's chain runner) execute the
|
|
133
|
+
* request themselves so they can capture it for audit logging.
|
|
134
|
+
*
|
|
135
|
+
* SECURITY: `url` contains `AuthToken` as a query parameter — this is
|
|
136
|
+
* the partner credential. Callers that audit-log this descriptor must
|
|
137
|
+
* redact the `AuthToken` query value before persisting the URL.
|
|
138
|
+
*/
|
|
139
|
+
export interface PromioRequestDescriptor {
|
|
140
|
+
url: string;
|
|
141
|
+
method: "POST";
|
|
142
|
+
headers: Record<string, string>;
|
|
143
|
+
body: PromioLead;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Builds the Promio request descriptor without performing any I/O.
|
|
147
|
+
*
|
|
148
|
+
* Callers that pass `props` directly are responsible for resolving any
|
|
149
|
+
* env-var defaults beforehand — `PromioService`'s constructor handles
|
|
150
|
+
* that resolution when this helper is used through the class.
|
|
151
|
+
*/
|
|
152
|
+
export declare function buildPromioRequest(props: PromioServiceProps, externalLead: ExternalLead, extras?: PromioExternalLeadExtras): PromioRequestDescriptor;
|
|
153
|
+
/**
|
|
154
|
+
* Parses a Promio response into a `CrmResponse`. Stateless — callers
|
|
155
|
+
* that execute the HTTP request themselves pass the decoded JSON body here.
|
|
156
|
+
*/
|
|
157
|
+
export declare function parsePromioResponse(response: PromioResponse): CrmResponse;
|
package/lib/PromioService.js
CHANGED
|
@@ -10,6 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.PromioService = void 0;
|
|
13
|
+
exports.buildPromioRequest = buildPromioRequest;
|
|
14
|
+
exports.parsePromioResponse = parsePromioResponse;
|
|
13
15
|
const stentor_service_fetch_1 = require("stentor-service-fetch");
|
|
14
16
|
const stentor_logger_1 = require("stentor-logger");
|
|
15
17
|
const util_1 = require("./util");
|
|
@@ -50,145 +52,144 @@ class PromioService extends stentor_service_fetch_1.FetchService {
|
|
|
50
52
|
}
|
|
51
53
|
send(externalLead, extras) {
|
|
52
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
if (!this.props.dataMap) {
|
|
57
|
-
throw new Error("Promio: data map is not set");
|
|
58
|
-
}
|
|
59
|
-
if (!this.props.endPoint) {
|
|
60
|
-
throw new Error("Promio: endpoint is not set");
|
|
61
|
-
}
|
|
62
|
-
const transcript = (0, util_1.transformTranscript)(externalLead.transcript, extras === null || extras === void 0 ? void 0 : extras.botId);
|
|
63
|
-
// Determine the delimiter to use based on fieldTransformations and organizationId
|
|
64
|
-
let delimiter = "\n\n"; // default
|
|
65
|
-
const fieldPrefixes = new Map();
|
|
66
|
-
if (this.props.fieldTransformations && this.props.organizationId) {
|
|
67
|
-
const organizationId = this.props.organizationId;
|
|
68
|
-
// Find matching transformations and collect prefixes for concatenation
|
|
69
|
-
for (const transformation of this.props.fieldTransformations) {
|
|
70
|
-
// Check if this transformation applies to the current organization
|
|
71
|
-
const applies = !transformation.organizationIds ||
|
|
72
|
-
transformation.organizationIds.length === 0 ||
|
|
73
|
-
transformation.organizationIds.some(orgId => orgId.toLowerCase() === organizationId.toLowerCase());
|
|
74
|
-
if (applies) {
|
|
75
|
-
// Store prefix if one is defined
|
|
76
|
-
if (transformation.prefix) {
|
|
77
|
-
fieldPrefixes.set(transformation.field.toUpperCase(), transformation.prefix);
|
|
78
|
-
}
|
|
79
|
-
// Update delimiter if specified
|
|
80
|
-
if (transformation.delimiter) {
|
|
81
|
-
delimiter = transformation.delimiter;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const fields = (0, util_1.transformFields)(externalLead.fields, delimiter, fieldPrefixes);
|
|
87
|
-
// Add a couple of items to the external lead
|
|
88
|
-
const lead = {
|
|
89
|
-
transcript,
|
|
90
|
-
completed: extras === null || extras === void 0 ? void 0 : extras.completed,
|
|
91
|
-
// This will be the page they are on when they submit
|
|
92
|
-
// extras.source has the URL while source on the lead is "widget" (chat) or "form-widget"
|
|
93
|
-
source: (extras === null || extras === void 0 ? void 0 : extras.source) || "",
|
|
94
|
-
externalId: extras === null || extras === void 0 ? void 0 : extras.externalId,
|
|
95
|
-
fields
|
|
96
|
-
};
|
|
97
|
-
// Apply field transformations if configured
|
|
98
|
-
if (this.props.fieldTransformations && this.props.fieldTransformations.length > 0) {
|
|
99
|
-
const organizationId = this.props.organizationId;
|
|
100
|
-
lead.fields = lead.fields.map((field) => {
|
|
101
|
-
var _a;
|
|
102
|
-
const transformation = (_a = this.props.fieldTransformations) === null || _a === void 0 ? void 0 : _a.find((t) => {
|
|
103
|
-
// Check if field name matches
|
|
104
|
-
if (t.field.toLowerCase() !== field.name.toLowerCase()) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
// If organizationIds is specified, check if current organizationId matches
|
|
108
|
-
if (t.organizationIds && t.organizationIds.length > 0) {
|
|
109
|
-
if (!organizationId) {
|
|
110
|
-
return false; // Transformation requires org ID but none provided
|
|
111
|
-
}
|
|
112
|
-
// Case-insensitive match
|
|
113
|
-
return t.organizationIds.some(orgId => orgId.toLowerCase() === organizationId.toLowerCase());
|
|
114
|
-
}
|
|
115
|
-
// No organizationIds restriction, applies to all
|
|
116
|
-
return true;
|
|
117
|
-
});
|
|
118
|
-
if (transformation) {
|
|
119
|
-
let value = field.value;
|
|
120
|
-
if (transformation.prefix) {
|
|
121
|
-
// Skip MESSAGE prefix if it was already applied in transformFields (enhanced format)
|
|
122
|
-
if (field.name.toLowerCase() === "message" && fieldPrefixes.has("MESSAGE")) {
|
|
123
|
-
// Prefix already incorporated during field reordering in transformFields
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
value = `${transformation.prefix}${value}`;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (transformation.suffix) {
|
|
130
|
-
value = `${value}${transformation.suffix}`;
|
|
131
|
-
}
|
|
132
|
-
return {
|
|
133
|
-
name: field.name,
|
|
134
|
-
value
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
return field;
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
let DataMap = this.props.dataMap;
|
|
141
|
-
// look in the extras for rwg_token
|
|
142
|
-
const isReserveWithGoogle = !!(extras === null || extras === void 0 ? void 0 : extras.rwg_token);
|
|
143
|
-
if (externalLead.source === "widget") {
|
|
144
|
-
// this shows up as Website - Chat
|
|
145
|
-
DataMap = "XAPPChatLead";
|
|
146
|
-
}
|
|
147
|
-
else if (isReserveWithGoogle) {
|
|
148
|
-
// this shows up as Reserve with Google
|
|
149
|
-
DataMap = "GoogleReserve";
|
|
150
|
-
}
|
|
151
|
-
else if (externalLead.source === "form-widget") {
|
|
152
|
-
// this shows up as Website - Form
|
|
153
|
-
DataMap = "PromioExternalLead";
|
|
154
|
-
}
|
|
155
|
-
const url = `${this.props.endPoint}/?${new URLSearchParams({
|
|
156
|
-
AuthToken: this.props.authToken,
|
|
157
|
-
DataMap: DataMap
|
|
158
|
-
})}`;
|
|
55
|
+
const descriptor = buildPromioRequest(this.props, externalLead, extras);
|
|
56
|
+
(0, stentor_logger_1.log)().info(`Promio: Sending Leads (original): ${JSON.stringify(externalLead, undefined, 2)}`);
|
|
57
|
+
(0, stentor_logger_1.log)().info(`Promio: Sending Leads (transformed payload): ${JSON.stringify(descriptor.body, undefined, 2)}`);
|
|
159
58
|
const opts = {
|
|
160
|
-
method:
|
|
161
|
-
headers:
|
|
162
|
-
"Content-Type": "application/json"
|
|
163
|
-
},
|
|
59
|
+
method: descriptor.method,
|
|
60
|
+
headers: descriptor.headers,
|
|
164
61
|
timeout: TIMEOUT_MS,
|
|
165
|
-
body: JSON.stringify(
|
|
62
|
+
body: JSON.stringify(descriptor.body)
|
|
166
63
|
};
|
|
167
|
-
|
|
168
|
-
(0, stentor_logger_1.log)().info(`Promio: Sending Leads (transformed payload): ${JSON.stringify(lead, undefined, 2)}`);
|
|
169
|
-
return this.fetch(url, opts)
|
|
64
|
+
return this.fetch(descriptor.url, opts)
|
|
170
65
|
.then((res) => res.json())
|
|
171
|
-
.then((response) =>
|
|
172
|
-
|
|
173
|
-
|
|
66
|
+
.then((response) => parsePromioResponse(response))
|
|
67
|
+
.catch((error) => ({
|
|
68
|
+
status: "Failure",
|
|
69
|
+
message: `Promio: Lead submission failed: ${error.message}`
|
|
70
|
+
}));
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.PromioService = PromioService;
|
|
75
|
+
/**
|
|
76
|
+
* Builds the Promio request descriptor without performing any I/O.
|
|
77
|
+
*
|
|
78
|
+
* Callers that pass `props` directly are responsible for resolving any
|
|
79
|
+
* env-var defaults beforehand — `PromioService`'s constructor handles
|
|
80
|
+
* that resolution when this helper is used through the class.
|
|
81
|
+
*/
|
|
82
|
+
function buildPromioRequest(props, externalLead, extras) {
|
|
83
|
+
if (!props.authToken) {
|
|
84
|
+
throw new Error("Promio: auth token is not set");
|
|
85
|
+
}
|
|
86
|
+
if (!props.dataMap) {
|
|
87
|
+
throw new Error("Promio: data map is not set");
|
|
88
|
+
}
|
|
89
|
+
if (!props.endPoint) {
|
|
90
|
+
throw new Error("Promio: endpoint is not set");
|
|
91
|
+
}
|
|
92
|
+
const transcript = (0, util_1.transformTranscript)(externalLead.transcript, extras === null || extras === void 0 ? void 0 : extras.botId);
|
|
93
|
+
// Determine the delimiter to use based on fieldTransformations and organizationId
|
|
94
|
+
let delimiter = "\n\n"; // default
|
|
95
|
+
const fieldPrefixes = new Map();
|
|
96
|
+
if (props.fieldTransformations && props.organizationId) {
|
|
97
|
+
const organizationId = props.organizationId;
|
|
98
|
+
for (const transformation of props.fieldTransformations) {
|
|
99
|
+
const applies = !transformation.organizationIds ||
|
|
100
|
+
transformation.organizationIds.length === 0 ||
|
|
101
|
+
transformation.organizationIds.some(orgId => orgId.toLowerCase() === organizationId.toLowerCase());
|
|
102
|
+
if (applies) {
|
|
103
|
+
if (transformation.prefix) {
|
|
104
|
+
fieldPrefixes.set(transformation.field.toUpperCase(), transformation.prefix);
|
|
105
|
+
}
|
|
106
|
+
if (transformation.delimiter) {
|
|
107
|
+
delimiter = transformation.delimiter;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const fields = (0, util_1.transformFields)(externalLead.fields, delimiter, fieldPrefixes);
|
|
113
|
+
const lead = {
|
|
114
|
+
transcript,
|
|
115
|
+
completed: extras === null || extras === void 0 ? void 0 : extras.completed,
|
|
116
|
+
// This will be the page they are on when they submit.
|
|
117
|
+
// extras.source has the URL while source on the lead is "widget" (chat) or "form-widget"
|
|
118
|
+
source: (extras === null || extras === void 0 ? void 0 : extras.source) || "",
|
|
119
|
+
externalId: extras === null || extras === void 0 ? void 0 : extras.externalId,
|
|
120
|
+
fields
|
|
121
|
+
};
|
|
122
|
+
if (props.fieldTransformations && props.fieldTransformations.length > 0) {
|
|
123
|
+
const organizationId = props.organizationId;
|
|
124
|
+
lead.fields = lead.fields.map((field) => {
|
|
125
|
+
var _a;
|
|
126
|
+
const transformation = (_a = props.fieldTransformations) === null || _a === void 0 ? void 0 : _a.find((t) => {
|
|
127
|
+
if (t.field.toLowerCase() !== field.name.toLowerCase()) {
|
|
128
|
+
return false;
|
|
174
129
|
}
|
|
175
|
-
|
|
176
|
-
|
|
130
|
+
if (t.organizationIds && t.organizationIds.length > 0) {
|
|
131
|
+
if (!organizationId) {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
return t.organizationIds.some(orgId => orgId.toLowerCase() === organizationId.toLowerCase());
|
|
177
135
|
}
|
|
178
|
-
|
|
179
|
-
status: response.Status === "Success" ? "Success" : "Failure",
|
|
180
|
-
message: response.Message || response.Reason
|
|
181
|
-
};
|
|
182
|
-
return crmResponse;
|
|
183
|
-
})
|
|
184
|
-
.catch((error) => {
|
|
185
|
-
return {
|
|
186
|
-
status: "Failure",
|
|
187
|
-
message: `Promio: Lead submission failed: ${error.message}`
|
|
188
|
-
};
|
|
136
|
+
return true;
|
|
189
137
|
});
|
|
138
|
+
if (transformation) {
|
|
139
|
+
let value = field.value;
|
|
140
|
+
if (transformation.prefix) {
|
|
141
|
+
// Skip MESSAGE prefix if it was already applied in transformFields (enhanced format)
|
|
142
|
+
if (field.name.toLowerCase() === "message" && fieldPrefixes.has("MESSAGE")) {
|
|
143
|
+
// Prefix already incorporated during field reordering in transformFields
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
value = `${transformation.prefix}${value}`;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (transformation.suffix) {
|
|
150
|
+
value = `${value}${transformation.suffix}`;
|
|
151
|
+
}
|
|
152
|
+
return { name: field.name, value };
|
|
153
|
+
}
|
|
154
|
+
return field;
|
|
190
155
|
});
|
|
191
156
|
}
|
|
157
|
+
let DataMap = props.dataMap;
|
|
158
|
+
const isReserveWithGoogle = !!(extras === null || extras === void 0 ? void 0 : extras.rwg_token);
|
|
159
|
+
if (externalLead.source === "widget") {
|
|
160
|
+
DataMap = "XAPPChatLead";
|
|
161
|
+
}
|
|
162
|
+
else if (isReserveWithGoogle) {
|
|
163
|
+
DataMap = "GoogleReserve";
|
|
164
|
+
}
|
|
165
|
+
else if (externalLead.source === "form-widget") {
|
|
166
|
+
DataMap = "PromioExternalLead";
|
|
167
|
+
}
|
|
168
|
+
const url = `${props.endPoint}/?${new URLSearchParams({
|
|
169
|
+
AuthToken: props.authToken,
|
|
170
|
+
DataMap: DataMap
|
|
171
|
+
})}`;
|
|
172
|
+
return {
|
|
173
|
+
url,
|
|
174
|
+
method: "POST",
|
|
175
|
+
headers: { "Content-Type": "application/json" },
|
|
176
|
+
body: lead
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Parses a Promio response into a `CrmResponse`. Stateless — callers
|
|
181
|
+
* that execute the HTTP request themselves pass the decoded JSON body here.
|
|
182
|
+
*/
|
|
183
|
+
function parsePromioResponse(response) {
|
|
184
|
+
if ((response === null || response === void 0 ? void 0 : response.Status) !== "Success") {
|
|
185
|
+
(0, stentor_logger_1.log)().error(`Promio: Lead submission failed: ${response === null || response === void 0 ? void 0 : response.Reason}`);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
(0, stentor_logger_1.log)().info(`Promio: Lead submission OK: ${response.Message}`);
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
status: (response === null || response === void 0 ? void 0 : response.Status) === "Success" ? "Success" : "Failure",
|
|
192
|
+
message: (response === null || response === void 0 ? void 0 : response.Message) || (response === null || response === void 0 ? void 0 : response.Reason)
|
|
193
|
+
};
|
|
192
194
|
}
|
|
193
|
-
exports.PromioService = PromioService;
|
|
194
195
|
//# sourceMappingURL=PromioService.js.map
|
package/lib/PromioService.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromioService.js","sourceRoot":"","sources":["../src/PromioService.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"PromioService.js","sourceRoot":"","sources":["../src/PromioService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.81.0",
|
|
8
8
|
"description": "Service to interface the Promio CRM service",
|
|
9
9
|
"types": "lib/index",
|
|
10
10
|
"main": "lib/index",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"test": "mocha --recursive -r ts-node/register \"./src/**/*.test.ts\"",
|
|
40
40
|
"test:f": "mocha --recursive -r ts-node/register \"./src/**/*.ftest.ts\""
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "34ce220a44ff054cc3818f1900e703c97eb2a579"
|
|
43
43
|
}
|