interface EmailsService {
    addContactsToList(
        listId: number,
        contactEmails: string[],
    ): Promise<EmailContactsAdded>;
    createContact(
        user: BaseUser,
        listIds?: number[],
        host?: EmailContactHost,
    ): Promise<Partial<Pick<ContactResult, "id">>>;
    createContactAttribute(
        attributeName: string,
        attributeCategory?: string,
        options?: ContactAttributesCreateOptions,
    ): Promise<void>;
    getContactAttributes(): Promise<ContactAttributesResult>;
    getContactInfo(email: string): Promise<null | ContactResult>;
    getListById(listId: number): Promise<ListResult>;
    getSmtpTemplates(): Promise<undefined | EmailTemplateListResult>;
    sendCampaignEmailForHook<T extends BaseModel = BaseModel>(
        emailHook: EmailHook,
        mailgunListId: string,
        params: CampaignEmailParams<T>,
        trackingData?: Record<string, unknown>,
        statisticsMetaData?: StatisticsMetaData,
    ): Promise<SendResponse>;
    sendTestEmail(campaign: EmailCampaignCreate, user: BaseUser): Promise<void>;
    sendTransactionalEmailToEmails<T extends BaseModel = BaseModel>(
        email: Email,
        emailRecipients: services.emails.EmailRecipient[],
        params: TransactionalEmailParams<T>,
    ): Promise<void>;
    sendTransactionalEmailToEmailsForHook<T extends BaseModel = BaseModel>(
        emailHook: EmailHook,
        users: services.emails.EmailRecipient[],
        params: TransactionalEmailParams<T>,
    ): Promise<void>;
    updateContact(
        email: string,
        updateContact: Partial<ContactCreate>,
    ): Promise<void>;
    updateEmailCaptureContact(
        user: BaseUser,
        host?: EmailContactHost,
    ): Promise<void>;
}

Methods

  • Creates a contact attribute.

    Parameters

    • attributeName: string

      The name of the attribute to create.

    • OptionalattributeCategory: string

      Optional category for the attribute.

    • Optionaloptions: ContactAttributesCreateOptions

      Optional options for creating the attribute.

    Returns Promise<void>

  • Updates a contact by email.

    Parameters

    • email: string

      The email of the contact to update.

    • updateContact: Partial<ContactCreate>

      The contact update information.

    Returns Promise<void>