Create a new content block or edit an existing one. Content blocks are designed to store content that can be plugged into other content in a Mailing or Document dynamically. It should be content you expect to reuse, such as a sales person's signature line or the contact information for a retail location. Use a Mailing for content that will be sent one time.
Every Content Block has a language associated with it. You can create the same content, with the same name, in different languages. Then when a Mailing or Document needs to insert content, the one with the matching language will be selected.
The mail merge logic will merge either the text or HTML sections of the Content Block into the Mailing or Document based on where the mail merge tag is found. For example, a mail merge tag in the HTML section will substitute the HTML section from the Content Block.
POST
/API/Rest/ContentBlocks
| name | Up to 25 characters. A name that only administrators will see. Must be unique for the given culture. |
| text | (optional) The text section of the content. |
| html | (optional) The HTML section of the content. |
| delimiterStart | (optional) The delimiter to use to mark the start of a mail merge section. |
| delimiterEnd | (optional) The delimiter to use to mark the end of a mail merge section. |
| description | (optional) A textual description of the Content Block, for your use. Recommended so other administrators can quickly identify the content without relying completely on the name. |
| culture | (optional) The culture of the content. Should be the international standard, like "en-US" or "fr-FR". |
| replaceExisting | A boolean value indicating whether an existing Content Block should be overridden. |
CreateContentBlocks
No Permission
Invalid content block name
Database error
Unknown error
Success
Edit a content block.
using System;
using System.Net.Http;
using System.Text;
string url = "https://example.com/API/Rest/ContentBlocks";
string message = "{\"accountName\":\"acme\",\"login\":\"ApiUser\",\"password\":\"YOUR_PASSWORD\",\"name\":\"JunkMe2\",\"text\":\"This is the edited content block text\",\"html\":\"This is the edited <b>HTML<b>\",\"culture\":\"en-US\",\"description\":\"Just a test\",\"replaceExisting\":true}";
// 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/ContentBlocks'
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'YOUR_PASSWORD', 'name'=>'JunkMe2', 'text'=>'This is the edited content block text', 'html'=>'This is the edited <b>HTML<b>', 'culture'=>'en-US', 'description'=>'Just a test', 'replaceExisting'=>true}
response = RestClient.post(url, args.to_json, :content_type => "application/json;charset=utf-8")
puts response
import requests
url = "https://example.com/API/Rest/ContentBlocks"
args = {'accountName':'acme', 'login':'ApiUser', 'password':'YOUR_PASSWORD', 'name':'JunkMe2', 'text':'This is the edited content block text', 'html':'This is the edited <b>HTML<b>', 'culture':'en-US', 'description':'Just a test', 'replaceExisting':True}
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", "name":"JunkMe2", "text":"This is the edited content block text", "html":"This is the edited <b>HTML<b>", "culture":"en-US", "description":"Just a test", "replaceExisting":true}' "https://example.com/API/Rest/ContentBlocks"