Commit Graph

49 Commits

Author SHA1 Message Date
Jan Jakes
172ffb7b61 Increase number of checks if the email was sent in automation
[MAILPOET-6175]
2024-08-12 16:11:19 +02:00
Rostislav Wolny
8a0bd75cb1 Limit scheduled tasks fetching by automation run createdAt
This is a performance optimization to avoid fetching too many scheduled task rows.
Run is always created before the scheduled task which is created in send action step.
[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
Rostislav Wolny
e5ab65f28e Fix send action checkSendingStatus to support multiple emails per subscriber.
It is possible that one email (e.g., purchase in category) is sent multiple times
to the same subscriber.

AutomationEmailScheduler::getScheduledTaskSubscriber was selecting the task based on subscriber and newsletter.
In the case of multiple emails sent to one subscriber, the method failed to pick ScheduledTaskSubsrciberEntity because
the query was fetching multiple results, but getOneOrNullResult expects only one result.

This commit fixes it by adding additional filtering by $runId to get the ScheduledTaskSubsriberEntity associated
with the correct run.

I did the filtering in PHP because an alternative would be using LIKE %% in the query. The meta column is text.
[MAILPOET-6155]
2024-08-07 16:01:48 +02:00
Jan Jakes
fdc0468c64 Execute send email step progress when email is sent
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
Jan Jakes
36089cc2f4 Save automation run info to scheduled task meta field
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
Jan Jakes
123b0d65e2 Do not complete send email action run immediately, schedule a check instead
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
David Remer
5aa6ffaed7 Make more triggers transactional
[MAILPOET-6015]
2024-04-29 11:08:53 +02:00
Jan Jakes
a17fc5e963 Identify all triggers with "woocommerce:" key prefix as WooCommerce triggers
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
Jan Jakes
d5d20d5219 Send transactional emails with order created/completed/cancelled triggers
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
Jan Jakes
8b40553d0b Do not check subscriber against segment when sending transactional email
[MAILPOET-5720]
2024-02-14 14:36:22 +01:00
 Ján Mikláš
f71935f137 Add translator comments to automation steps and subjects
[MAILPOET-5729]
2023-11-24 08:10:35 +02:00
Jan Jakes
f55c4f7755 Make next step ID nullable (ability to save multiple edges without next steps)
[MAILPOET-5586]
2023-10-23 17:09:16 +02:00
David Remer
6ef3435a80 Remove segment as a required subject
If a segment is given, the subscriber needs to be subscribed to it, otherwise
the subscriber only needs to be globally subscribed

[MAILPOET-5514]
2023-10-03 19:14:30 +02:00
Jan Jakes
eeb4d64e8b Pass step run controller to automation actions
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
David Remer
0cc02b38a5 Move abandoned cart into WooCommerce vendor space
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
06a704da75 Use Populator to add group and event to available options
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
0a57ca6a4d Use productIds in AbandonedCartPayload
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
d113ec9fdb Remove ProductsSubject
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
50827706fb Add product_ids for abandoned cart to email
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
f91453b102 Set woocommerce and abandoned cart options
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
Jan Jakes
69f21814e3 Rename "transactional" email type to "automation_transactional"
[MAILPOET-5258]
2023-04-24 09:54:08 +03:00
David Remer
430c9b72f7 Exclude emails of wrong type
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
David Remer
0a8bcaf484 Do not allow to send emails to bounced subscribers
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
David Remer
343b91a980 Remove type specification 2023-04-17 13:59:39 +02:00
David Remer
46f888a30b Let transactional emails pass
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
David Remer
ac65c138ee Set transactional email type when email is transactional
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
David Remer
93cfffe295 Allow sending an email multiple times
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
Rostislav Wolny
03d7306611 Add check from automation flows with welcome emails
This commit improves the check that a user has set a welcome email campaign (a task in product discovery task list)
by checking also for automation flows that are triggered by new subscriber or user and contain
send email action.
[MAILPOET-4827]
2023-01-23 16:48:52 +01:00
Jan Jakes
588f3a9feb Use "reply to" from settings only when they are different than "from" settings
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
Jan Jakes
2f78c99381 Fix reply-to panel empty value handling
[MAILPOET-4757]
2022-11-07 11:17:36 +02:00
David Remer
e2ede3e568 use withError to build error message
[MAILPOET-4700]
2022-10-26 12:51:16 +02:00
Jan Jakes
79c60ff7a1 Make step args that need to be set required
[MAILPOET-4659]
2022-10-13 11:58:11 +02:00
Jan Jakes
7425c73d9e Add error messages to action validation, use step validation args
[MAILPOET-4659]
2022-10-13 11:58:11 +02:00
Jan Jakes
a2948efc46 Rename namespace with defs for 3rd-party integrations to "Integration"
[MAILPOET-4659]
2022-10-13 11:58:11 +02:00
David Remer
b657a1eee0 Account for email_id being 0
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
Jan Jakes
3c651c940b Add convenience by-class getter for payloads (& use it)
[MAILPOET-4629]
2022-09-23 12:42:03 +03:00
Jan Jakes
fe3d719a13 Use step run args in existing actions
[MAILPOET-4629]
2022-09-23 12:42:03 +03:00
Jan Jakes
00e8c4f3e5 Make steps specify required/provided subject keys
[MAILPOET-4629]
2022-09-23 12:42:03 +03:00
Jan Jakes
6e6d0e725a Set automation newsletters always as active
Their scheduling and validity will handled by the workflow engine so this should be OK.
We can also consider syncing the state based on the workflow state, somehow.

[PREMIUM-194]
2022-09-08 09:20:20 +02:00
David Remer
24849afb7a Make name a property of Step.args instead of Step
[MAILPOET-4445]
2022-08-17 16:01:45 +02:00
Jan Jakes
3886dd83d1 Unify naming of sender name and email address
[MAILPOET-4446]
2022-08-15 16:05:12 +02:00
Jan Jakes
697e7eba9a Add Google Analytics setting panel to automation email sidbar
[MAILPOET-4446]
2022-08-15 16:05:12 +02:00
Jan Jakes
922beb790f Add reply-to setting panel to automation email sidebar
[MAILPOET-4446]
2022-08-15 16:05:12 +02:00
Jan Jakes
d1fddb85f7 Add before step save hook per step key to simplify usage
[MAILPOET-4515]
2022-08-08 13:23:57 +02:00
Jan Jakes
1f6ce667e5 Add schema definition for automation steps
[MAILPOET-4515]
2022-08-08 13:23:57 +02:00
Jan Jakes
4389d3ca5f Sync automation email step settings to newsletter entity
[MAILPOET-4515]
2022-08-08 13:23:57 +02:00
Jan Jakes
4aa323b612 Extract data-carrying classes to dedicated namespace
We need a separation of "Step" as an interface vs. "Step" as a serializable data structure.

[MAILPOET-4515]
2022-08-08 13:23:57 +02:00
Jan Jakes
da43849c30 Use more descriptive method name
[MAILPOET-4465]
2022-07-12 13:36:58 +02:00
Jan Jakes
d447702941 Convert welcome email action to a generic send email action
[MAILPOET-4465]
2022-07-12 13:36:58 +02:00