UNPKG

@gnosticdev/highlevel-sdk

Version:
2,050 lines 49.9 kB
//#region src/v2/webhooks/types/AppInstall.d.ts interface AppInstall { type?: string; appId?: string; companyId?: string; locationId?: string; userId?: string; planId?: string; trial?: { onTrial?: boolean; trialDuration?: number; trialStartDate?: { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }; isWhitelabelCompany?: boolean; whitelabelDetails?: { domain?: string; logoUrl?: string; [k: string]: unknown | undefined; }; companyName?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/AppUninstall.d.ts interface AppUninstall { type?: string; appId?: string; companyId?: string; locationId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/AppointmentCreate.d.ts interface AppointmentCreate { type?: string; locationId?: string; appointment?: { id?: string; address?: string; title?: string; calendarId?: string; contactId?: string; groupId?: string; appointmentStatus?: string; assignedUserId?: string; users?: unknown[]; notes?: string; source?: string; startTime?: string; endTime?: string; dateAdded?: string; dateUpdated?: string; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/AppointmentDelete.d.ts interface AppointmentDelete { type?: string; locationId?: string; appointment?: { id?: string; address?: string; title?: string; calendarId?: string; contactId?: string; groupId?: string; appointmentStatus?: string; assignedUserId?: string; users?: unknown[]; notes?: string; source?: string; startTime?: string; endTime?: string; dateAdded?: string; dateUpdated?: string; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/AppointmentUpdate.d.ts interface AppointmentUpdate { type?: string; locationId?: string; appointment?: { id?: string; address?: string; title?: string; calendarId?: string; contactId?: string; groupId?: string; appointmentStatus?: string; assignedUserId?: string; users?: unknown[]; notes?: string; source?: string; startTime?: string; endTime?: string; dateAdded?: string; dateUpdated?: string; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/AssociationCreate.d.ts interface AssociationCreate { id?: string; associationType?: string; firstObjectKey?: string; firstObjectLabel?: string; secondObjectKey?: string; secondObjectLabel?: string; key?: string; locationId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/AssociationDelete.d.ts interface AssociationDelete { id?: string; associationType?: string; firstObjectKey?: string; firstObjectLabel?: string; firstObjectToSecondObjectCardinality?: string; secondObjectKey?: string; secondObjectLabel?: string; secondObjectToFirstObjectCardinality?: string; key?: string; locationId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/AssociationUpdate.d.ts interface AssociationUpdate { id?: string; associationType?: string; firstObjectKey?: string; firstObjectLabel?: string; firstObjectToSecondObjectCardinality?: string; secondObjectKey?: string; secondObjectLabel?: string; secondObjectToFirstObjectCardinality?: string; key?: string; locationId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/CampaignStatusUpdate.d.ts interface CampaignStatusUpdate { type?: string; locationId?: string; id?: string; contactId?: string; status?: string; templateId?: string; replied?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ContactCreate.d.ts interface ContactCreate { type?: string; locationId?: string; id?: string; address1?: string; city?: string; companyName?: string; country?: string; source?: string; dateAdded?: string; dateOfBirth?: string; dnd?: boolean; email?: string; name?: string; firstName?: string; lastName?: string; phone?: string; postalCode?: string; state?: string; tags?: unknown[]; website?: string; attachments?: unknown[]; assignedTo?: string; customFields?: { id?: string; value?: string | number | unknown[] | { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }[]; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ContactDelete.d.ts interface ContactDelete { type?: string; locationId?: string; id?: string; address1?: string; city?: string; companyName?: string; country?: string; source?: string; dateAdded?: string; dateOfBirth?: string; dnd?: boolean; email?: string; name?: string; firstName?: string; lastName?: string; phone?: string; postalCode?: string; state?: string; tags?: unknown[]; website?: string; attachments?: unknown[]; assignedTo?: string; customFields?: { id?: string; value?: string | number | unknown[] | { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }[]; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ContactDndUpdate.d.ts interface ContactDndUpdate { type?: string; locationId?: string; id?: string; address1?: string; city?: string; companyName?: string; country?: string; source?: string; dateAdded?: string; dateOfBirth?: string; dnd?: boolean; dndSettings?: { SMS?: { status?: string; message?: string; code?: string; [k: string]: unknown | undefined; }; Email?: { status?: string; message?: string; code?: string; [k: string]: unknown | undefined; }; GMB?: { status?: string; message?: string; code?: string; [k: string]: unknown | undefined; }; FB?: { status?: string; message?: string; code?: string; [k: string]: unknown | undefined; }; WhatsApp?: { status?: string; message?: string; code?: string; [k: string]: unknown | undefined; }; Call?: { status?: string; message?: string; code?: string; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }; email?: string; name?: string; firstName?: string; lastName?: string; phone?: string; postalCode?: string; state?: string; tags?: unknown[]; website?: string; attachments?: unknown[]; assignedTo?: string; customFields?: { id?: string; value?: string | number | unknown[] | { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }[]; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ContactTagUpdate.d.ts interface ContactTagUpdate { type?: string; locationId?: string; id?: string; address1?: string; city?: string; companyName?: string; country?: string; source?: string; dateAdded?: string; dateOfBirth?: string; dnd?: boolean; email?: string; name?: string; firstName?: string; lastName?: string; phone?: string; postalCode?: string; state?: string; tags?: unknown[]; website?: string; attachments?: unknown[]; assignedTo?: string; customFields?: { id?: string; value?: string | number | unknown[] | { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }[]; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ContactUpdate.d.ts interface ContactUpdate { type?: string; locationId?: string; id?: string; address1?: string; city?: string; companyName?: string; country?: string; source?: string; dateAdded?: string; dateOfBirth?: string; dnd?: boolean; email?: string; name?: string; firstName?: string; lastName?: string; phone?: string; postalCode?: string; state?: string; tags?: unknown[]; website?: string; attachments?: unknown[]; assignedTo?: string; customFields?: { id?: string; value?: string | number | unknown[] | { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }[]; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ConversationUnreadWebhook.d.ts interface ConversationUnreadWebhook { type?: string; locationId?: string; id?: string; contactId?: string; unreadCount?: number; inbox?: boolean; starred?: boolean; deleted?: boolean; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/InboundMessage.d.ts interface InboundMessage { type?: string; locationId?: string; attachments?: unknown[]; body?: string; contactId?: string; contentType?: string; conversationId?: string; dateAdded?: string; direction?: string; messageType?: string; status?: string; messageId?: string; userId?: string; conversationProviderId?: string; callDuration?: number; callStatus?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/InvoiceCreate.d.ts interface InvoiceCreate { _id?: string; status?: string; liveMode?: boolean; amountPaid?: number; altId?: string; altType?: string; name?: string; businessDetails?: { name?: string; address?: string; phoneNo?: string; website?: string; logoUrl?: string; customValues?: string[]; [k: string]: unknown | undefined; }; invoiceNumber?: string; currency?: string; contactDetails?: { id?: string; phoneNo?: string; email?: string; customFields?: string[]; name?: string; address?: { countryCode?: string; addressLine1?: string; addressLine2?: string; city?: string; state?: string; postalCode?: string; [k: string]: unknown | undefined; }; additionalEmails?: { email?: string; [k: string]: unknown | undefined; }[]; companyName?: string; [k: string]: unknown | undefined; }; issueDate?: string; dueDate?: string; discount?: { type?: string; value?: number; [k: string]: unknown | undefined; }; invoiceItems?: { taxes?: unknown[]; _id?: string; productId?: string; priceId?: string; currency?: string; name?: string; qty?: number; amount?: number; [k: string]: unknown | undefined; }[]; total?: number; title?: string; amountDue?: number; createdAt?: string; updatedAt?: string; totalSummary?: { subTotal?: number; discount?: number; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/InvoiceDelete.d.ts interface InvoiceDelete { _id?: string; status?: string; liveMode?: boolean; amountPaid?: number; altId?: string; altType?: string; name?: string; businessDetails?: { name?: string; address?: string; phoneNo?: string; website?: string; logoUrl?: string; customValues?: string[]; [k: string]: unknown | undefined; }; invoiceNumber?: string; currency?: string; contactDetails?: { id?: string; phoneNo?: string; email?: string; customFields?: string[]; name?: string; address?: { countryCode?: string; addressLine1?: string; addressLine2?: string; city?: string; state?: string; postalCode?: string; [k: string]: unknown | undefined; }; additionalEmails?: { email?: string; [k: string]: unknown | undefined; }[]; companyName?: string; [k: string]: unknown | undefined; }; issueDate?: string; dueDate?: string; discount?: { type?: string; value?: number; [k: string]: unknown | undefined; }; invoiceItems?: { taxes?: unknown[]; _id?: string; productId?: string; priceId?: string; currency?: string; name?: string; qty?: number; amount?: number; [k: string]: unknown | undefined; }[]; total?: number; title?: string; amountDue?: number; createdAt?: string; updatedAt?: string; totalSummary?: { subTotal?: number; discount?: number; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/InvoicePaid.d.ts interface InvoicePaid { _id?: string; status?: string; liveMode?: boolean; amountPaid?: number; altId?: string; altType?: string; name?: string; businessDetails?: { name?: string; address?: string; phoneNo?: string; website?: string; logoUrl?: string; customValues?: string[]; [k: string]: unknown | undefined; }; invoiceNumber?: string; currency?: string; contactDetails?: { id?: string; phoneNo?: string; email?: string; customFields?: string[]; name?: string; address?: { countryCode?: string; addressLine1?: string; addressLine2?: string; city?: string; state?: string; postalCode?: string; [k: string]: unknown | undefined; }; additionalEmails?: { email?: string; [k: string]: unknown | undefined; }[]; companyName?: string; [k: string]: unknown | undefined; }; issueDate?: string; dueDate?: string; discount?: { type?: string; value?: number; [k: string]: unknown | undefined; }; invoiceItems?: { taxes?: unknown[]; _id?: string; productId?: string; priceId?: string; currency?: string; name?: string; qty?: number; amount?: number; [k: string]: unknown | undefined; }[]; total?: number; title?: string; amountDue?: number; createdAt?: string; updatedAt?: string; totalSummary?: { subTotal?: number; discount?: number; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/InvoicePartiallyPaid.d.ts interface InvoicePartiallyPaid { _id?: string; status?: string; liveMode?: boolean; amountPaid?: number; altId?: string; altType?: string; name?: string; businessDetails?: { name?: string; address?: string; phoneNo?: string; website?: string; logoUrl?: string; customValues?: string[]; [k: string]: unknown | undefined; }; invoiceNumber?: string; currency?: string; contactDetails?: { id?: string; phoneNo?: string; email?: string; customFields?: string[]; name?: string; address?: { countryCode?: string; addressLine1?: string; addressLine2?: string; city?: string; state?: string; postalCode?: string; [k: string]: unknown | undefined; }; additionalEmails?: { email?: string; [k: string]: unknown | undefined; }[]; companyName?: string; [k: string]: unknown | undefined; }; issueDate?: string; dueDate?: string; discount?: { type?: string; value?: number; [k: string]: unknown | undefined; }; invoiceItems?: { taxes?: unknown[]; _id?: string; productId?: string; priceId?: string; currency?: string; name?: string; qty?: number; amount?: number; [k: string]: unknown | undefined; }[]; total?: number; title?: string; amountDue?: number; createdAt?: string; updatedAt?: string; totalSummary?: { subTotal?: number; discount?: number; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/InvoiceSent.d.ts interface InvoiceSent { _id?: string; status?: string; liveMode?: boolean; amountPaid?: number; altId?: string; altType?: string; name?: string; businessDetails?: { name?: string; address?: string; phoneNo?: string; website?: string; logoUrl?: string; customValues?: string[]; [k: string]: unknown | undefined; }; invoiceNumber?: string; currency?: string; contactDetails?: { id?: string; phoneNo?: string; email?: string; customFields?: string[]; name?: string; address?: { countryCode?: string; addressLine1?: string; addressLine2?: string; city?: string; state?: string; postalCode?: string; [k: string]: unknown | undefined; }; additionalEmails?: { email?: string; [k: string]: unknown | undefined; }[]; companyName?: string; [k: string]: unknown | undefined; }; issueDate?: string; dueDate?: string; discount?: { type?: string; value?: number; [k: string]: unknown | undefined; }; invoiceItems?: { taxes?: unknown[]; _id?: string; productId?: string; priceId?: string; currency?: string; name?: string; qty?: number; amount?: number; [k: string]: unknown | undefined; }[]; total?: number; title?: string; amountDue?: number; createdAt?: string; updatedAt?: string; totalSummary?: { subTotal?: number; discount?: number; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/InvoiceUpdate.d.ts interface InvoiceUpdate { _id?: string; status?: string; liveMode?: boolean; amountPaid?: number; altId?: string; altType?: string; name?: string; businessDetails?: { name?: string; address?: string; phoneNo?: string; website?: string; logoUrl?: string; customValues?: string[]; [k: string]: unknown | undefined; }; invoiceNumber?: string; currency?: string; contactDetails?: { id?: string; phoneNo?: string; email?: string; customFields?: string[]; name?: string; address?: { countryCode?: string; addressLine1?: string; addressLine2?: string; city?: string; state?: string; postalCode?: string; [k: string]: unknown | undefined; }; additionalEmails?: { email?: string; [k: string]: unknown | undefined; }[]; companyName?: string; [k: string]: unknown | undefined; }; issueDate?: string; dueDate?: string; discount?: { type?: string; value?: number; [k: string]: unknown | undefined; }; invoiceItems?: { taxes?: unknown[]; _id?: string; productId?: string; priceId?: string; currency?: string; name?: string; qty?: number; amount?: number; [k: string]: unknown | undefined; }[]; total?: number; title?: string; amountDue?: number; createdAt?: string; updatedAt?: string; totalSummary?: { subTotal?: number; discount?: number; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/InvoiceVoid.d.ts interface InvoiceVoid { _id?: string; status?: string; liveMode?: boolean; amountPaid?: number; altId?: string; altType?: string; name?: string; businessDetails?: { name?: string; address?: string; phoneNo?: string; website?: string; logoUrl?: string; customValues?: string[]; [k: string]: unknown | undefined; }; invoiceNumber?: string; currency?: string; contactDetails?: { id?: string; phoneNo?: string; email?: string; customFields?: string[]; name?: string; address?: { countryCode?: string; addressLine1?: string; addressLine2?: string; city?: string; state?: string; postalCode?: string; [k: string]: unknown | undefined; }; additionalEmails?: { email?: string; [k: string]: unknown | undefined; }[]; companyName?: string; [k: string]: unknown | undefined; }; issueDate?: string; dueDate?: string; discount?: { type?: string; value?: number; [k: string]: unknown | undefined; }; invoiceItems?: { taxes?: unknown[]; _id?: string; productId?: string; priceId?: string; currency?: string; name?: string; qty?: number; amount?: number; [k: string]: unknown | undefined; }[]; total?: number; title?: string; amountDue?: number; createdAt?: string; updatedAt?: string; totalSummary?: { subTotal?: number; discount?: number; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/LCEmailStats.d.ts interface LCEmailStats { type?: string; locationId?: string; companyId?: string; webhookPayload?: { event?: string; id?: string; timestamp?: number; flags?: { 'is-authenticated'?: boolean; 'is-routed'?: boolean; 'is-big'?: boolean; 'is-system-test'?: boolean; 'is-test-mode'?: boolean; [k: string]: unknown | undefined; }; message?: { attachments?: unknown[]; headers?: { 'message-id'?: string; from?: string; to?: string; [k: string]: unknown | undefined; }; size?: number; [k: string]: unknown | undefined; }; 'log-level'?: string; recipient?: string; 'recipient-domain'?: string; tags?: unknown[]; 'recipient-provider'?: string; campaigns?: unknown[]; 'delivery-status'?: { 'attempt-no'?: number; code?: number; message?: string; description?: string; 'session-seconds'?: number; 'enhanced-code'?: string; 'mx-host'?: string; utf8?: boolean; 'i-first-delivery-attempt-seconds'?: number; [k: string]: unknown | undefined; }; envelope?: { sender?: string; targets?: string; transport?: string; 'sending-ip'?: string; 'i-ip-pool-id'?: string; 'i-ip-pool-name'?: string; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/LocationCreate.d.ts interface LocationCreate { type?: string; id?: string; name?: string; email?: string; stripeProductId?: string; companyId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/LocationUpdate.d.ts interface LocationUpdate { type?: string; id?: string; name?: string; email?: string; stripeProductId?: string; companyId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/NoteCreate.d.ts interface NoteCreate { type?: string; locationId?: string; id?: string; body?: string; contactId?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/NoteDelete.d.ts interface NoteDelete { type?: string; locationId?: string; id?: string; body?: string; contactId?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/NoteUpdate.d.ts interface NoteUpdate { type?: string; locationId?: string; id?: string; body?: string; contactId?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ObjectSchemaCreate.d.ts interface ObjectSchemaCreate { id?: string; labels: { singular: string; plural: string; }; description?: string; searchableProperties?: string[]; primaryDisplayProperty: string; key: string; locationId: string; createdBy?: { [k: string]: unknown | undefined; }; updatedBy?: { [k: string]: unknown | undefined; }; createdAt?: string; updatedAt?: string; timestamp?: string; objectType: ObjectType$1; [k: string]: unknown | undefined; } declare const enum ObjectType$1 { USER_DEFINED = "USER_DEFINED" } //#endregion //#region src/v2/webhooks/types/ObjectSchemaUpdate.d.ts interface ObjectSchemaUpdate { id?: string; labels: { singular: string; plural: string; }; description?: string; searchableProperties?: string[]; primaryDisplayProperty: string; key: string; locationId: string; createdBy?: { [k: string]: unknown | undefined; }; updatedBy?: { [k: string]: unknown | undefined; }; createdAt?: string; updatedAt?: string; timestamp?: string; objectType: ObjectType; [k: string]: unknown | undefined; } declare const enum ObjectType { USER_DEFINED = "USER_DEFINED" } //#endregion //#region src/v2/webhooks/types/OpportunityAssignedToUpdate.d.ts interface OpportunityAssignedToUpdate { type?: string; locationId?: string; id?: string; assignedTo?: string; contactId?: string; monetaryValue?: number; name?: string; pipelineId?: string; pipelineStageId?: string; source?: string; status?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OpportunityCreate.d.ts interface OpportunityCreate { type?: string; locationId?: string; id?: string; assignedTo?: string; contactId?: string; monetaryValue?: number; name?: string; pipelineId?: string; pipelineStageId?: string; source?: string; status?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OpportunityDelete.d.ts interface OpportunityDelete { type?: string; locationId?: string; id?: string; assignedTo?: string; contactId?: string; monetaryValue?: number; name?: string; pipelineId?: string; pipelineStageId?: string; source?: string; status?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OpportunityMonetaryValueUpdate.d.ts interface OpportunityMonetaryValueUpdate { type?: string; locationId?: string; id?: string; assignedTo?: string; contactId?: string; monetaryValue?: number; name?: string; pipelineId?: string; pipelineStageId?: string; source?: string; status?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OpportunityStageUpdate.d.ts interface OpportunityStageUpdate { type?: string; locationId?: string; id?: string; assignedTo?: string; contactId?: string; monetaryValue?: number; name?: string; pipelineId?: string; pipelineStageId?: string; source?: string; status?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OpportunityStatusUpdate.d.ts interface OpportunityStatusUpdate { type?: string; locationId?: string; id?: string; assignedTo?: string; contactId?: string; monetaryValue?: number; name?: string; pipelineId?: string; pipelineStageId?: string; source?: string; status?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OpportunityUpdate.d.ts interface OpportunityUpdate { type?: string; locationId?: string; id?: string; assignedTo?: string; contactId?: string; monetaryValue?: number; name?: string; pipelineId?: string; pipelineStageId?: string; source?: string; status?: string; dateAdded?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OrderCreate.d.ts interface OrderCreate { type?: string; altId?: string; altType?: string; _id?: string; contactId?: string; contactSnapshot?: { locationId?: string; id?: string; address1?: string; city?: string; companyName?: string; country?: string; source?: string; dateAdded?: string; dateOfBirth?: string; dnd?: boolean; email?: string; name?: string; firstName?: string; lastName?: string; phone?: string; postalCode?: string; state?: string; tags?: unknown[]; website?: string; attachments?: unknown[]; assignedTo?: string; [k: string]: unknown | undefined; }; status?: string; fulfillmentStatus?: string; currency?: string; amount?: number; liveMode?: boolean; items?: { name?: string; qty?: number; product?: { [k: string]: unknown | undefined; }; price?: { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }[]; amountSummary?: { discount?: number; shipping?: number; subtotal?: number; tax?: number; [k: string]: unknown | undefined; }; taxSummary?: { _id?: string; amount?: number; calculation?: string; name?: string; rate?: number; [k: string]: unknown | undefined; }[]; source?: { id?: string; name?: string; type?: string; subType?: string; meta?: { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }; createdAt?: string; updatedAt?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OrderStatusUpdate.d.ts interface OrderStatusUpdate { type?: string; altId?: string; altType?: string; _id?: string; contactId?: string; contactSnapshot?: { locationId?: string; id?: string; address1?: string; city?: string; companyName?: string; country?: string; source?: string; dateAdded?: string; dateOfBirth?: string; dnd?: boolean; email?: string; name?: string; firstName?: string; lastName?: string; phone?: string; postalCode?: string; state?: string; tags?: unknown[]; website?: string; attachments?: unknown[]; assignedTo?: string; [k: string]: unknown | undefined; }; status?: string; fulfillmentStatus?: string; currency?: string; amount?: number; liveMode?: boolean; items?: { name?: string; qty?: number; product?: { [k: string]: unknown | undefined; }; price?: { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }[]; amountSummary?: { discount?: number; shipping?: number; subtotal?: number; tax?: number; [k: string]: unknown | undefined; }; taxSummary?: { _id?: string; amount?: number; calculation?: string; name?: string; rate?: number; [k: string]: unknown | undefined; }[]; source?: { id?: string; name?: string; type?: string; subType?: string; meta?: { [k: string]: unknown | undefined; }; [k: string]: unknown | undefined; }; createdAt?: string; updatedAt?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/OutboundMessage.d.ts interface OutboundMessage { type?: string; locationId?: string; attachments?: unknown[]; body?: string; contactId?: string; contentType?: string; conversationId?: string; dateAdded?: string; direction?: string; messageType?: string; status?: string; messageId?: string; userId?: string; source?: string; conversationProviderId?: string; callDuration?: number; callStatus?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/PlanChange.d.ts interface PlanChange { type?: string; appId?: string; locationId?: string; companyId?: string; userId?: string; currentPlanId?: string; newPlanId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/PriceCreate.d.ts interface PriceCreate { _id?: string; membershipOffers?: { label?: string; value?: string; _id?: string; [k: string]: unknown | undefined; }[]; variantOptionIds?: string[]; locationId?: string; product?: string; userId?: string; name?: string; priceType?: string; currency?: string; amount?: number; recurring?: { interval?: string; intervalCount?: number; [k: string]: unknown | undefined; }; createdAt?: string; updatedAt?: string; compareAtPrice?: number; trackInventory?: null; availableQuantity?: number; allowOutOfStockPurchases?: boolean; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/PriceDelete.d.ts interface PriceDelete { _id?: string; membershipOffers?: { label?: string; value?: string; _id?: string; [k: string]: unknown | undefined; }[]; variantOptionIds?: string[]; locationId?: string; product?: string; userId?: string; name?: string; type?: string; currency?: string; amount?: number; recurring?: { interval?: string; intervalCount?: number; [k: string]: unknown | undefined; }; createdAt?: string; updatedAt?: string; compareAtPrice?: number; trackInventory?: null; availableQuantity?: number; allowOutOfStockPurchases?: boolean; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/PriceUpdate.d.ts interface PriceUpdate { _id?: string; membershipOffers?: { label?: string; value?: string; _id?: string; [k: string]: unknown | undefined; }[]; variantOptionIds?: string[]; locationId?: string; product?: string; userId?: string; name?: string; type?: string; currency?: string; amount?: number; recurring?: { interval?: string; intervalCount?: number; [k: string]: unknown | undefined; }; createdAt?: string; updatedAt?: string; compareAtPrice?: number; trackInventory?: null; availableQuantity?: number; allowOutOfStockPurchases?: boolean; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ProductCreate.d.ts interface ProductCreate { _id?: string; description?: string; variants?: { id?: string; name?: string; options?: { id?: string; name?: string; [k: string]: unknown | undefined; }[]; [k: string]: unknown | undefined; }[]; medias?: { id?: string; title?: string; url?: string; type?: string; isFeatured?: boolean; [k: string]: unknown | undefined; }[]; locationId?: string; name?: string; productType?: string; availableInStore?: boolean; userId?: string; createdAt?: string; updatedAt?: string; statementDescriptor?: string; image?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ProductDelete.d.ts interface ProductDelete { _id?: string; description?: string; variants?: { id?: string; name?: string; options?: { id?: string; name?: string; [k: string]: unknown | undefined; }[]; [k: string]: unknown | undefined; }[]; medias?: { id?: string; title?: string; url?: string; type?: string; isFeatured?: boolean; [k: string]: unknown | undefined; }[]; locationId?: string; name?: string; productType?: string; availableInStore?: boolean; userId?: string; createdAt?: string; updatedAt?: string; statementDescriptor?: string; image?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ProductUpdate.d.ts interface ProductUpdate { _id?: string; description?: string; variants?: { id?: string; name?: string; options?: { id?: string; name?: string; [k: string]: unknown | undefined; }[]; [k: string]: unknown | undefined; }[]; medias?: { id?: string; title?: string; url?: string; type?: string; isFeatured?: boolean; [k: string]: unknown | undefined; }[]; locationId?: string; name?: string; productType?: string; availableInStore?: boolean; userId?: string; createdAt?: string; updatedAt?: string; statementDescriptor?: string; image?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/ProviderOutboundMessage.d.ts interface ProviderOutboundMessage { contactId?: string; locationId?: string; messageId?: string; emailMessageId?: string; type?: { [k: string]: unknown | undefined; }; attachments?: unknown[]; message?: string; phone?: string; emailTo?: string; emailFrom?: string; html?: string; subject?: string; userId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/RecordCreate.d.ts interface RecordCreate { type?: string; locationId?: string; owners?: string[]; followers?: string[]; properties?: { key?: string; valueString?: string; [k: string]: unknown | undefined; }[]; id?: string; timestamp?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/RecordDelete.d.ts interface RecordDelete { type?: string; locationId?: string; owners?: string[]; followers?: string[]; properties?: { key?: string; valueString?: string; [k: string]: unknown | undefined; }[]; id?: string; timestamp?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/RecordUpdate.d.ts interface RecordUpdate { type?: string; locationId?: string; owners?: string[]; followers?: string[]; properties?: { key?: string; valueString?: string; [k: string]: unknown | undefined; }[]; id?: string; timestamp?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/RelationCreate.d.ts interface RelationCreate { id?: string; firstObjectKey?: string; firstRecordId?: string; secondObjectKey?: string; secondRecordId?: string; associationId?: string; locationId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/RelationDelete.d.ts interface RelationDelete { id?: string; firstObjectKey?: string; firstRecordId?: string; secondObjectKey?: string; secondRecordId?: string; associationId?: string; locationId?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/TaskComplete.d.ts interface TaskComplete { type?: string; locationId?: string; id?: string; assignedTo?: string; body?: string; contactId?: string; title?: string; dateAdded?: string; dueDate?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/TaskCreate.d.ts interface TaskCreate { type?: string; locationId?: string; id?: string; assignedTo?: string; body?: string; contactId?: string; title?: string; dateAdded?: string; dueDate?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/TaskDelete.d.ts interface TaskDelete { type?: string; locationId?: string; id?: string; assignedTo?: string; body?: string; contactId?: string; title?: string; dateAdded?: string; dueDate?: string; [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/UserCreate.d.ts type UserCreate = (SubAccountUserPayload$2 | AgencyUserPayload$2) & { type: 'UserCreate'; locationId?: string; companyId?: string; id: string; firstName: string; lastName: string; email: string; phone?: string; extension?: string; role: string; permissions: { adwordsReportingEnabled?: boolean; affiliateManagerEnabled?: boolean; agentReportingEnabled?: boolean; appointmentsEnabled?: boolean; assignedDataOnly?: boolean; attributionsReportingEnabled?: boolean; bloggingEnabled?: boolean; botService?: boolean; bulkRequestsEnabled?: boolean; campaignsEnabled?: boolean; campaignsReadOnly?: boolean; cancelSubscriptionEnabled?: boolean; communitiesEnabled?: boolean; contactsEnabled?: boolean; contentAiEnabled?: boolean; conversationsEnabled?: boolean; dashboardStatsEnabled?: boolean; facebookAdsReportingEnabled?: boolean; funnelsEnabled?: boolean; invoiceEnabled?: boolean; leadValueEnabled?: boolean; marketingEnabled?: boolean; membershipEnabled?: boolean; onlineListingsEnabled?: boolean; opportunitiesEnabled?: boolean; paymentsEnabled?: boolean; phoneCallEnabled?: boolean; recordPaymentEnabled?: boolean; refundsEnabled?: boolean; reviewsEnabled?: boolean; settingsEnabled?: boolean; socialPlanner?: boolean; tagsEnabled?: boolean; triggersEnabled?: boolean; websitesEnabled?: boolean; workflowsEnabled?: boolean; workflowsReadOnly?: boolean; [k: string]: unknown | undefined; }; scopes: string[]; locations?: string[]; [k: string]: unknown | undefined; }; interface SubAccountUserPayload$2 { [k: string]: unknown | undefined; } interface AgencyUserPayload$2 { [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/UserDelete.d.ts type UserDelete = (SubAccountUserPayload$1 | AgencyUserPayload$1) & { type: 'UserDelete'; locationId?: string; companyId?: string; id: string; firstName: string; lastName: string; email: string; phone?: string; extension?: string; role: string; permissions: { adwordsReportingEnabled?: boolean; affiliateManagerEnabled?: boolean; agentReportingEnabled?: boolean; appointmentsEnabled?: boolean; assignedDataOnly?: boolean; attributionsReportingEnabled?: boolean; bloggingEnabled?: boolean; botService?: boolean; bulkRequestsEnabled?: boolean; campaignsEnabled?: boolean; campaignsReadOnly?: boolean; cancelSubscriptionEnabled?: boolean; communitiesEnabled?: boolean; contactsEnabled?: boolean; contentAiEnabled?: boolean; conversationsEnabled?: boolean; dashboardStatsEnabled?: boolean; facebookAdsReportingEnabled?: boolean; funnelsEnabled?: boolean; invoiceEnabled?: boolean; leadValueEnabled?: boolean; marketingEnabled?: boolean; membershipEnabled?: boolean; onlineListingsEnabled?: boolean; opportunitiesEnabled?: boolean; paymentsEnabled?: boolean; phoneCallEnabled?: boolean; recordPaymentEnabled?: boolean; refundsEnabled?: boolean; reviewsEnabled?: boolean; settingsEnabled?: boolean; socialPlanner?: boolean; tagsEnabled?: boolean; triggersEnabled?: boolean; websitesEnabled?: boolean; workflowsEnabled?: boolean; workflowsReadOnly?: boolean; [k: string]: unknown | undefined; }; scopes: string[]; locations?: string[]; [k: string]: unknown | undefined; }; interface SubAccountUserPayload$1 { [k: string]: unknown | undefined; } interface AgencyUserPayload$1 { [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/UserUpdate.d.ts type UserUpdate = (SubAccountUserPayload | AgencyUserPayload) & { type: 'UserUpdate'; locationId?: string; companyId?: string; id: string; firstName: string; lastName: string; email: string; phone?: string; extension?: string; role: string; permissions: { adwordsReportingEnabled?: boolean; affiliateManagerEnabled?: boolean; agentReportingEnabled?: boolean; appointmentsEnabled?: boolean; assignedDataOnly?: boolean; attributionsReportingEnabled?: boolean; bloggingEnabled?: boolean; botService?: boolean; bulkRequestsEnabled?: boolean; campaignsEnabled?: boolean; campaignsReadOnly?: boolean; cancelSubscriptionEnabled?: boolean; communitiesEnabled?: boolean; contactsEnabled?: boolean; contentAiEnabled?: boolean; conversationsEnabled?: boolean; dashboardStatsEnabled?: boolean; facebookAdsReportingEnabled?: boolean; funnelsEnabled?: boolean; invoiceEnabled?: boolean; leadValueEnabled?: boolean; marketingEnabled?: boolean; membershipEnabled?: boolean; onlineListingsEnabled?: boolean; opportunitiesEnabled?: boolean; paymentsEnabled?: boolean; phoneCallEnabled?: boolean; recordPaymentEnabled?: boolean; refundsEnabled?: boolean; reviewsEnabled?: boolean; settingsEnabled?: boolean; socialPlanner?: boolean; tagsEnabled?: boolean; triggersEnabled?: boolean; websitesEnabled?: boolean; workflowsEnabled?: boolean; workflowsReadOnly?: boolean; [k: string]: unknown | undefined; }; scopes: string[]; locations?: string[]; [k: string]: unknown | undefined; }; interface SubAccountUserPayload { [k: string]: unknown | undefined; } interface AgencyUserPayload { [k: string]: unknown | undefined; } //#endregion //#region src/v2/webhooks/types/WebhookEventMap.d.ts /** * Map of webhook event names to their payload types. * This interface provides type-safe access to webhook payloads by event name. */ interface WebhookEventMap { AppInstall: AppInstall; AppUninstall: AppUninstall; AppointmentCreate: AppointmentCreate; AppointmentDelete: AppointmentDelete; AppointmentUpdate: AppointmentUpdate; AssociationCreate: AssociationCreate; AssociationDelete: AssociationDelete; AssociationUpdate: AssociationUpdate; CampaignStatusUpdate: CampaignStatusUpdate; ContactCreate: ContactCreate; ContactDelete: ContactDelete; ContactDndUpdate: ContactDndUpdate; ContactTagUpdate: ContactTagUpdate; ContactUpdate: ContactUpdate; ConversationUnreadWebhook: ConversationUnreadWebhook; InboundMessage: InboundMessage; InvoiceCreate: InvoiceCreate; InvoiceDelete: InvoiceDelete; InvoicePaid: InvoicePaid; InvoicePartiallyPaid: InvoicePartiallyPaid; InvoiceSent: InvoiceSent; InvoiceUpdate: InvoiceUpdate; InvoiceVoid: InvoiceVoid; LCEmailStats: LCEmailStats; LocationCreate: LocationCreate; LocationUpdate: LocationUpdate; NoteCreate: NoteCreate; NoteDelete: NoteDelete; NoteUpdate: NoteUpdate; ObjectSchemaCreate: ObjectSchemaCreate; ObjectSchemaUpdate: ObjectSchemaUpdate; OpportunityAssignedToUpdate: OpportunityAssignedToUpdate; OpportunityCreate: OpportunityCreate; OpportunityDelete: OpportunityDelete; OpportunityMonetaryValueUpdate: OpportunityMonetaryValueUpdate; OpportunityStageUpdate: OpportunityStageUpdate; OpportunityStatusUpdate: OpportunityStatusUpdate; OpportunityUpdate: OpportunityUpdate; OrderCreate: OrderCreate; OrderStatusUpdate: OrderStatusUpdate; OutboundMessage: OutboundMessage; PlanChange: PlanChange; PriceCreate: PriceCreate; PriceDelete: PriceDelete; PriceUpdate: PriceUpdate; ProductCreate: ProductCreate; ProductDelete: ProductDelete; ProductUpdate: ProductUpdate; ProviderOutboundMessage: ProviderOutboundMessage; RecordCreate: RecordCreate; RecordDelete: RecordDelete; RecordUpdate: RecordUpdate; RelationCreate: RelationCreate; RelationDelete: RelationDelete; TaskComplete: TaskComplete; TaskCreate: TaskCreate; TaskDelete: TaskDelete; UserCreate: UserCreate; UserDelete: UserDelete; UserUpdate: UserUpdate; } //#endregion //#region src/v2/webhooks/webhooks-client.d.ts type WebhookHandlerMap<T extends keyof WebhookEventMap> = { [K in T]: (payload: WebhookEventMap[K]) => Promise<void> | void }; type WebhookHandler<T extends keyof WebhookEventMap> = (payload: WebhookEventMap[T]) => Promise<void> | void; /** * Client for handling HighLevel webhook events * * **Note** You will need to decrypt the raw body of the payload response from HighLevel to get the actual payload. * @see {@link https://marketplace.gohighlevel.com/docs/webhook/WebhookIntegrationGuide} */ declare class WebhooksClient { private handlers; /** * The public key used to verify the webhook signature, for convenience. */ readonly WEBHOOK_PUBLIC_KEY_PEM = "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAokvo/r9tVgcfZ5DysOSC\nFrm602qYV0MaAiNnX9O8KxMbiyRKWeL9JpCpVpt4XHIcBOK4u3cLSqJGOLaPuXw6\ndO0t6Q/ZVdAV5Phz+ZtzPL16iCGeK9po6D6JHBpbi989mmzMryUnQJezlYJ3DVfB\ncsedpinheNnyYeFXolrJvcsjDtfAeRx5ByHQmTnSdFUzuAnC9/GepgLT9SM4nCpv\nuxmZMxrJt5Rw+VUaQ9B8JSvbMPpez4peKaJPZHBbU3OdeCVx5klVXXZQGNHOs8gF\n3kvoV5rTnXV0IknLBXlcKKAQLZcY/Q9rG6Ifi9c+5vqlvHPCUJFT5XUGG5RKgOKU\nJ062fRtN+rLYZUV+BjafxQauvC8wSWeYja63VSUruvmNj8xkx2zE/Juc+yjLjTXp\nIocmaiFeAO6fUtNjDeFVkhf5LNb59vECyrHD2SQIrhgXpO4Q3dVNA5rw576PwTzN\nh/AMfHKIjE4xQA1SZuYJmNnmVZLIZBlQAF9Ntd03rfadZ+yDiOXCCs9FkHibELhC\nHULgCsnuDJHcrGNd5/Ddm5hxGQ0ASitgHeMZ0kcIOwKDOzOU53lDza6/Y09T7sYJ\nPQe7z0cvj7aE4B+Ax1ZoZGPzpJlZtGXCsu9aTEGEnKzmsFqwcSsnw3JB31IGKAyk\nT1hhTiaCeIY/OwwwNUY2yvcCAwEAAQ==\n-----END PUBLIC KEY-----"; /** * Register a handler for a specific webhook event * * @example * ```ts * const webhooks = new WebhooksClient() * * webhooks.on('ContactCreate', async (payload) => { * // payload is fully typed as ContactCreate schema * const { firstName, lastName, email } = payload * await db.contacts.create({ firstName, lastName, email }) * }) * ``` */ on<T extends keyof WebhookEventMap>(event: T, handler: WebhookHandlerMap<T>[T] extends ((payload: infer P) => Promise<void> | void) ? (payload: P) => Promise<void> | void : never): this; /** * Validate and handle an incoming webhook payload * * @example * ```ts * app.post('/webhooks/:event', async (ctx) => { * try { * await webhooks.handle(ctx.params.event, ctx.request.body) * return ctx.status(200).end() * } catch (error) { * return ctx.status(400).json({ error: error.message }) * } * }) * ``` */ handle<T extends keyof WebhookEventMap>(event: T, payload: WebhookEventMap[T]): Promise<void>; /** * Get the TypeScript type for a webhook payload * Useful for type checking in your IDE * * @example * ```ts * const webhooks = new WebhooksClient() * * const contactType = webhooks.type<'ContactCreate'>() * // contactType is fully typed as ContactCreate schema * ``` */ $typeOf<T extends keyof WebhookEventMap>(): WebhookEventMap[T]; } /** * Create a new webhooks client for handling HighLevel webhook events */ declare function createWebhooksClient(): WebhooksClient; //#endregion export { WebhookHandler, WebhooksClient, createWebhooksClient };