(14 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | ===Name=== | ||
+ | API | ||
+ | ===Type=== | ||
+ | FlexFormBot | ||
+ | ===Synopsis=== | ||
+ | Trigger a FlexForm action. | ||
+ | ===Description=== | ||
+ | Trigger a FlexForm action. Currently only the email trigger is available. With this API function you can use FlexForm as a newsletter engine. Create a Python function or a Maintenance script that is triggered using a Cron job to send newsletters automatically utilizing the additional '''data''' attribute to have you script add the BCC email addresses. | ||
+ | ===Parameters=== | ||
+ | '''trigger''' - What function needs to be triggered within FlexForm. This parameter is required. | ||
+ | |||
+ | '''data''' - Extra data needed for the Trigger function. Depends on the trigger action. Please read the manual for more information. | ||
+ | |||
+ | '''title''' - Title needed for the Trigger function. Depends on the trigger action. Please read the manual for more information. | ||
+ | |||
+ | '''token''' - A "'''csrf'''" token retrieved from action=query&meta=tokens. This parameter is required. | ||
+ | |||
+ | ====Trigger email==== | ||
+ | With this trigger you can send an email, based on the email-template. | ||
+ | |||
+ | The email trigger also needs a title of a page. That page needs to be setup as a full email template. Read the docs "email" on how to setup such a template. | ||
+ | |||
+ | Additionally, you can use the data attribute to add BCC addresses to an email. Format is a JSON | ||
+ | |||
+ | <code>{ "bcc": "Charlot [charlot@wikibase.nl], Ad [ad@wikibase.nl]" }</code> | ||
+ | ===Example=== | ||
+ | Make a call using the csrf token to the MediaWiki API | ||
+ | <syntaxhighlight> | ||
+ | To = api.php | ||
+ | action = FlexFormBot | ||
+ | trigger = email | ||
+ | title = Email template page | ||
+ | token = <your csrf token> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ===Return format=== | ||
+ | The API result will be in a JSON format. When an error occurs, you will have an error field present where you can read its message. | ||
+ | |||
+ | Example of an error | ||
+ | <syntaxhighlight lang="json"> | ||
+ | { | ||
+ | "FlexFormBot": { | ||
+ | "error": { | ||
+ | "message": "The page you specified doesn't exist.", | ||
+ | "request": { | ||
+ | "trigger": "email", | ||
+ | "title": "Email_template_tsest", | ||
+ | "data": null | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Example of success | ||
+ | <syntaxhighlight lang="json"> | ||
+ | { | ||
+ | "FlexFormBot": { | ||
+ | "result": { | ||
+ | "request": { | ||
+ | "trigger": "email", | ||
+ | "title": "Email_template_test", | ||
+ | "data": null | ||
+ | }, | ||
+ | "message": "success" | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | ===Note=== | ||
+ | You need to add the csrf token with every request to FlexFormBot | ||
ws-base-props | |||
---|---|---|---|
Line 1: | Line 1: | ||
{{Base properties | {{Base properties | ||
− | |Title= | + | |Title=FlexFormBot |
|Class=Doc | |Class=Doc | ||
}} | }} | ||
ws-class-props | |||
Line 1: | Line 1: | ||
− | + | {{Doc properties | |
+ | |Doc subject=DevOps:Doc/FlexForm | ||
+ | |Subject version=1.1,2.0,2.1 | ||
+ | |Doc parent=DevOps:Doc/FlexForm/1.1/API | ||
+ | |Doc sort order=10 | ||
+ | |Doc target group=Developer | ||
+ | |Doc synopsis=Trigger a FlexForm action | ||
+ | }} | ||
ws-seo | |||
Line 1: | Line 1: | ||
− | + | {{SEO | |
+ | |Title=FlexForm Bot API function | ||
+ | |Keywords=newsletter | ||
+ | |Description=Trigger a FlexForm action. Currently only the email trigger is available. With this API function you can use FlexForm as a newsletter engine. Create a Python function or a Maintenance script that is triggered using a Cron job to send newsletters automatically utilizing the additional data attribute to have you script add the BCC email addresses. | ||
+ | |Section=Documentation/FlexForm | ||
+ | |Published time=2023-09-06 | ||
+ | |Title mode= | ||
+ | |Title separator= | ||
+ | |Robots= | ||
+ | |Googlebot= | ||
+ | |Image=FlexForm logo.png | ||
+ | |Image alt= | ||
+ | |Image width= | ||
+ | |Image height= | ||
+ | |Locale= | ||
+ | |Site name= | ||
+ | |Author= | ||
+ | }} | ||
ws-page-props | |||
Line 1: | Line 1: | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 22:27, 4 November 2024
Name
API
Type
FlexFormBot
Synopsis
Trigger a FlexForm action.
Description
Trigger a FlexForm action. Currently only the email trigger is available. With this API function you can use FlexForm as a newsletter engine. Create a Python function or a Maintenance script that is triggered using a Cron job to send newsletters automatically utilizing the additional data attribute to have you script add the BCC email addresses.
Parameters
trigger - What function needs to be triggered within FlexForm. This parameter is required.
data - Extra data needed for the Trigger function. Depends on the trigger action. Please read the manual for more information.
title - Title needed for the Trigger function. Depends on the trigger action. Please read the manual for more information.
token - A "csrf" token retrieved from action=query&meta=tokens. This parameter is required.
Trigger email
With this trigger you can send an email, based on the email-template.
The email trigger also needs a title of a page. That page needs to be setup as a full email template. Read the docs "email" on how to setup such a template.
Additionally, you can use the data attribute to add BCC addresses to an email. Format is a JSON
{ "bcc": "Charlot [charlot@wikibase.nl], Ad [ad@wikibase.nl]" }
Example
Make a call using the csrf token to the MediaWiki API
To = api.php
action = FlexFormBot
trigger = email
title = Email template page
token = <your csrf token>
Return format
The API result will be in a JSON format. When an error occurs, you will have an error field present where you can read its message.
Example of an error
{
"FlexFormBot": {
"error": {
"message": "The page you specified doesn't exist.",
"request": {
"trigger": "email",
"title": "Email_template_tsest",
"data": null
}
}
}
}
Example of success
{
"FlexFormBot": {
"result": {
"request": {
"trigger": "email",
"title": "Email_template_test",
"data": null
},
"message": "success"
}
}
}
Note
You need to add the csrf token with every request to FlexFormBot