UNPKG

@cllbk/ghl

Version:

A public Node.js compatible SDK for working with HighLevel's (GHL's) Version 2 API.

276 lines (275 loc) 18.4 kB
export type ConvStartAfterDate = { startAfterDate: number /** Search to begin after the specified date - should contain the sort value of the last document (1600854) */; }; export type ConvStartAfterArrayNumber = { startAfterDate: number[] /** Search to begin after the specified date - should contain the sort value of the last document ([1600854,1600851]) */; }; declare enum ConversationMessageTypeNumbered { TYPE_CALL = 0, TYPE_SMS = 1, TYPE_EMAIL = 2, TYPE_SMS_REVIEW_REQUEST = 3, TYPE_WEBCHAT = 4, TYPE_SMS_NO_SHOW_REQUEST = 5, TYPE_CAMPAIGN_SMS = 6, TYPE_CAMPAIGN_CALL = 7, TYPE_CAMPAIGN_EMAIL = 8, TYPE_CAMPAIGN_VOICEMAIL = 9, TYPE_FACEBOOK = 10, TYPE_CAMPAIGN_FACEBOOK = 11, TYPE_CAMPAIGN_MANUAL_CALL = 12, TYPE_CAMPAIGN_MANUAL_SMS = 13, TYPE_GMB = 14, TYPE_CAMPAIGN_GMB = 15, TYPE_REVIEW = 16, TYPE_INSTAGRAM = 17, TYPE_WHATSAPP = 18, TYPE_CUSTOM_SMS = 19, TYPE_CUSTOM_EMAIL = 20, TYPE_CUSTOM_PROVIDER_SMS = 21, TYPE_CUSTOM_PROVIDER_EMAIL = 22, TYPE_IVR_CALL = 23, TYPE_ACTIVITY_CONTACT = 24, TYPE_ACTIVITY_INVOICE = 25, TYPE_ACTIVITY_PAYMENT = 26, TYPE_ACTIVITY_OPPORTUNITY = 27, TYPE_LIVE_CHAT = 28, TYPE_LIVE_CHAT_INFO_MESSAGE = 29, TYPE_ACTIVITY_APPOINTMENT = 30, TYPE_FACEBOOK_COMMENT = 31, TYPE_INSTAGRAM_COMMENT = 32, TYPE_ACTIVITY = 33 } type ConversationMessageTypeString = "TYPE_CALL" | "TYPE_SMS" | "TYPE_EMAIL" | "TYPE_SMS_REVIEW_REQUEST" | "TYPE_WEBCHAT" | "TYPE_SMS_NO_SHOW_REQUEST" | "TYPE_CAMPAIGN_SMS" | "TYPE_CAMPAIGN_CALL" | "TYPE_CAMPAIGN_EMAIL" | "TYPE_CAMPAIGN_VOICEMAIL" | "TYPE_FACEBOOK" | "TYPE_CAMPAIGN_FACEBOOK" | "TYPE_CAMPAIGN_MANUAL_CALL" | "TYPE_CAMPAIGN_MANUAL_SMS" | "TYPE_GMB" | "TYPE_CAMPAIGN_GMB" | "TYPE_REVIEW" | "TYPE_INSTAGRAM" | "TYPE_WHATSAPP" | "TYPE_CUSTOM_SMS" | "TYPE_CUSTOM_EMAIL" | "TYPE_CUSTOM_PROVIDER_SMS" | "TYPE_CUSTOM_PROVIDER_EMAIL" | "TYPE_IVR_CALL" | "TYPE_ACTIVITY_CONTACT" | "TYPE_ACTIVITY_INVOICE" | "TYPE_ACTIVITY_PAYMENT" | "TYPE_ACTIVITY_OPPORTUNITY" | "TYPE_LIVE_CHAT" | "TYPE_LIVE_CHAT_INFO_MESSAGE" | "TYPE_ACTIVITY_APPOINTMENT" | "TYPE_FACEBOOK_COMMENT" | "TYPE_INSTAGRAM_COMMENT" | "TYPE_ACTIVITY"; type ConversationMessageType = "SMS" | "Email" | "WhatsApp" | "GMB" | "IG" | "FB" | "Custom" | "Live_Chat"; type ConversationType = "TYPE_PHONE" | "TYPE_EMAIL" | "TYPE_FB_MESSENGER" | "TYPE_REVIEW"; export type ConversationSchema = { id: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; contactId: string /** Contact Id (ABCHkzuJQ8ZMd4Te84GK) */; locationId: string /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; lastMessageBody: string /** Last Message Body of the conversation (This is a sample message body) */; lastMessageType: ConversationMessageTypeString /** Last message type of the conversation (TYPE_SMS) */; type: ConversationType /** Type of the conversation (TYPE_PHONE) */; unreadCount: number /** Unread count of the messages in the conversation (1) */; fullName: string /** Full name of the contact (John Doe) */; contactName: string /** Name of the contact in case the Full Name is missing, may contain the company name or the contact email (John Doe Company) */; email: string /** Email of the contact (john@does.com) */; phone: string /** Phone number of the contact (+15550001234) */; }; export type ConversationSendResponseDTO = { conversations: ConversationSchema[] /** List of conversations */; total: number /** Total number of conversations (20) */; }; export type CreateConversationDTO = { locationId: string /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; contactId: string /** Contact Id (ABCHkzuJQ8ZMd4Te84GK) */; }; export type ConversationDTO = { deleted: boolean /** Deleted status of the conversation (false) */; locationId: string /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; contactId: string /** Contact Id (ABCHkzuJQ8ZMd4Te84GK) */; id?: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; assignedTo?: string /** Assigned User Id (ABCHkzuJQ8ZMd4Te84GK) */; userId?: string /** User Id (ABCHkzuJQ8ZMd4Te84GK) */; lastMessageBody?: string /** Last Message Body of the conversation (This is a sample message body) */; lastMessageDate?: string /** Last message date of the conversation (1628008053263) */; lastMessageType?: ConversationMessageTypeString /** Last message type of the conversation (TYPE_SMS) */; type?: ConversationType /** Type of the conversation (TYPE_PHONE) */; unreadCount?: number /** Unread count of the messages in the conversation (1) */; inbox?: boolean /** Inbox status of the conversation (true) */; starred?: boolean /** Starred status of the conversation (true) */; }; export type ConversationGetSuccessfulResponse = { success: boolean /** Success status of the response */; conversation: ConversationDTO /** Conversation object */; }; export type ConversationGetByIdResponse = { id: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; contactId: string /** Contact Id (ABCHkzuJQ8ZMd4Te84GK) */; locationId: string /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; deleted: boolean /** Deleted status of the conversation (false) */; inbox: boolean /** Inbox status of the conversation (true) */; type: ConversationType /** Type of the conversation (TYPE_PHONE) */; unreadCount: number /** Unread count of the messages in the conversation (1) */; assignedTo: string /** Assigned User Id (ABCHkzuJQ8ZMd4Te84GK) */; starred: boolean /** Starred status of the conversation (true) */; }; export type ConversationUpdateDTO = { locationId: string /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; unreadCount?: number /** Unread count of the messages in the conversation (1) */; starred?: boolean /** Starred status of the conversation (true) */; feedback?: object /** Feedback object */; }; export type ConversationDirection = "inbound" | "outbound"; export type ConversationStatus = "pending" | "scheduled" | "sent" | "delivered" | "read" | "undelivered" | "connected" | "failed" | "opened"; export type ConversationSource = "workflow" | "bulk_actions" | "campaign" | "api" | "app"; export type ConversationGetEmailMessageResponseDTO = { id: string /** Email Message Id (ABCHkzuJQ8ZMd4Te84GK) */; threadId: string /** Message Id or thread Id (ABCHkzuJQ8ZMd4Te84GK) */; locationId: string /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; contactId: string /** Contact Id (ABCHkzuJQ8ZMd4Te84GK) */; conversationId: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; dateAdded: string /** Date added (2024-03-27T18:13:49.000Z) */; body: string /** Body of the email (Hi there) */; direction: ConversationDirection /** Direction of the email (inbound) */; contentType: string /** Content Type of the email (text/plain) */; attachments: string[] /** List of attachment URLs (["https://www.example.com/attachment1.pdf"]) */; from: string /** Name and Email Id of the sender (John Doe <john@does.com>) */; to: string[] /** List of email Ids of the receivers (["jake@does.com", "jane@does.com"]) */; replyToMessageId?: string /** In case of reply, email message Id of the reply to email (ABCHkzuJQ8ZMd4Te84GK) */; source: ConversationSource /** Email Message source (workflow) */; altId: string /** External Id (ABCHkzuJQ8ZMd4Te84GK) */; subject?: string /** Subject of the email (Order confirm) */; status: ConversationStatus /** Status of the email (pending) */; provider: string /** Provider of the email (Leadconnector) */; cc: string[] /** List of email Ids of the people in the cc field (["jake@does.com", "jane@does.com"]) */; bcc?: string[] /** List of email Ids of the people in the bcc field (["jake@does.com", "jane@does.com"]) */; }; export type ConversationCancelScheduledResponseDTO = { status: string /** HTTP Status code of the request (404) */; message: string /** Message of the response (Failed cancel the scheduled message) */; }; export type ConversationGetMessageResponseDTO = { id: string /** Message Id (ABCHkzuJQ8ZMd4Te84GK) */; type: ConversationMessageTypeNumbered /** Type of the message (1) */; messageType: ConversationMessageTypeString /** Type of the message as a string (SMS) */; locationId: string /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; contactId: string /** Contact Id (ABCHkzuJQ8ZMd4Te84GK) */; conversationId: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; dateAdded: string /** Date added (2024-03-27T18:13:49.000Z) */; direction: ConversationDirection /** Direction of the message (inbound) */; contentType: string /** Content Type of the message (text/plain) */; body?: string /** Body of the message (Hi there) */; attachments?: string[] /** List of attachment URLs (["https://www.example.com/attachment1.pdf"]) */; status?: ConversationStatus /** Status of the message (pending) */; meta?: object /** Meta object will contain email, for message type 3 (email). messageIds is list of all email message ids under the message thread ({"email":{"messageIds":["p1mRSHeLDhAms5q0LMr4"]}) */; source?: ConversationSource /** Message source (workflow) */; userId?: string /** User Id (ABCHkzuJQ8ZMd4Te84GK) */; }; export type ConversationGetMessagesByResponseDTO = { lastMessageId: string /** Last Message Id (ABCHkzuJQ8ZMd4Te84GK) */; nextPage: boolean /** Next page status (true) */; messages: ConversationGetMessageResponseDTO[] /** List of messages */; }; type ConversationReplyMode = "reply" | "reply_all"; export type ConversationSendMessageBodyDTO = { type: ConversationMessageType /** Type of the message (SMS) */; contactId: string /** Contact Id (ABCHkzuJQ8ZMd4Te84GK) */; appointmentId?: string /** Appointment Id (ABCHkzuJQ8ZMd4Te84GK) */; attachments?: string[] /** List of attachment URLs (["https://www.example.com/attachment1.pdf"]) */; emailFrom?: string /** Email From (john@does.com) */; emailCc?: string[] /** List of email Ids of the people in the cc field (["jake@does.com", "jane@does.com"]) */; emailBcc?: string[] /** List of email Ids of the people in the bcc field (["jake@does.com", "jane@does.com"]) */; html?: string /** HTML content of the email (Hi there) */; message?: string /** Body of the message (Hi there) */; replyMessageId?: string /** In case of reply, message Id of the reply to message (ABCHkzuJQ8ZMd4Te84GK) */; templateId?: string /** Template Id (ABCHkzuJQ8ZMd4Te84GK) */; scheduledTimestamp?: number /** Scheduled Timestamp (1669287863) */; conversationProviderId?: string /** Conversation Provider Id (ABCHkzuJQ8ZMd4Te84GK) */; emailTo?: string /** Email To (john@does.com) */; emailReplyMode?: ConversationReplyMode /** Email Reply Mode (reply) */; fromNumber?: string /** From Number (+1499499299) */; toNumber?: string /** To Number (+1439499299) */; }; export type ConversationSendMessageResponseDTO = { conversationId: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; messageId: string /** Main Message Id (ABCHkzuJQ8ZMd4Te84GK) */; emailMessageId?: string /** The email message id (only for Email type). Use this ID to send inbound replies to GHL to create a threaded email.(ABCHkzuJQ8ZMd4Te84GK) */; messageIds?: string[] /** When sending via the GMB channel, we will be returning list of messageIds instead of single messageId. (["ABCHkzuJQ8ZMd4Te84GK"]) */; msg?: string /** Additional response message (Message queued successfully) */; }; type ConversationCallStatus = "pending" | "completed" | "answered" | "busy" | "no-answer" | "failed" | "canceled" | "voicemail"; type ConversationCallDataDTO = { to: string /** Phone number of the receiver (+15037081210) */; from: string /** Phone number of the dialer (+15037081210) */; status: ConversationCallStatus /** Call status (completed) */; }; export type ConversationProcessMessageBodyDTO = { conversationProviderId: string /** Conversation Provider Id (ABCHkzuJQ8ZMd4Te84GK) */; conversationId: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; type: ConversationMessageType /** Type of the message (SMS) */; attachments?: string[] /** List of attachment URLs (["https://www.example.com/attachment1.pdf"]) */; message?: string /** Body of the message (Hi there) */; html?: string /** HTML content of the email (Hi there) */; subject?: string /** Subject of the email (Order confirm) */; emailFrom?: string /** Email From (john@does.com) */; emailTo?: string /** Email To (jake@does.com) */; emailCc?: string[] /** List of email Ids of the people in the cc field (["jake@does.com", "jane@does.com"]) */; emailBcc?: string[] /** List of email Ids of the people in the bcc field (["jake@does.com", "jane@does.com"]) */; emailMessageId?: string /** Email Message Id (ABCHkzuJQ8ZMd4Te84GK) */; altId?: string /** External Id (ABCHkzuJQ8ZMd4Te84GK) */; direction?: ConversationDirection /** Direction of the message (inbound) */; date: string /** Date of the inbound message (2024-03-27T18:13:49.000Z) */; call?: ConversationCallDataDTO /** Call object */; }; export type ConversationProcessMessageResponseDto = { success: boolean /** Success status of the response (true) */; conversationId: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; messageId: string /** Main Message Id (ABCHkzuJQ8ZMd4Te84GK) */; message: string /** Additional response message (Message queued successfully) */; contactId?: string /** Contact Id (ABCHkzuJQ8ZMd4Te84GK) */; dateAdded?: string /** Date added (2024-03-27T18:13:49.000Z) */; emailMessageId?: string /** Email Message Id (ABCHkzuJQ8ZMd4Te84GK) */; }; export type ConversationProcessOutboundMessageBodyDTO = { type: "Call" /** Type of the message (SMS) */; conversationId: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; conversationProviderId: string /** Conversation Provider Id (ABCHkzuJQ8ZMd4Te84GK) */; attachments?: string[] /** List of attachment URLs (["https://www.example.com/attachment1.pdf"]) */; altId?: string /** External Id (ABCHkzuJQ8ZMd4Te84GK) */; date: string /** Date of the outbound message (2024-03-27T18:13:49.000Z) */; call?: ConversationCallDataDTO /** Call object */; }; export type ConversationUploadFilesDTO = { conversationId: string /** Conversation Id (ABCHkzuJQ8ZMd4Te84GK) */; locationId: "string" /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; attachmentUrls: string /** Attachment URLs (https://www.example.com/attachment1.pdf) */; }; export type ConversationUploadFilesResponseDTO = { uploadedFiles: object; }; export type ConversationUploadFilesErrorResponseDto = { status: number /** HTTP Status code of the request (404) */; message: string /** Message of the response (Failed to upload the files) */; }; export type ConversationErrorDTO = { code: number /** Error code (404) */; type: string /** Error type (saas) */; message: string /** Error message (There was an error from the provider) */; }; type ConversationUpdateMessageStatusOptions = "read" | "pending" | "delivered" | "failed"; export type ConversationUpdateMessageStatusDTO = { status: ConversationUpdateMessageStatusOptions /** Message status (read) */; error?: ConversationErrorDTO /** Error object from the conversation provider */; emailMessageId?: string /** Email message Id (ABCHkzuJQ8ZMd4Te84GK) */; recipients: string[] /** Email delivery status for additional email recipients (["jake@does.com", "jane@does.com"]) */; }; export type ConverstationGetMessageTranscriptionResponseDTO = { mediaChannel: ConversationMessageTypeNumbered /** Media channel describes the user interaction channel (1) */; sentenceIndex: number /** Index of the sentence in the transcription (1) */; startTime: number /** Start time of the sentence in milliseconds (34) */; endTime: number /** End time of the sentence in milliseconds (45) */; transcript: string /** Transcript of the sentence (This call may be recorded for quality assurance purposes.) */; confidence: number /** Confidence of the transcription (0.5) */; }; export type ConversationSearchParams = { locationId: string /** Location Id (ABCHkzuJQ8ZMd4Te84GK) */; assignedTo?: string /** Assigned to user Id. Multiple values are comma separated. "unassigned" is used to fetch all unassigned conversations (ABCHkzuJQ8ZMd4Te84GK,fGiae4CHkzoskh8thsik) */; contactId?: string /** Contact Id (9VEmS0si86GW6gXWU89b) */; followers?: string /** User Id of the follower. Multiple values are comma separated. (ABCHkzuJQ8ZMd4Te84GK,fGiae4CHkzoskh8thsik) */; id?: string /** Id of the conversation (ABCHkzuJQ8ZMd4Te84GK) */; lastMessageAction?: string /** Action of the last outbound message in the conversation as string (manual) */; lastMessageDirection?: CanvasDirection /** Direction of the last message in the conversation as string (inbound) */; lastMessageType?: ConversationMessageTypeString /** Type of the last message in the conversation as a string (TYPE_SMS) */; limit?: number /** Limit of conversations (20) */; query?: string /** Search paramater as a string (Search string) */; scoreProfile?: string /** Id of score profile on which conversations should get filtered out, works with scoreProfileMin & scoreProfileMax (ABCHkzuJQ8ZMd4Te84GK) */; scoreProfileMax?: number /** Maximum value for score (ABCHkzuJQ8ZMd4Te84GK) */; scoreProfileMin?: number /** Minimum value for score (ABCHkzuJQ8ZMd4Te84GK) */; sort?: "asc" | "desc" /** Sort paramater (asc) */; sortBy?: "last_manual_message_date" | "last_message_date" | "score_profile" /** Sorting of the conversation to be filtered as - manual messages or all messages (last_message_date) */; sortScoreProfile?: string /** Id of score profile on which sortBy.ScoreProfile should sort on (ABCHkzuJQ8ZMd4Te84GK) */; startAfterDate?: number /** Search to begin after the specified date - should contain the sort value of the last document (1600854) */; status?: "all" | "read" | "unread" | "starred" | "recents" /** The status of the conversation to be filtered - all, read, unread, starred (all) */; }; export {};