web_delivery_apply
Send a web message now, create or activate a schedule, edit an active schedule, or change an inactive schedule's audience in the Web Message app (pApp F00001). Requires confirmation SEND_WEB_MESSAGE, CREATE_WEB_SCHEDULE, ACTIVATE_WEB_SCHEDULE or EDIT_ACTIVE_WEB_SCHEDULE. Title 1–40, body 2–200. Sends to members and cannot be recalled; needs host delivery authorization. When sending cannot run here, the answer is MESSAGING_DELIVERY_CONSOLE with the console send screen (consoleUrl), and nothing is sent. A lost receipt stays pending and is never resent; task_resume only observes, and prepared work needs the identical apply. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once. Ask the user again before executing; this cannot be undone. When the preview has requiresReconfirmation, execute only with irreversibleConfirmed: true after the person confirms again.
Inputs
| Field | Required here | Contract |
|---|---|---|
target |
Yes | one of: new, schedule (by mode) |
target.audience |
Yes | When target.mode is new: one of: MEMBER_ALL, SEGMENT (by type) |
target.audience.segmentId |
Yes | When target.mode is new and target.audience.type is SEGMENT: string; pattern ^[A-Za-z0-9_-]{1,200}$ |
target.scheduleId |
Yes | When target.mode is schedule: integer; greater than 0 |
target.audience |
No | When target.mode is schedule: one of: MEMBER_ALL, SEGMENT (by type) |
target.audience.segmentId |
Yes | When target.mode is schedule and target.audience.type is SEGMENT: string; pattern ^[A-Za-z0-9_-]{1,200}$ |
change |
Yes | one of: send, create-schedule, activate, edit, audience (by action) |
change.title |
Yes | When change.action is send: string; min length 1; max length 40 |
change.body |
Yes | When change.action is send: string; min length 2; max length 200 |
change.linkUri |
No | When change.action is send: `` or string; format uri |
change.isSendPwaPush |
Yes | When change.action is send: boolean |
change.isMarketingMessage |
Yes | When change.action is send: boolean |
change.confirmation |
Yes | When change.action is send: SEND_WEB_MESSAGE |
change.title |
Yes | When change.action is create-schedule: string; min length 1; max length 40 |
change.body |
Yes | When change.action is create-schedule: string; min length 2; max length 200 |
change.linkUri |
No | When change.action is create-schedule: `` or string; format uri |
change.isSendPwaPush |
Yes | When change.action is create-schedule: boolean |
change.isMarketingMessage |
Yes | When change.action is create-schedule: boolean |
change.schedule |
Yes | When change.action is create-schedule: one of: ONCE, DAILY, WEEKLY (by type) |
change.schedule.sendAt |
Yes | When change.action is create-schedule and change.schedule.type is ONCE: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.startAt |
Yes | When change.action is create-schedule and change.schedule.type is DAILY: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.endAt |
Yes | When change.action is create-schedule and change.schedule.type is DAILY: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.scheduleTime |
Yes | When change.action is create-schedule and change.schedule.type is DAILY: string; pattern ^(?:[01]\d|2[0-3]):[0-5]\d$ |
change.schedule.timeZone |
No | When change.action is create-schedule and change.schedule.type is DAILY: string; max length 100; IANA timezone used for the source minimum-start-calendar-date rule. Defaults to UTC; scheduleTime and weekday values remain UTC. |
change.schedule.startAt |
Yes | When change.action is create-schedule and change.schedule.type is WEEKLY: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.endAt |
Yes | When change.action is create-schedule and change.schedule.type is WEEKLY: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.scheduleTime |
Yes | When change.action is create-schedule and change.schedule.type is WEEKLY: string; pattern ^(?:[01]\d|2[0-3]):[0-5]\d$ |
change.schedule.timeZone |
No | When change.action is create-schedule and change.schedule.type is WEEKLY: string; max length 100; IANA timezone used for the source minimum-start-calendar-date rule. Defaults to UTC; scheduleTime and weekday values remain UTC. |
change.schedule.daysOfWeek |
Yes | When change.action is create-schedule and change.schedule.type is WEEKLY: array; items: integer; minimum 0; maximum 6; min items 1; max items 7 |
change.isActivated |
No | When change.action is create-schedule: boolean; default false |
change.confirmation |
Yes | When change.action is create-schedule: CREATE_WEB_SCHEDULE |
change.confirmation |
Yes | When change.action is activate: ACTIVATE_WEB_SCHEDULE |
change.title |
No | When change.action is edit: string; min length 1; max length 40 |
change.body |
No | When change.action is edit: string; min length 2; max length 200 |
change.linkUri |
No | When change.action is edit: `` or string; format uri |
change.isSendPwaPush |
No | When change.action is edit: boolean |
change.isMarketingMessage |
No | When change.action is edit: boolean |
change.schedule |
No | When change.action is edit: one of: ONCE, DAILY, WEEKLY (by type) |
change.schedule.sendAt |
Yes | When change.action is edit and change.schedule.type is ONCE: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.startAt |
Yes | When change.action is edit and change.schedule.type is DAILY: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.endAt |
Yes | When change.action is edit and change.schedule.type is DAILY: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.scheduleTime |
Yes | When change.action is edit and change.schedule.type is DAILY: string; pattern ^(?:[01]\d|2[0-3]):[0-5]\d$ |
change.schedule.timeZone |
No | When change.action is edit and change.schedule.type is DAILY: string; max length 100; IANA timezone used for the source minimum-start-calendar-date rule. Defaults to UTC; scheduleTime and weekday values remain UTC. |
change.schedule.startAt |
Yes | When change.action is edit and change.schedule.type is WEEKLY: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.endAt |
Yes | When change.action is edit and change.schedule.type is WEEKLY: string; pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$; format date-time |
change.schedule.scheduleTime |
Yes | When change.action is edit and change.schedule.type is WEEKLY: string; pattern ^(?:[01]\d|2[0-3]):[0-5]\d$ |
change.schedule.timeZone |
No | When change.action is edit and change.schedule.type is WEEKLY: string; max length 100; IANA timezone used for the source minimum-start-calendar-date rule. Defaults to UTC; scheduleTime and weekday values remain UTC. |
change.schedule.daysOfWeek |
Yes | When change.action is edit and change.schedule.type is WEEKLY: array; items: integer; minimum 0; maximum 6; min items 1; max items 7 |
change.confirmation |
Yes | When change.action is edit: EDIT_ACTIVE_WEB_SCHEDULE |
confirmToken |
No | string; pattern ^ct[a-f\d]{32}$; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute. |
irreversibleConfirmed |
No | true; true only after the person confirmed again, when the preview has requiresReconfirmation: the action cannot be undone. |