The Schedule Campaign command allows you to set a campaign to deploy at a specific date and time on a one time or recurring basis.
Arguments
The Schedule Campaign command requires the following arguments: Command, Realm, Password, List, Format, Start Date and Time.
cmd=schedule_deployment&list_id=5&format=1&start_month=09&start_day=20&start_year=2016&hour=11&minute=30
The command is ‘schedule_deployment’. The list properties are defined in list with ID ‘5’, the template content to send is defined in the list properties, and all contacts in the list will be sent the Plain Text format at 11:30 am on September 20, 2016.
Before deploying a campaign, every email address to receive the message must be subscribed to the list. If a contact does not exist or is not subscribed to the list, no message will be sent to that contact.
The Schedule Campaign command does not check to ensure contacts exist in the list or list segment. If there are 0 contacts, the command will return SUCCESS and be scheduled. If there are no contacts at run time, no campaign will deploy and a failure message will be sent to the Notification email address.
Schedule Campaign deploys campaigns of type Normal only. It will not deploy a Super List. Super List deployment can only be scheduled through the user interface.
NOTE: Schedule Campaign Start and End times are based on the system time zone, and ignore the timezone set for the Account. For example, if the database timezone is set to PST, but the Account uses EST when displaying the time in the user interface, the API will always schedule based on the PST time.
The Schedule Campaign command support the following arguments:
Name |
Req? |
Description |
Argument |
Command |
Yes |
Defines the command to use. |
cmd=schedule_deployment |
List ID |
Yes |
Identifier of the list properties to use. If you are using one file to perform the same command for several lists, group the command lines in your file by Command and List. This will improve processing efficiency. Alternately, define the list in the header instead of per command. This must refer to a valid list with From and Reply-to. |
list_id=[list_id] |
Template ID |
Yes |
Identifier of the template content to send. In the template, both Plain Text and HTML must be defined in order to send MIME. If no template id defined in the call, the default template defined in the List properties will be used. If no template is defined there, the call will fail. |
template_id=[template_id] |
Format |
|
To specify the format of the email messages, set Format to the corresponding value: 0 = send Contact Selected Format 1= send Plain Text only 2 = send HTML only 99 = send Multipart MIME |
format=[0,1,2,99] DEFAULT==0 |
Segmentation Rule |
Identifier of the segmentation rule to use to limit the contacts. If no segmentation rule is specified or is set to 0, the campaign will deploy to every contact in the List. |
segmentation_id=[segmentation_rule_id] |
|
Seed List |
|
To seed a campaign with test addresses from a Seed List, set the seed_list id. |
seed_list_id=[seed_list_id] |
Suppression List |
|
To suppress contacts in the list from receiving the message, use the Suppression List by defining the Name of the Suppression List. |
suppression_list=[suppression list name] |
Set Data Macro |
To set contact data when a campaign is deployed, define the Set Data Macro ID. |
set_data_macro_id=[set_data_macro_id] |
|
Campaign Alias |
An optional text string to help you distinguish the campaign from others deployed from the same list. |
campaign_alias=[text] |
|
Limit |
To send to only a specific number of contacts, define a limit. This is useful for testing message content to a group of test contacts. Limit is not supported when sending an AB Definition. |
limit=[integer] | |
Fillin Fields* |
If the List and Template contain fillin fields, set the values by defining the fillin_name and fillin_values, where N is a number starting with 0 up to 9 (limited to 10 fillin fields at this time). For example: &fillin_name0=Subject &fillin_value0=Welcome &fillin_name1=City &fillin_value1=Seattle **NOTE: If a fillin field has been defined as Required in a List, Template, or Article, then it must be defined in the Schedule Campaign command, otherwise the command will fail. |
&fillin_nameN=[fillin_field_name] &fillin_valueN=[fillin_field_value] |
|
Send Notification |
After the campaign has completed, a notification email will be sent to the specified email address. |
notify_email=[email address] | |
Start Date |
Yes |
The date to start sending the campaign. If it is not defined, the campagain will be immediately deployed. mm = two digit number for the month, 01 to 12 dd = two digit number for the day, 01 to 31 yyyy = four digit year |
start_month=[mm] start_day=[dd] start_year=[yyyy] |
Start Time |
Yes |
The time to run the campaign. If it is not defined, the campagain will be immediately deployed. hh = two digit number for the hour in twenty four hour notation, 00 to 23 mm = two digit number for the minute, 00 to 59 |
hour=[hh] minute=[mm] |
End Date |
The date to stop sending the campaign. If it is not defined, the campagain will be immediately deployed. mm = two digit number for the month, 01 to 12 dd = two digit number for the day, 01 to 31yyyy = four digit year |
end_month=[mm] end_day=[dd] end_year=[yyyy] |
|
No End Date |
To schedule a repeating campaign that never ends, set to 1 and do not define the End Date. If set to 1, any defined End Date will be ignored. |
no_end_date=[0,1] DEFAULT==0 |
|
Repeat Frequency |
To schedule a repeating campaign, set the frequency. If set to weekly, you must also set the week day to 1 for each day to send. 0 = one time, do not repeat |
repeat_frequency=[frequency] DEFAULT==0 sunday=[0,1] monday=[0,1] tuesday=[0,1] wednesday=[0,1] thursday=[0,1] friday=[0,1] saturday=[0,1] |
|
Workflow Send Time |
Specify the number of hours prior to the scheduled time to send the Workflow message. This is only valid if Workflow is enabled for the list. hh = one or two digit number to indicate the hour from 0 to 72. 0 = send at scheduled time |
workflow_send_time=[hh] DEFAULT==0 |
|
Account Profile |
To use an Account Profile other than that assigned to the list, define the Account Profile ID. Account Profile support added in v12.03.0. |
acct_pro_id=[account_profile_id] | |
Email Snapshot |
Email Snapshot will create and store the HTML and image screenshot of each message sent, including contact-specific personalization. If your Realm is enabled for Email Snapshot, to store a copy of each message, set the 'snapshot' argument to 1. Email Snapshot support added in v15.00.00. |
snapshot=[0,1] |
Example
Using all commands and arguments (please note the command is wrapped for display purposes only):
cmd=schedule_deployment&list_id=5&template_id=42&format=99&segmentation_id=9&suppression_list=suppress.txt&set_data_macro_id=40&start_month=09&start_day=26&start_year=2016&hour=09&minute=30&no_end_date=1&repeat_frequency=3&monday=1&wednesday=1¬ify_email=notify@domain.com
A message from List ‘5’ with MIME content from Template ‘42’ will be sent to all contacts that match the rules defined in segmentation rule ‘9’ and are not in the suppression list 'suppress.txt'. The message will repeat weekly on Monday and Wednesday at 9:30 am starting on September 26, 2016.
Errors
A Schedule Deployment command will fail if any of the identifiers (List, Template, Segmentation, etc.) are missing or invalid. It will also fail if the Start date/time has already passed, or the End date/time is before the Start date/time.
Additional Considerations
The Schedule Campaign command includes some special arguments.
Customized Content
Templates support the option of sending customized information. While you can pass in custom data with the Send command, the Schedule Campaign command can only use the data associated to each contact for each message.
However, you can customize the List From and Reply To address using custom contact data fields. This can be accomplished by setting the custom data in the List properties (From = "%%$myfrom%%" <%%$myemail%%>).
When the message is sent, the publisher will grab the data stored in the Contact's custom data field to fill in the address settings:
from: "My Custom From Address" <mycustomemail@domain.com>
*New in 11.7.0 release