UNPKG

node-mautic

Version:

A Node.js Mautic API implemented with ES6 + async/await

245 lines (212 loc) 14.3 kB
export = Mautic; declare namespace Mautic { type EntityID = string | number; type Parameters = Record<string, any> type EditMethod = 'PUT' | 'PATCH' type Response = any interface ConnectorConstructorOptions { apiUrl: string username: string password: string timeoutInSeconds: number logLevel?: ( 'none' | 'error' | 'verbose' ) } } declare class Mautic { constructor(options: Mautic.ConnectorConstructorOptions) assets: { getAsset: (assetId: Mautic.EntityID) => Promise<Mautic.Response> listAssets: (params: Mautic.Parameters) => Promise<Mautic.Response> createAsset: (params: Mautic.Parameters) => Promise<Mautic.Response> } campaigns: { getCampaign: (campaignId: Mautic.EntityID) => Promise<Mautic.Response> listCampaigns: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> listCampaignContacts: (campaignId: Mautic.EntityID) => Promise<Mautic.Response> addContactToCampaign: (campaignId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response>, removeContactFromCampaign: (campaignId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response>, } categories: { getCategory: (categoryId: Mautic.EntityID) => Promise<Mautic.Response> listContactCategories: () => Promise<Mautic.Response>, createCategory: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editCategory: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, categoryId: Mautic.EntityID) => Promise<Mautic.Response> deleteCategory: (categoryId: Mautic.EntityID) => Promise<Mautic.Response> } companies: { getCompany: (companyId: Mautic.EntityID) => Promise<Mautic.Response> listContactCompanies: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> queryCompanies: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createCompany: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editCompany: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, companyId: Mautic.EntityID) => Promise<Mautic.Response> deleteCompany: (companyId: Mautic.EntityID) => Promise<Mautic.Response> addContactToCompany: (companyId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response> removeContactFromCompany: (companyId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response> } contacts: { getContact: (contactId: Mautic.EntityID) => Promise<Mautic.Response> getContactByEmailAddress: (lemailAddress: string) => Promise<Mautic.Response> listContacts: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> queryContacts: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createContact: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editContact: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, contactId: Mautic.EntityID) => Promise<Mautic.Response> deleteContact: (contactId: Mautic.EntityID) => Promise<Mautic.Response> addPoints: (contactId: Mautic.EntityID, queryParameters: Mautic.Parameters, points: number | string) => Promise<Mautic.Response> subtractPoints: (contactId: Mautic.EntityID, queryParameters: Mautic.Parameters, points: number | string) => Promise<Mautic.Response> listAvailableOwners: () => Promise<Mautic.Response> listAvailableFields: () => Promise<Mautic.Response> listContactNotes: (contactId: Mautic.EntityID, queryParameters: Mautic.Parameters) => Promise<Mautic.Response> getSegmentMemberships: (contactId: Mautic.EntityID) => Promise<Mautic.Response> getCampaignMemberships: (contactId: Mautic.EntityID) => Promise<Mautic.Response> getActivityEventsForContact: (contactId: Mautic.EntityID, queryParameters: Mautic.Parameters) => Promise<Mautic.Response> getContactCompanies: (contactId: Mautic.EntityID) => Promise<Mautic.Response> getContactDevices: (contactId: Mautic.EntityID) => Promise<Mautic.Response> addDoNotContact: (contactId: Mautic.EntityID, channel: string, queryParameters: Mautic.Parameters) => Promise<Mautic.Response> removeDoNotContact: (contactId: Mautic.EntityID, channel: string) => Promise<Mautic.Response> addUtmTags: (contactId: Mautic.EntityID, queryParameters: Mautic.Parameters) => Promise<Mautic.Response> removeUtmTags: (contactId: Mautic.EntityID, utmId: Mautic.EntityID) => Promise<Mautic.Response> } dashboard: { getAvailableWidgetTypes: () => Promise<Mautic.Response> } dynamiccontent: { getDynamicContent: (contentId: Mautic.EntityID) => Promise<Mautic.Response> listDynamicContent: () => Promise<Mautic.Response> createDynamicContent: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editDynamicContent: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, contentId: Mautic.EntityID) => Promise<Mautic.Response> deleteDynamicContent: (contentId: Mautic.EntityID) => Promise<Mautic.Response> } emails: { getEmail: (emailId: Mautic.EntityID) => Promise<Mautic.Response> listEmails: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> queryEmails: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createEmail: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editEmail: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, emailId: Mautic.EntityID) => Promise<Mautic.Response> deleteEmail: (emailId: Mautic.EntityID) => Promise<Mautic.Response> sendEmailToContact: (emailId: Mautic.EntityID, contactId: Mautic.EntityID, queryParameters: Mautic.Parameters) => Promise<Mautic.Response> sendEmailToSegment: (emailId: Mautic.EntityID) => Promise<Mautic.Response> } fields: { getField: (fieldType: string, fieldId: Mautic.EntityID) => Promise<Mautic.Response> listContactFields: (fieldType: string) => Promise<Mautic.Response> createField: (fieldType: string, queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editField: (method: Mautic.EditMethod, fieldType: string, queryParameters: Mautic.Parameters, fieldId: Mautic.EntityID) => Promise<Mautic.Response> deleteField: (fieldType: string, fieldId: Mautic.EntityID) => Promise<Mautic.Response> } forms: { getForm: (formId: Mautic.EntityID) => Promise<Mautic.Response> listForms: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createForm: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editForm: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, formId: Mautic.EntityID) => Promise<Mautic.Response> deleteForm: (formId: Mautic.EntityID) => Promise<Mautic.Response> deleteFormFields: (formId: Mautic.EntityID, queryParameters: Mautic.Parameters) => Promise<Mautic.Response> deleteFormActions: (formId: Mautic.EntityID, queryParameters: Mautic.Parameters) => Promise<Mautic.Response> listFormSubmissions: (formId: Mautic.EntityID) => Promise<Mautic.Response> listFormSubmissionsForContact: (formId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response> getFormSubmission: (formId: Mautic.EntityID, submissionId: Mautic.EntityID) => Promise<Mautic.Response> } marketingmessages: { getMarketingMessage: (messageId: Mautic.EntityID) => Promise<Mautic.Response> listMarketingMessages: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createMarketingMessage: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editMarketingMessage: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, messageId: Mautic.EntityID) => Promise<Mautic.Response> deleteMarketingMessage: (messageId: Mautic.EntityID) => Promise<Mautic.Response> }; notes: { getNote: (noteId: Mautic.EntityID) => Promise<Mautic.Response> listContactNotes: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createNote: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editNote: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, noteId: Mautic.EntityID) => Promise<Mautic.Response> deleteNote: (noteId: Mautic.EntityID) => Promise<Mautic.Response> } notifications: { getNotification: (notificationId: Mautic.EntityID) => Promise<Mautic.Response> listNotifications: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createNotification: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editNotification: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, notificationId: Mautic.EntityID) => Promise<Mautic.Response> deleteNotification: (notificationId: Mautic.EntityID) => Promise<Mautic.Response> } pages: { getPage: (pageId: Mautic.EntityID) => Promise<Mautic.Response> listPages: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createPage: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editPage: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, pageId: Mautic.EntityID) => Promise<Mautic.Response> deletePage: (pageId: Mautic.EntityID) => Promise<Mautic.Response> } pointactions: { getPointAction: (pointActionId: Mautic.EntityID) => Promise<Mautic.Response> listPointActions: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createPointAction: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editPointAction: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, pointActionId: Mautic.EntityID) => Promise<Mautic.Response> deletePointAction: (pointActionId: Mautic.EntityID) => Promise<Mautic.Response> getPointActionTypes: () => Promise<Mautic.Response> } pointtriggers: { getPointTrigger: (pointTriggerId: Mautic.EntityID) => Promise<Mautic.Response> listPointTriggers: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createPointTrigger: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editPointTrigger: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, pointTriggerId: Mautic.EntityID) => Promise<Mautic.Response> deletePointTrigger: (pointTriggerId: Mautic.EntityID) => Promise<Mautic.Response> getPointTriggerEventTypes: () => Promise<Mautic.Response> } roles: { getRole: (roleId: Mautic.EntityID) => Promise<Mautic.Response> listContactRoles: () => Promise<Mautic.Response> createRole: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editRole: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, roleId: Mautic.EntityID) => Promise<Mautic.Response> deleteRole: (roleId: Mautic.EntityID) => Promise<Mautic.Response> } segments: { getSegment: (segmentId: Mautic.EntityID) => Promise<Mautic.Response> listSegments: () => Promise<Mautic.Response> createSegment: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editSegment: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, segmentId: Mautic.EntityID) => Promise<Mautic.Response> deleteSegment: (segmentId: Mautic.EntityID) => Promise<Mautic.Response> addContactToSegment: (segmentId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response> removeContactFromSegment: (segmentId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response> } textmessages: { getTextMessage: (textMessageId: Mautic.EntityID) => Promise<Mautic.Response> listTextMessages: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createTextMessage: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editTextMessage: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, textMessageId: Mautic.EntityID) => Promise<Mautic.Response> deleteTextMessage: (textMessageId: Mautic.EntityID) => Promise<Mautic.Response> } stages: { getStage: (stageId: Mautic.EntityID) => Promise<Mautic.Response> listStages: () => Promise<Mautic.Response> createStage: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editStage: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, stageId: Mautic.EntityID) => Promise<Mautic.Response> deleteStage: (stageId: Mautic.EntityID) => Promise<Mautic.Response> addContactToStage: (stageId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response> removeContactFromStage: (stageId: Mautic.EntityID, contactId: Mautic.EntityID) => Promise<Mautic.Response> } themes: { getTheme: (themeName: Mautic.EntityID) => Promise<Mautic.Response> getListOfThemes: () => Promise<Mautic.Response> } tweets: { getTweet: (tweetId: Mautic.EntityID) => Promise<Mautic.Response> listTweets: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createTweet: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editTweet: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, tweetId: Mautic.EntityID) => Promise<Mautic.Response> deleteTweet: (tweetId: Mautic.EntityID) => Promise<Mautic.Response> } users: { getUser: (userId: Mautic.EntityID) => Promise<Mautic.Response> listContactUsers: () => Promise<Mautic.Response> createUser: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editUser: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, userId: Mautic.EntityID) => Promise<Mautic.Response> deleteUser: (userId: Mautic.EntityID) => Promise<Mautic.Response> getSelfUser: () => Promise<Mautic.Response> checkUserPermissions: (userId: Mautic.EntityID) => Promise<Mautic.Response> } webhooks: { getWebhook: (webhookId: Mautic.EntityID) => Promise<Mautic.Response> listWebhooks: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> createWebhook: (queryParameters: Mautic.Parameters) => Promise<Mautic.Response> editWebhook: (method: Mautic.EditMethod, queryParameters: Mautic.Parameters, webhookId: Mautic.EntityID) => Promise<Mautic.Response> deleteWebhook: (webhookId: Mautic.EntityID) => Promise<Mautic.Response> listAvailableWebhookTriggers: () => Promise<Mautic.Response> } }