UNPKG

n8n-nodes-gohighlevel

Version:
260 lines (259 loc) 9.52 kB
/// <reference types="node" /> /// <reference types="node" /> /// <reference types="node" /> /// <reference types="node" /> import { IExecuteFunctions, IHookFunctions, ILoadOptionsFunctions, IDataObject, IHttpRequestMethods, GenericValue, IN8nHttpResponse } from 'n8n-workflow'; import { ICompany, ICustomField, IOpportunity } from '../resources'; import { IContact } from '../resources/contact/contact.types'; import { THttpFullResponse } from '../types/httpRequest'; interface ContactSearchParams { locationId: string; page: number; pageLimit: number; searchAfter?: Array<string | number>; filters?: Array<{ group?: 'AND' | 'OR'; filters?: Array<{ field: string; operator: string; value: any; }>; field?: string; operator?: string; value?: any; }>; sort?: Array<{ field: string; direction: 'asc' | 'desc'; }>; } declare type TBody = FormData | GenericValue | GenericValue[] | Buffer | URLSearchParams; declare type TQueryString = IDataObject; interface OpportunitySearchParams { assigned_to?: string; campaignId?: string; contact_id?: string; country?: string; date?: string; endDate?: string; getCalendarEvents?: boolean; getNotes?: boolean; getTasks?: boolean; id?: string; limit?: number; order?: string; page?: number; pipeline_id?: string; pipeline_stage_id?: string; q?: string; startAfter?: string; startAfterId?: string; status?: 'open' | 'won' | 'lost' | 'abandoned' | 'all'; location_id?: string; } export declare class GoHighLevelManager { #private; static instance: GoHighLevelManager; private baseURL; private n8n; private locationId; constructor(n8n: IExecuteFunctions | ILoadOptionsFunctions | IHookFunctions, locationId: string); static getInstance(n8n: IExecuteFunctions | ILoadOptionsFunctions | IHookFunctions): Promise<GoHighLevelManager>; request<T extends IN8nHttpResponse>({ method, path, body, params }: { method: IHttpRequestMethods; path: string; body?: TBody; params?: TQueryString; }): Promise<T>; httpRequestWithAuthentication<T extends IN8nHttpResponse>({ method, path, body, params, verbose }: { method: IHttpRequestMethods; path: string; body?: TBody; params?: TQueryString; verbose?: boolean; }): Promise<THttpFullResponse<T>>; get<T extends IN8nHttpResponse>(path: string, options?: { params?: TQueryString; verbose?: boolean; }): Promise<T>; post<T extends IN8nHttpResponse>(path: string, options?: { body: TBody; verbose?: boolean; }): Promise<T>; put<T extends IN8nHttpResponse>(path: string, options?: { body: TBody; verbose?: boolean; }): Promise<T>; delete<T extends IN8nHttpResponse>(path: string, options?: { body: TBody; verbose?: boolean; }): Promise<T>; findContact(params: ContactSearchParams): Promise<IContact>; findContactByEmail(email: string): Promise<IContact>; createContact(contact: IContact): Promise<{ customFields: { id: string; field_value: string; name: string | undefined; }[] | undefined; id?: string | undefined; email?: string | undefined; firstName?: string | undefined; lastName?: string | undefined; phone?: string | undefined; tags?: string[] | undefined; }>; getContacts(options?: { params?: TQueryString; }): Promise<{ customFields: { id: string; field_value: string; name: string | undefined; }[] | undefined; id?: string | undefined; email?: string | undefined; firstName?: string | undefined; lastName?: string | undefined; phone?: string | undefined; tags?: string[] | undefined; }[]>; getContact(contactId: string): Promise<{ customFields: { id: string; field_value: string; name: string | undefined; }[] | undefined; id?: string | undefined; email?: string | undefined; firstName?: string | undefined; lastName?: string | undefined; phone?: string | undefined; tags?: string[] | undefined; }>; updateContact(contactId: string, contact: IContact): Promise<{ customFields: { id: string; field_value: string; name: string | undefined; }[] | undefined; id?: string | undefined; email?: string | undefined; firstName?: string | undefined; lastName?: string | undefined; phone?: string | undefined; tags?: string[] | undefined; }>; upsertContact(contact: IContact): Promise<{ customFields: { id: string; field_value: string; name: string | undefined; }[] | undefined; id?: string | undefined; email?: string | undefined; firstName?: string | undefined; lastName?: string | undefined; phone?: string | undefined; tags?: string[] | undefined; }>; deleteContact(contactId: string): Promise<IContact>; addTagToContact(contactId: string, tags: string[]): Promise<IContact>; removeTagFromContact(contactId: string, tags: string[]): Promise<IContact>; findDuplicateContacts(contact: IContact): Promise<IContact[]>; createCompany(company: ICompany): Promise<ICompany>; getCompany(companyId: string): Promise<ICompany>; getCompanies(options?: { params?: TQueryString; }): Promise<ICompany[]>; updateCompany(companyId: string, company: ICompany): Promise<ICompany>; deleteCompany(companyId: string): Promise<ICompany>; addTagsToCompany(companyId: string, tags: string[]): Promise<ICompany>; removeTagsFromCompany(companyId: string, tags: string[]): Promise<ICompany>; findOpportunity(params: OpportunitySearchParams): Promise<{ customFields: { id: string; fieldValue: string | object | string[] | object[]; name: string | undefined; }[] | undefined; id?: string | undefined; name: string; value?: number | undefined; pipelineId?: string | undefined; pipelineStageId?: string | undefined; contactId?: string | undefined; companyId?: string | undefined; status?: string | undefined; }>; createOpportunity(opportunity: IOpportunity): Promise<{ customFields: { id: string; fieldValue: string | object | string[] | object[]; name: string | undefined; }[] | undefined; id?: string | undefined; name: string; value?: number | undefined; pipelineId?: string | undefined; pipelineStageId?: string | undefined; contactId?: string | undefined; companyId?: string | undefined; status?: string | undefined; }>; getOpportunity(opportunityId: string): Promise<{ customFields: { id: string; fieldValue: string | object | string[] | object[]; name: string | undefined; }[] | undefined; id?: string | undefined; name: string; value?: number | undefined; pipelineId?: string | undefined; pipelineStageId?: string | undefined; contactId?: string | undefined; companyId?: string | undefined; status?: string | undefined; }>; getOpportunities(options?: { params?: TQueryString; }): Promise<{ customFields: { id: string; fieldValue: string | object | string[] | object[]; name: string | undefined; }[] | undefined; id?: string | undefined; name: string; value?: number | undefined; pipelineId?: string | undefined; pipelineStageId?: string | undefined; contactId?: string | undefined; companyId?: string | undefined; status?: string | undefined; }[]>; updateOpportunity(opportunityId: string, opportunity: Partial<IOpportunity>): Promise<{ customFields: { id: string; fieldValue: string | object | string[] | object[]; name: string | undefined; }[] | undefined; id?: string | undefined; name: string; value?: number | undefined; pipelineId?: string | undefined; pipelineStageId?: string | undefined; contactId?: string | undefined; companyId?: string | undefined; status?: string | undefined; }>; deleteOpportunity(opportunityId: string): Promise<IOpportunity>; updateOpportunityStage(opportunityId: string, stageId: string): Promise<IOpportunity>; updateOpportunityStatus(opportunityId: string, status: string): Promise<IOpportunity>; getCustomFields(model?: 'contact' | 'opportunity' | 'all'): Promise<ICustomField[]>; createCustomField(model: 'contact' | 'opportunity' | 'company', customField: ICustomField): Promise<ICustomField>; getCustomField(customFieldId: string): Promise<ICustomField>; updateCustomField(customFieldId: string, customField: Partial<ICustomField>): Promise<ICustomField>; deleteCustomField(customFieldId: string): Promise<ICustomField>; } export {};