UNPKG

@memberjunction/actions-bizapps-crm

Version:

CRM system integration actions for MemberJunction

69 lines 2.66 kB
import { BaseCRMAction } from '../../base/base-crm.action'; import { UserInfo } from '@memberjunction/core'; /** * Base class for all HubSpot CRM actions. * Handles HubSpot-specific authentication and API interaction patterns. */ export declare abstract class HubSpotBaseAction extends BaseCRMAction { protected crmProvider: string; protected integrationName: string; /** * HubSpot API version */ protected apiVersion: string; /** * Current action parameters (set by the framework) */ protected params: any; /** * Makes an authenticated request to HubSpot API */ protected makeHubSpotRequest<T = any>(endpoint: string, method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', body?: any, contextUser?: UserInfo): Promise<T>; /** * Makes a paginated request to HubSpot API using cursor-based pagination */ protected makeHubSpotPaginatedRequest<T = any>(endpoint: string, params?: Record<string, any>, contextUser?: UserInfo): Promise<T[]>; /** * Search HubSpot objects using the search API */ protected searchHubSpotObjects<T = any>(objectType: string, filters: Array<{ propertyName: string; operator: string; value: string; }>, properties?: string[], contextUser?: UserInfo): Promise<T[]>; /** * Batch create objects in HubSpot */ protected batchCreateHubSpotObjects<T = any>(objectType: string, objects: Array<{ properties: Record<string, any>; }>, contextUser?: UserInfo): Promise<T[]>; /** * Batch update objects in HubSpot */ protected batchUpdateHubSpotObjects<T = any>(objectType: string, updates: Array<{ id: string; properties: Record<string, any>; }>, contextUser?: UserInfo): Promise<T[]>; /** * Associate objects in HubSpot */ protected associateObjects(fromObjectType: string, fromObjectId: string, toObjectType: string, toObjectId: string, associationType?: string, contextUser?: UserInfo): Promise<void>; /** * Convert HubSpot timestamp to Date */ protected parseHubSpotDate(timestamp: string | number): Date; /** * Format date for HubSpot (ISO string or milliseconds) */ protected formatHubSpotDate(date: Date): string; /** * Map HubSpot object properties to a standard format */ protected mapHubSpotProperties(hubspotObject: any): any; /** * Get HubSpot association type IDs * Based on HubSpot's default association type IDs */ protected getAssociationTypeId(fromType: string, toType: string): number; } //# sourceMappingURL=hubspot-base.action.d.ts.map