Send a document to a recipient. The recipient must have been added to the database previously.
Post
/API/Rest/Documents/Queue
| documentName | The name of the document to send. |
| emailAddress | The email address of an existing recipient to use for mail merging |
| substitutions | (Optional) a string dictionary of keys and values for substitution |
| checkTopicUnsubscribes | (Optional) Boolean of whether to check if the recipient is unsubscribed from this topic. Default is true. |
| checkUnconfirmed | (Optional) Boolean of whether to check if this recipient is unconfirmed. Default is true. |
| reportCategory | (Optional) a semi-colon separated list of keys to use for reporting purposes. Ex: Portland;Valetine |
| sendDateTime | (Optional) a date and time in the future to send this, in UTC time. Default is now. |
QueueDocument
No Permission
Keys cannot be empty in the substitutions
Invalid email address
Invalid document name
Invalid start time
End date more than three months in the future
sendDateTime must be in the future
Recipient is on hold because of an invalid email address
Recipient is on the global unsubscribe list.
Recipient is suppressed for this topic
Recipient is on the global suppression list
Recipient is unsubscribed from this topic
Recipient has not responded to a confirmation request
Database error
Unknown error
Success
Queue a document to be sent to a recipient.
using System;
using System.Net.Http;
using System.Text;
string url = "https://example.com/API/Rest/Documents/Queue";
string message = "{\"accountName\":\"acme\",\"login\":\"ApiUser\",\"password\":\"YOUR_PASSWORD\",\"documentName\":\"JunkMe\",\"emailAddress\":\"joe@example.com\",\"Substitutions\":{\"RewardAmount\":\"$20\",\"Valid until\":\"5/6/2020\"}}";
// Reuse HttpClient for multiple requests in production code.
using (var client = new HttpClient())
using (var request = new HttpRequestMessage(HttpMethod.Post, url))
{
request.Content = new StringContent(message, Encoding.UTF8, "application/json");
using (HttpResponseMessage response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}
# encoding: utf-8
require 'rest-client'
require 'json'
url = 'https://example.com/API/Rest/Documents/Queue'
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'YOUR_PASSWORD', 'documentName'=>'JunkMe2','emailAddress'=>'joe@example.com', 'Substitutions'=>{'RewardAmount'=>'$20', 'Valid until'=>'5/6/2020'}}
response = RestClient.post(url, args.to_json, :content_type => "application/json;charset=utf-8")
puts response
import requests
url = "https://example.com/API/Rest/Documents/Queue"
args = {'accountName':'acme','login':'ApiUser', 'password':'YOUR_PASSWORD', 'documentName':'Reward', 'emailAddress':'joe@example.com', 'substitutions':{'link':'http://www.example.com','unsub_link':'http://unsub.example.com'}}
headers = {'Content-Type': 'application/json'}
resp = requests.post(url, json=args, headers=headers)
if resp.status_code == 200:
print(resp.text)
curl --request POST --header "Content-Type: application/json" --data '{"accountName":"acme","login":"ApiUser", "password":"YOUR_PASSWORD", "documentName":"JunkMe", "emailAddress":"joe@example.com", "Substitutions":{"RewardAmount":"$20", "Valid until":"5/6/2020"}}' "https://example.com/API/Rest/Documents/Queue"