From 3f6a319ebe38481570956b14fef32ca5064e291d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C4=B1dvan=20Akca?= Date: Thu, 1 Feb 2024 18:52:14 +0300 Subject: [PATCH] feat(mailchimp): add send campaign action --- .../src/apps/mailchimp/actions/index.js | 3 +- .../mailchimp/actions/send-campaign/index.js | 39 +++++++++++++++++++ packages/docs/pages/apps/mailchimp/actions.md | 2 + 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 packages/backend/src/apps/mailchimp/actions/send-campaign/index.js diff --git a/packages/backend/src/apps/mailchimp/actions/index.js b/packages/backend/src/apps/mailchimp/actions/index.js index 25ce22d3..853ccb5a 100644 --- a/packages/backend/src/apps/mailchimp/actions/index.js +++ b/packages/backend/src/apps/mailchimp/actions/index.js @@ -1,3 +1,4 @@ import createCampaign from './create-campaign/index.js'; +import sendCampaign from './send-campaign/index.js'; -export default [createCampaign]; +export default [createCampaign, sendCampaign]; diff --git a/packages/backend/src/apps/mailchimp/actions/send-campaign/index.js b/packages/backend/src/apps/mailchimp/actions/send-campaign/index.js new file mode 100644 index 00000000..1c954cb9 --- /dev/null +++ b/packages/backend/src/apps/mailchimp/actions/send-campaign/index.js @@ -0,0 +1,39 @@ +import defineAction from '../../../../helpers/define-action.js'; + +export default defineAction({ + name: 'Send campaign', + key: 'sendCampaign', + description: 'Sends a campaign draft.', + arguments: [ + { + label: 'Campaign', + key: 'campaignId', + type: 'dropdown', + required: true, + description: '', + variables: true, + source: { + type: 'query', + name: 'getDynamicData', + arguments: [ + { + name: 'key', + value: 'listCampaigns', + }, + ], + }, + }, + ], + + async run($) { + const campaignId = $.step.parameters.campaignId; + + await $.http.post(`/3.0/campaigns/${campaignId}/actions/send`); + + $.setActionItem({ + raw: { + output: 'sent', + }, + }); + }, +}); diff --git a/packages/docs/pages/apps/mailchimp/actions.md b/packages/docs/pages/apps/mailchimp/actions.md index 1b20a1bb..4f527d3a 100644 --- a/packages/docs/pages/apps/mailchimp/actions.md +++ b/packages/docs/pages/apps/mailchimp/actions.md @@ -3,6 +3,8 @@ favicon: /favicons/mailchimp.svg items: - name: Create campaign desc: Creates a new campaign draft. + - name: Send campaign + desc: Sends a campaign draft. ---