AbstractCrmService
Stentor API Reference / stentor-models/src / AbstractCrmService
Class: AbstractCrmService
Defined in: packages/stentor-models/src/Services/CrmService.ts:276
Implementsβ
Constructorsβ
Constructorβ
new AbstractCrmService(
props):AbstractCrmService
Defined in: packages/stentor-models/src/Services/CrmService.ts:285
Parametersβ
propsβ
CrmServiceAvailabilitySettings
Returnsβ
AbstractCrmService
Propertiesβ
availableDays?β
protectedoptionalavailableDays?:DayOfWeek[]
Defined in: packages/stentor-models/src/Services/CrmService.ts:277
blockedDays?β
protectedoptionalblockedDays?:DateTime[]
Defined in: packages/stentor-models/src/Services/CrmService.ts:279
maxTotalDailyAppointments?β
protectedoptionalmaxTotalDailyAppointments?:number
Defined in: packages/stentor-models/src/Services/CrmService.ts:281
delayedJobTypes?β
protectedoptionaldelayedJobTypes?:string[]
Defined in: packages/stentor-models/src/Services/CrmService.ts:283
Methodsβ
send()β
send(
externalLead,extras?):Promise<CrmResponse>
Defined in: packages/stentor-models/src/Services/CrmService.ts:303
Send information about a lead to the CRM.
This can be used to either create a lead or append data to an existing lead.
The existing lead can be determined by the refId on the ExternalLead information or by attempting to match data such as email or phone number.
Parametersβ
externalLeadβ
Lead information
extras?β
Record<string, unknown>
Optional additional metadata to pass to the CRM
Returnsβ
Promise<CrmResponse>
Implementation ofβ
getAvailability()β
getAvailability(
range,options?):Promise<CrmServiceAvailability>
Defined in: packages/stentor-models/src/Services/CrmService.ts:310
Returns availability for scheduling an appointment with the business.
Parametersβ
rangeβ
options?β
Returnsβ
Promise<CrmServiceAvailability>
Implementation ofβ
getJobType()β
getJobType(
message,externalLead?,options?):Promise<CrmServiceJobType>
Defined in: packages/stentor-models/src/Services/CrmService.ts:326
Returns the job type (id) for the free text job description (AI call usually)
Parametersβ
messageβ
string
externalLead?β
options?β
CrmServiceAvailabilitySettings
Availability settings in scope for this request (e.g. a widget's forceAvailabilityClass or jobTypeClasses), needed to resolve the job type's class.
Deliberately typed as the settings-only CrmServiceAvailabilitySettings rather than
CrmServiceAvailabilityOptions: this method determines the job type, so the jobType member of
the Options type would be meaningless (and misleading) here.
Returnsβ
Promise<CrmServiceJobType>
Implementation ofβ
update()?β
optionalupdate(externalLead,extras?):Promise<CrmResponse>
Defined in: packages/stentor-models/src/Services/CrmService.ts:334
Updates a lead if the user provides more information after the lead has been sent.
It leverages the refId on the externalLead, which is originally provided in the CrmResponse to properly
Parametersβ
externalLeadβ
extras?β
Record<string, unknown>
Returnsβ
Promise<CrmResponse>
Deprecatedβ
Use send with a refId on the externalLead and call send() again. This will update.