Skip to content

Macros

DIY Surveys supports the ability to insert values into a message using macros. Macros can be used during the recipient upload process and the messaging process.

Formatting macros

Macros use the following basic format:

'{' name [ '(' parameters ')' ] '}'
Part Description
name The macro name.
parameters Optional parameters depending on the macro type.

Example:

{tiny(https://diysurveys.com)}

This converts the long URL into a short version using either the default TinyUrl configured for your account or a specific one associated with your account.

Parameters

Parameters are separated by commas. If a parameter includes a parameter, surround it with double quotes.

{tiny(https://diysurveys.com, 1pt.mobi)}

This converts the long URL into a tiny URL using the supplied domain as the TinyUrl.

Parameters can also refer to values supplied with a method call:

{tiny({long}?id={RequestID}, {short})}

In this example, the {long} and {short} references must be included in the message send method.

Note

If there is a conflict between the macro list supplied in the API call and the standard macros, the API call macro list takes precedence.

Example message

URL: base/Message/Send
Method: POST
{
  "Source": "DIY Surveys",
  "Destination": "12345678901",
  "Message": "Please click on the link {tinyurl({long}, {short})} to get your reward",
  "Reply": false,
  "When": "2020-02-04T11:47:33.645773+00:00",
  "Window": [{ "From": "09:00", "To": "16:00", "Days": "1,2,3,4,5" }],
  "Callback": "https://yourco.com/api/messagetracker",
  "Lookup": true,
  "Test": false,
  "MetaData": [
    { "long": "https://diysurveys.com" },
    { "short": "1pt.mobi" },
    { "RequestID": "1234567890DEFED" },
    { "OrgID": 1010 },
    { "Instance": "ETRERT" },
    { "Campaign": 1242 },
    { "TimeStamp": "2020-02-04T11:47:33.645773+00:00" }
  ]
}