@cllbk/ghl
Version:
A public Node.js compatible SDK for working with HighLevel's (GHL's) Version 2 API.
213 lines (199 loc) • 8.89 kB
text/typescript
type PermissionsDTO = {
campaignsEnabled?: boolean /** If the campaigns are enabled */;
campaignsReadOnly?: boolean /** If the campaigns are read only */;
contactsEnabled?: boolean /** If the contacts are enabled */;
workflowsEnabled?: boolean /** If the workflows are enabled */;
workflowsReadOnly?: boolean /** If the workflows are read only */;
triggersEnabled?: boolean /** If the triggers are enabled */;
funnelsEnabled?: boolean /** If the funnels are enabled */;
websitesEnabled?: boolean /** If the websites are enabled */;
opportunitiesEnabled?: boolean /** If the opportunities are enabled */;
dashboardStatsEnabled?: boolean /** If the dashboard stats are enabled */;
bulkRequestsEnabled?: boolean /** If the bulk requests are enabled */;
appointmentsEnabled?: boolean /** If the appointments are enabled */;
reviewsEnabled?: boolean /** If the reviews are enabled */;
onlineListingsEnabled?: boolean /** If the online listings are enabled */;
phoneCallEnabled?: boolean /** If the phone calls are enabled */;
conversationsEnabled?: boolean /** If the conversations are enabled */;
assignedDataOnly?: boolean /** If the assigned data only is enabled */;
adwordsReportingEnabled?: boolean /** If the adwords reporting is enabled */;
membershipEnabled?: boolean /** If the membership is enabled */;
facebookAdsReportingEnabled?: boolean /** If the facebook ads reporting is enabled */;
attributionsReportingEnabled?: boolean /** If the attributions reporting is enabled */;
settingsEnabled?: boolean /** If the settings are enabled */;
tagsEnabled?: boolean /** If the tags are enabled */;
leadValueEnabled?: boolean /** If the lead value is enabled */;
marketingEnabled?: boolean /** If the marketing is enabled */;
agentReportingEnabled?: boolean /** If the agent reporting is enabled */;
botService?: boolean /** If the bot service is enabled */;
socialPlanner?: boolean /** If the social planner is enabled */;
bloggingEnabled?: boolean /** If the blogging is enabled */;
invoiceEnabled?: boolean /** If the invoice is enabled */;
affiliateManagerEnabled?: boolean /** If the affiliate manager is enabled */;
contentAiEnabled?: boolean /** If the content AI is enabled */;
refundsEnabled?: boolean /** If the refunds are enabled */;
recordPaymentEnabled?: boolean /** If the record payment is enabled */;
cancelSubscriptionEnabled?: boolean /** If the cancel subscription is enabled */;
paymentsEnabled?: boolean /** If the payments are enabled */;
communitiesEnabled?: boolean /** If the communities are enabled */;
exportPaymentsEnabled?: boolean /** If the export payments are enabled */;
};
type UserRoleOptions = "admin" | "user";
type UserTypeOptions = "account" | "agency";
type RoleSchema = {
type?: UserTypeOptions /** The type of the role */;
role?: UserRoleOptions /** The role */;
locationIds?: string[] /** The location ids */;
restrictSubAccount?: boolean /** If the sub account is restricted */;
};
type UserScopes =
| "campaigns.readonly"
| "campaigns.write"
| "calendars/events.write"
| "calendars/events.readonly"
| "contacts.write"
| "contacts/bulkActions.write"
| "workflows.readonly"
| "workflows.write"
| "triggers.write"
| "funnels.write"
| "websites.write"
| "medias.write"
| "medias.readonly"
| "opportunities.write"
| "opportunities/leadValue.readonly"
| "reporting/phone.readonly"
| "reporting/adwords.readonly"
| "reporting/facebookAds.readonly"
| "reporting/attributions.readonly"
| "reporting/agent.write"
| "reporting/agent.readonly"
| "reporting/reports.write"
| "reporting/reports.readonly"
| "payments.write"
| "payments/refunds.write"
| "payments/records.write"
| "payments/exports.write"
| "payments/subscriptionsCancel.write"
| "invoices.write"
| "invoices.readonly"
| "invoices/schedule.readonly"
| "invoices/schedule.write"
| "invoices/template.readonly"
| "invoices/template.write"
| "reputation/review.write"
| "reputation/listing.write"
| "conversations.write"
| "conversations.readonly"
| "conversations/message.readonly"
| "conversations/message.write"
| "contentAI.write"
| "dashboard/stats.readonly"
| "locations/tags.write"
| "locations/tags.readonly"
| "marketing.write"
| "eliza.write"
| "settings.write"
| "socialplanner/post.write"
| "marketing/affiliate.write"
| "blogs.write"
| "membership.write"
| "communities.write"
| "certificates.write"
| "certificates.readonly"
| "adPublishing.write"
| "adPublishing.readonly"
| "private-integration-location.readonly"
| "private-integration-location.write"
| "private-integration-company.readonly"
| "private-integration-company.write"
| "native-integrations.readonly"
| "native-integrations.write"
| "wordpress.write"
| "wordpress.read"
| "custom-menu-link.readonly"
| "custom-menu-link.write";
type UsersSchema = {
id?: string /** The user ID */;
name?: string /** The name */;
firstName?: string /** The first name */;
lastName?: string /** The last name */;
email?: string /** The email */;
phone?: string /** The phone */;
extension?: string /** The extension */;
permissions?: PermissionsDTO /** The permissions */;
scopes?: UserScopes /** The scopes */;
roles?: RoleSchema /** The roles */;
deleted?: boolean /** If the user is deleted */;
};
export type UsersSearchResponseDTO = {
users: UsersSchema[] /** The list of users */;
count: number /** The total number of users */;
};
export type UsersGetResponseDTO = {
users: UsersSchema[] /** The user */;
};
export type UsersResponseDTO = UsersSchema;
export type UsersCreateDTO = {
companyId: string /** The company ID (required all on creates regardless of user role) (agency authentication required if not account level user) */;
firstName: string /** The first name */;
lastName: string /** The last name */;
email: string /** The email */;
password?: string /** The password */;
phone?: string /** The phone */;
type: UserTypeOptions /** The type ("account" | "agency") */;
role: UserRoleOptions /** The role ("admin" | "user") */;
isEjectedUser: boolean /** If the user is ejected */;
locationIds: string[] /** The location ids */;
permissions?: PermissionsDTO /** The permissions */;
scopes?: UserScopes /** The scopes */;
scopesAssignedToOnly?: UserScopes /** The scopes assigned */;
profilePhoto?: string /** The profile photo */;
};
export type UsersUpdateDTO = {
companyId?: string /** The company ID (required if using agency authentication) (agency authentication required if not account level user) */;
isEjectedUser?: boolean /** If the user is ejected */;
firstName?: string /** The first name */;
lastName?: string /** The last name */;
email?: string /** The email */;
emailChangeOTP?: string /** The email change OTP */;
password?: string /** The password */;
phone?: string /** The phone */;
type?: UserTypeOptions /** The type ("account" | "agency") */;
role?: UserRoleOptions /** The role ("admin" | "user") */;
locationIds?: string[] /** The location ids */;
permissions?: PermissionsDTO /** The permissions */;
scopes?: UserScopes /** The scopes */;
scopesAssignedToOnly?: UserScopes /** The scopes assigned */;
profilePhoto?: string /** The profile photo */;
};
export type UsersDeleteDTO = {
succeeded: boolean /** If the user is deleted */;
message: string /** The message */;
};
export type UsersSearchOptions = {
companyId: string /** The company ID */;
ids?: string /** The user IDs */;
enabled2waySync?: boolean /** If the 2 way sync is enabled */;
limit?: string /** The number of items to return */;
locationId?: string /** The location ID */;
query?: string /** The search term */;
role?: UserRoleOptions /** The role */;
skip?: string /** No of results to be skipped before returning the result */;
sort?: string /** The field on which sort is applied in which the results need to be sorted */;
sortDirection?: string /** The direction in which the results need to be sorted */;
type?: UserTypeOptions /** Type of the users to be filtered in the search */;
};
export type UsersSearchParams = {
companyId: string /** The company ID */;
ids?: string /** The user IDs */;
enabled2waySync?: string /** If the 2 way sync is enabled */;
limit?: string /** The number of items to return */;
locationId?: string /** The location ID */;
query?: string /** The search term */;
role?: string /** The role */;
skip?: string /** No of results to be skipped before returning the result */;
sort?: string /** The field on which sort is applied in which the results need to be sorted */;
sortDirection?: string /** The direction in which the results need to be sorted */;
type?: string /** Type of the users to be filtered in the search */;
};