Class EmailCampaignsImpl

java.lang.Object
io.mailtrap.api.apiresource.ApiResource
io.mailtrap.api.emailcampaigns.EmailCampaignsImpl
All Implemented Interfaces:
EmailCampaigns

public class EmailCampaignsImpl extends ApiResource implements EmailCampaigns
  • Constructor Details

    • EmailCampaignsImpl

      public EmailCampaignsImpl(MailtrapConfig config)
  • Method Details

    • getEmailCampaigns

      public EmailCampaignListResponse getEmailCampaigns(EmailCampaignListFilter filter)
      Description copied from interface: EmailCampaigns
      List the account's email campaigns, newest first.
      Specified by:
      getEmailCampaigns in interface EmailCampaigns
      Parameters:
      filter - filtering and pagination parameters; null for the first page with API defaults
      Returns:
      a page of campaigns and the pagination metadata
    • createEmailCampaign

      public EmailCampaignResponse createEmailCampaign(CreateEmailCampaign request)
      Description copied from interface: EmailCampaigns
      Create a new email campaign in the draft state.
      Specified by:
      createEmailCampaign in interface EmailCampaigns
      Parameters:
      request - the campaign attributes (name, domainId, fromLocalPart and a template subject are required)
      Returns:
      the created email campaign
    • getEmailCampaign

      public EmailCampaignResponse getEmailCampaign(long emailCampaignId)
      Description copied from interface: EmailCampaigns
      Get a single email campaign by ID.
      Specified by:
      getEmailCampaign in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
      Returns:
      the email campaign
    • updateEmailCampaign

      public EmailCampaignResponse updateEmailCampaign(long emailCampaignId, UpdateEmailCampaign request)
      Description copied from interface: EmailCampaigns
      Update an existing draft email campaign. Only the provided attributes are changed.
      Specified by:
      updateEmailCampaign in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
      request - the attributes to update
      Returns:
      the updated email campaign
    • deleteEmailCampaign

      public void deleteEmailCampaign(long emailCampaignId)
      Description copied from interface: EmailCampaigns
      Delete an email campaign. Only a campaign in the draft state can be deleted.
      Specified by:
      deleteEmailCampaign in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
    • startEmailCampaign

      public EmailCampaignResponse startEmailCampaign(long emailCampaignId)
      Description copied from interface: EmailCampaigns
      Start sending a draft campaign immediately.
      Specified by:
      startEmailCampaign in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
      Returns:
      the started email campaign
    • scheduleEmailCampaign

      public EmailCampaignResponse scheduleEmailCampaign(long emailCampaignId, ScheduleEmailCampaignRequest request)
      Description copied from interface: EmailCampaigns
      Schedule a draft campaign to start sending at a future time. The scheduled time is reported back in currentStateMetadata.scheduledAt.
      Specified by:
      scheduleEmailCampaign in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
      request - when to start sending the campaign
      Returns:
      the scheduled email campaign
    • cancelEmailCampaign

      public EmailCampaignResponse cancelEmailCampaign(long emailCampaignId)
      Description copied from interface: EmailCampaigns
      Cancel a scheduled campaign, returning it to the draft state.
      Specified by:
      cancelEmailCampaign in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
      Returns:
      the cancelled email campaign
    • terminateEmailCampaign

      public EmailCampaignResponse terminateEmailCampaign(long emailCampaignId)
      Description copied from interface: EmailCampaigns
      Terminate a campaign that is currently sending (started, queued or paused), aborting the in-flight send.
      Specified by:
      terminateEmailCampaign in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
      Returns:
      the terminated email campaign
    • resetEmailCampaign

      public EmailCampaignResponse resetEmailCampaign(long emailCampaignId)
      Description copied from interface: EmailCampaigns
      Reset a scheduled campaign back to the draft state.
      Specified by:
      resetEmailCampaign in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
      Returns:
      the reset email campaign
    • getEmailCampaignStats

      public EmailCampaignStatsResponse getEmailCampaignStats(long emailCampaignId, EmailCampaignStatsFilter filter)
      Description copied from interface: EmailCampaigns
      Get aggregated performance statistics for an email campaign. If the campaign has never been started, all counts and rates are returned as 0.
      Specified by:
      getEmailCampaignStats in interface EmailCampaigns
      Parameters:
      emailCampaignId - unique email campaign ID
      filter - aggregation window; null for the whole period since the campaign was last started
      Returns:
      aggregated campaign statistics