@xapp/stentor-service-boberdoo 1.81.2 → 1.86.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/BoberdooIntegration.js +75 -1
- package/lib/BoberdooIntegration.js.map +1 -1
- package/lib/models.d.ts +16 -0
- package/package.json +4 -4
|
@@ -50,7 +50,7 @@ function splitFullName(fullName) {
|
|
|
50
50
|
* and pass the response body to `parseBoberdooResponse`.
|
|
51
51
|
*/
|
|
52
52
|
function buildBoberdooRequest(props, externalLead, extras) {
|
|
53
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
53
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
54
54
|
const firstName = (_a = externalLead.fields.find((f) => f.name === "FIRST_NAME")) === null || _a === void 0 ? void 0 : _a.value;
|
|
55
55
|
const lastName = (_b = externalLead.fields.find((f) => f.name === "LAST_NAME")) === null || _b === void 0 ? void 0 : _b.value;
|
|
56
56
|
const fullName = (_c = externalLead.fields.find((f) => f.name === "FULL_NAME")) === null || _c === void 0 ? void 0 : _c.value;
|
|
@@ -60,6 +60,11 @@ function buildBoberdooRequest(props, externalLead, extras) {
|
|
|
60
60
|
const city = (_g = externalLead.fields.find((f) => f.name === "CITY")) === null || _g === void 0 ? void 0 : _g.value;
|
|
61
61
|
const state = (_h = externalLead.fields.find((f) => f.name === "STATE")) === null || _h === void 0 ? void 0 : _h.value;
|
|
62
62
|
const zip = (_j = externalLead.fields.find((f) => f.name === "ZIP")) === null || _j === void 0 ? void 0 : _j.value;
|
|
63
|
+
const dateTime = (_k = externalLead.fields.find((f) => f.name === "DATETIME")) === null || _k === void 0 ? void 0 : _k.value;
|
|
64
|
+
const preferredDate = (_l = externalLead.fields.find((f) => f.name === "PREFERRED_DATE")) === null || _l === void 0 ? void 0 : _l.value;
|
|
65
|
+
const preferredTime = (_m = externalLead.fields.find((f) => f.name === "PREFERRED_TIME")) === null || _m === void 0 ? void 0 : _m.value;
|
|
66
|
+
const preferredTimeStart = (_o = externalLead.fields.find((f) => f.name === "PREFERRED_TIME_START")) === null || _o === void 0 ? void 0 : _o.value;
|
|
67
|
+
const message = (_q = (_p = externalLead.fields.find((f) => f.name === "MESSAGE")) === null || _p === void 0 ? void 0 : _p.value) === null || _q === void 0 ? void 0 : _q.trim();
|
|
63
68
|
let resolvedFirstName = firstName;
|
|
64
69
|
let resolvedLastName = lastName;
|
|
65
70
|
if (!resolvedFirstName && fullName) {
|
|
@@ -92,6 +97,75 @@ function buildBoberdooRequest(props, externalLead, extras) {
|
|
|
92
97
|
payload.State = state;
|
|
93
98
|
if (zip)
|
|
94
99
|
payload.Zip = zip;
|
|
100
|
+
// Custom fields configured on the partner side carry the homeowner's
|
|
101
|
+
// requested appointment in structured form (see models.ts). The
|
|
102
|
+
// Comments writer below still emits a human-readable summary as a
|
|
103
|
+
// fallback for any lead-detail screen that doesn't surface the
|
|
104
|
+
// custom fields directly.
|
|
105
|
+
const rawDatePart = dateTime ? dateTime.slice(0, 10) : undefined;
|
|
106
|
+
const datePart = rawDatePart && /^\d{4}-\d{2}-\d{2}$/.test(rawDatePart) ? rawDatePart : undefined;
|
|
107
|
+
if (datePart) {
|
|
108
|
+
payload.Requested_Day = datePart;
|
|
109
|
+
}
|
|
110
|
+
if (preferredDate === "[first_available]") {
|
|
111
|
+
payload.Requested_First_Available_Day = "1";
|
|
112
|
+
}
|
|
113
|
+
const hhmm = /^\d{1,2}:\d{2}$/;
|
|
114
|
+
const hhmmStart = preferredTimeStart && hhmm.test(preferredTimeStart) ? preferredTimeStart : undefined;
|
|
115
|
+
const hhmmTime = preferredTime && hhmm.test(preferredTime) ? preferredTime : undefined;
|
|
116
|
+
if (hhmmStart) {
|
|
117
|
+
payload.Requested_Time = hhmmStart;
|
|
118
|
+
}
|
|
119
|
+
else if (hhmmTime) {
|
|
120
|
+
payload.Requested_Time = hhmmTime;
|
|
121
|
+
}
|
|
122
|
+
if (preferredTime) {
|
|
123
|
+
if (preferredTime.includes("morning")) {
|
|
124
|
+
payload.Requested_Time_Frame = "morning";
|
|
125
|
+
}
|
|
126
|
+
else if (preferredTime.includes("afternoon")) {
|
|
127
|
+
payload.Requested_Time_Frame = "afternoon";
|
|
128
|
+
}
|
|
129
|
+
else if (preferredTime.includes("evening")) {
|
|
130
|
+
payload.Requested_Time_Frame = "evening";
|
|
131
|
+
}
|
|
132
|
+
else if (preferredTime.includes("first available")) {
|
|
133
|
+
payload.Requested_Time_Frame = "first available";
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Mirror the Requested_Time priority so the Comments string can never
|
|
137
|
+
// contradict the structured field — fall back to the label only when
|
|
138
|
+
// the start value is missing or non-HHMM.
|
|
139
|
+
const timePart = hhmmStart || preferredTime;
|
|
140
|
+
let appointmentComment;
|
|
141
|
+
if (!props.omitAppointmentInComments) {
|
|
142
|
+
if (datePart && timePart) {
|
|
143
|
+
appointmentComment = `Requested appointment: ${datePart} ${timePart}`;
|
|
144
|
+
}
|
|
145
|
+
else if (datePart) {
|
|
146
|
+
appointmentComment = `Requested appointment: ${datePart}`;
|
|
147
|
+
}
|
|
148
|
+
else if (timePart) {
|
|
149
|
+
appointmentComment = `Requested appointment time: ${timePart}`;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// MESSAGE first — homeowner's own words are the most useful thing for a buyer to read.
|
|
153
|
+
// Boberdoo's Comments field is Varchar(3000); truncate MESSAGE (not the appointment summary) to fit.
|
|
154
|
+
const MAX_COMMENTS = 3000;
|
|
155
|
+
const ELLIPSIS = "…";
|
|
156
|
+
const separatorLen = message && appointmentComment ? 2 : 0;
|
|
157
|
+
const reservedLen = (appointmentComment ? appointmentComment.length : 0) + separatorLen;
|
|
158
|
+
let trimmedMessage = message;
|
|
159
|
+
if (trimmedMessage && trimmedMessage.length > MAX_COMMENTS - reservedLen) {
|
|
160
|
+
trimmedMessage = trimmedMessage.slice(0, MAX_COMMENTS - reservedLen - ELLIPSIS.length) + ELLIPSIS;
|
|
161
|
+
}
|
|
162
|
+
const commentsParts = [];
|
|
163
|
+
if (trimmedMessage)
|
|
164
|
+
commentsParts.push(trimmedMessage);
|
|
165
|
+
if (appointmentComment)
|
|
166
|
+
commentsParts.push(appointmentComment);
|
|
167
|
+
if (commentsParts.length > 0)
|
|
168
|
+
payload.Comments = commentsParts.join("\n\n");
|
|
95
169
|
if (extras === null || extras === void 0 ? void 0 : extras.xxTrustedFormCertUrl)
|
|
96
170
|
payload.Trusted_Form_URL = extras.xxTrustedFormCertUrl;
|
|
97
171
|
if (extras === null || extras === void 0 ? void 0 : extras.utm_source)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoberdooIntegration.js","sourceRoot":"","sources":["../src/BoberdooIntegration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAiEA,
|
|
1
|
+
{"version":3,"file":"BoberdooIntegration.js","sourceRoot":"","sources":["../src/BoberdooIntegration.ts"],"names":[],"mappings":"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"}
|
package/lib/models.d.ts
CHANGED
|
@@ -32,6 +32,14 @@ export interface BoberdooServiceProps {
|
|
|
32
32
|
* billing a real one.
|
|
33
33
|
*/
|
|
34
34
|
testMode?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* When true the human-readable appointment summary is not appended to
|
|
37
|
+
* `Comments`. Set this once the partner has wired up the structured
|
|
38
|
+
* custom fields (`Requested_Day`, `Requested_Time`, `Requested_Time_Frame`,
|
|
39
|
+
* `Requested_First_Available_Day`) so the redundant text in Comments
|
|
40
|
+
* can be dropped. MESSAGE still flows through Comments unchanged.
|
|
41
|
+
*/
|
|
42
|
+
omitAppointmentInComments?: boolean;
|
|
35
43
|
}
|
|
36
44
|
/**
|
|
37
45
|
* The lead payload sent to the partner. Field names are case-sensitive
|
|
@@ -68,6 +76,14 @@ export interface BoberdooLeadPayload {
|
|
|
68
76
|
utm_content?: string;
|
|
69
77
|
utm_term?: string;
|
|
70
78
|
Comments?: string;
|
|
79
|
+
/** Requested day as `YYYY-MM-DD`; partner-configured custom field. */
|
|
80
|
+
Requested_Day?: string;
|
|
81
|
+
/** "1" when the lead carries `PREFERRED_DATE = "[first_available]"`; not mutually exclusive with Requested_Day. */
|
|
82
|
+
Requested_First_Available_Day?: "1";
|
|
83
|
+
/** Requested time as 24-hour `HH:MM`; partner-configured custom field. */
|
|
84
|
+
Requested_Time?: string;
|
|
85
|
+
/** Requested time window label; partner-configured custom field. */
|
|
86
|
+
Requested_Time_Frame?: "morning" | "afternoon" | "evening" | "first available";
|
|
71
87
|
[key: string]: string | undefined;
|
|
72
88
|
}
|
|
73
89
|
/**
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.86.0",
|
|
8
8
|
"description": "Service to integrate with Boberdoo lead distribution",
|
|
9
9
|
"types": "lib/index",
|
|
10
10
|
"main": "lib/index",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"dotenv": "17.4.2",
|
|
24
24
|
"mocha": "11.7.5",
|
|
25
25
|
"sinon": "21.0.0",
|
|
26
|
-
"stentor-logger": "1.72.
|
|
27
|
-
"stentor-models": "1.72.
|
|
26
|
+
"stentor-logger": "1.72.4",
|
|
27
|
+
"stentor-models": "1.72.4",
|
|
28
28
|
"ts-node": "10.9.2",
|
|
29
29
|
"typescript": "5.9.3"
|
|
30
30
|
},
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"axios": "1.16.1"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "ed7671a81b61a77633832c752e78706dcf58b10f"
|
|
45
45
|
}
|