sdk

Mesa.log.info(message[, meta])

Log info to Mesa Logs.

Parameters

Name Type Description
message string
meta object Optional

Mesa.log.warn(message[, meta])

Log a warning to Mesa Logs.

Parameters

Name Type Description
message string
meta object Optional

Mesa.log.error(message[, meta])

Log an error to Mesa Logs.

Parameters

Name Type Description
message string
meta object Optional

Mesa.log.debug(message[, meta])

Log info to Mesa Logs only if the Automation is in Debug Mode.

Parameters

Name Type Description
message string
meta object Optional

Mesa.request.get(path, options)

Make a GET request to an external Rest API.

Parameters

Name Type Description
path string
options RequestOptions

Returns


Mesa.request.post(path, data, options)

Make a POST request to an external Rest API.

Parameters

Name Type Description
path string
data object
options RequestOptions

Returns


Mesa.request.put(path, data, options)

Make a PUT request to an external Rest API.

Returns


Mesa.request.patch(path, data, options)

Make a PATCH request to an external Rest API.

Returns


Mesa.request.delete(path, options)

Make a DELETE request to an external Rest API.

Parameters

Name Type Description
path string
options RequestOptions

Returns


Mesa.request.send(method, path, data, options)

Make a request to an external Rest API.

Parameters

Name Type Description
method string One of GET, POST, PUT, PATCH, or DELETE
path string
data object
options RequestOptions

Returns


Mesa.request.base64_encode(string)

Base-64 encode a string. This is helpful when building an Authorization header for basic auth requests.

Parameters

Name Type Description
string string The string to encode

Returns


Mesa.request.base64_decode(string[, strict])

Base64 decode a string. Decodes data encoded with MIME base64.

Parameters

Name Type Description
string string The base-64 encoded version of the input string parameter.
strict bool If the strict parameter is set to TRUE then the base64_decode() function will return FALSE if the input contains character from outside the base64 alphabet. Defaults to FALSE. Optional

Returns


Mesa.request.hash(algorithm, string[, base64encode])

Generate a hash of a string. This is helpful when creating signed requests.

Parameters

Name Type Description
algorithm string The algorithm to use. Options: sha1, sha256, md5
string string The string to create the hash from
base64encode string Should we base64-encode the raw value of the hash? Optional

Returns


Mesa.request.hashHmac(algorithm, string, string[, base64encode])

Generate a keyed hash value using the HMAC method. This is helpful when creating signed requests.

Parameters

Name Type Description
algorithm string The algorithm to use. Options: sha1, sha256, md5
string string The string to create the hash from
string string Shared secret key used for generating the HMAC variant of the message digest
base64encode string Should we base64-encode the raw value of the hash? Optional

Returns


Mesa.request.sleep($seconds)

Pauses execution.

Parameters

Name Type Description
$seconds int

Returns


Mesa.credential.get(key[, defaultValue])

Get a secret.

Parameters

Name Type Description
key string
defaultValue string A default value to use if the secret cannot be found. If defaultValue is empty, the script will throw a fatal error if the secret is not found. Optional

Returns


Mesa.credential.set(key, value[, options])

Save a secret value.

Parameters

Name Type Description
key string The credential key or id.
value string The value to save. This will be encrypted at rest, and can contained a stringified JSON array.
options object Optional

Mesa.database.query(sql)

Get a storage item.

Parameters

Name Type Description
sql string The SQL query to run

Returns


Mesa.storage.get(key[, defaultValue])

Get a storage item.

Parameters

Name Type Description
key string
defaultValue string A default value to use if the storage key cannot be found. If defaultValue is empty, the script will throw a fatal error if the storage key is not found. Optional

Returns


Mesa.storage.set(key, value)

Set a storage item.

Parameters

Name Type Description
key string
value string

Mesa.liquid.render(template, params)

Render a liquid template with the params passed.

Parameters

Name Type Description
template string String representing a liquid template.
params object A keyed object of parameters to replace.

Returns


Mesa.input.getWebhookUrl(type, format, automationId, key)

Generates the URL for input webhooks.

Parameters

Name Type Description
type string Type of webhook: json, shopify
format string Format of the returned data: string or array. If string, a full URL is returned. If array, URL will comprise two fields suffix and prefix
automationId string ID of the Automation
key string The key of the trigger

Returns


Mesa.output.next(payload, params)

Pass a payload to the service and call the next step in this Automation.

Parameters

Name Type Description
payload object
params object Parameters to send to the output, such as tokens to construct a Shopify API url
params.enqueue bool Defaults to false. Set to true if you are exploding multiple tasks that can be run in parallel. Optional

Mesa.output.send(outputKey, payload, enqueue)

Call an arbitrary output from a Mesa Script.

Parameters

Name Type Description
outputKey string
payload object
enqueue bool Defaults to false. Set to true if you are exploding multiple tasks that can be run in parallel.

Mesa.automation.send(automationKey, payload)

Call another automation from a Mesa Script.

Parameters

Name Type Description
automationKey string In the form ${automationKey}, this will trigger the first input in the Automation. In the form ${automationKey}/${inputKey}, this will trigger a specific input in the automation.
payload object

Mesa.ftp.deleteFile(filename)

Delete the file loaded by the Input.

Parameters

Name Type Description
filename string Typically passed from context.filename.

Mesa.ftp.moveFile(filename, destinationFilenameAndPath)

Move the file loaded by the Input to a new location.

Parameters

Name Type Description
filename string Typically passed from context.filename.
destinationFilenameAndPath string

Mesa.xml.decode(xmlString[, namespaceSep='_'])

Convert an XML file into an {object}. This function will condense XML namespaces into {namespaceSep = '_'} separated values: soapenv:Body becomes { soapenv_Body: {} }

Parameters

Name Type Description
xmlString string The xml file to be decoded
namespaceSep='_' string Namespace separator for replacing soapenv:Body type values with soapenv_Body Optional

Returns


Mesa.xml.encode(xmlObject[, wrapReplace, namespaceSep='_'])

Convert an object into an XML string.

Parameters

Name Type Description
xmlObject object The object to be turned into xml.
wrapReplace string Replace the default wrapping provided with another value Optional
namespaceSep='_' string Namespace separator for replacing soapenv_Body: {} values with soapenv:Body Optional

Returns


Mesa.xml.valid(xmlString)

Check if xml is valid.

Parameters

Name Type Description
xmlString string

Returns


Mesa.csv.decode(data[, returnObject, options])

Convert a CSV file into an object. Keys will be matched from the first header row of the CSV file.

Parameters

Name Type Description
data string
returnObject bool Defaults to true, which will return an object keyed by the first row in the CSV content. Set to false to return an array. Optional
options object Optional

Returns


Mesa.csv.encode(data[, headerRow])

Convert an object a CSV string.

Parameters

Name Type Description
data object
headerRow bool Defaults to true. Set to false to skip the header row when returning CSV. Optional

Returns


Mesa.vo.push(outputKey, payload)

Push to a Virtual Output.

Parameters

Name Type Description
outputKey string
payload mixed

Mesa.vo.clear(outputKey)

Mark the matching Virtual Output records as cleared by the current Mesa Script.

Parameters

Name Type Description
outputKey string

Mesa.vo.clearOne(outputKey, mesaId)

Mark a single Virtual Output record as cleared by the current Mesa Script.

Parameters

Name Type Description
outputKey string
mesaId string The ID of the record to clear (returned as mesa_id in the Virtual Output).

Mesa.date.setTimezone(timezone)

Set the timezone to use to execute all script commands.

Parameters

Name Type Description
timezone string The timezone identifier, like UTC or America/Los_Angeles. See a full list of TZ Database names.

Returns


{Object} RequestOptions()

Request options.

Parameters

Name Type Description
json bool Automatically add JSON Content-Type headers and decode the response. Defaults to true. Optional
query object Parameters to append to the querystring.
headers object Headers to send to the request.
debug bool Log request information and response headers. Defaults to context.automation.debug (false). Optional
skipJsonWrap bool Skip the named auto wrapping of outgoing data. Defaults to false. Optional
include_headers bool Include headers in the response. The response format will be ResponseRaw. Optional
options.debug_exclude_headers array Exclude headers from debugging information to keep secret keys a secret. An array of header keys (example: Content-Type). Optional
stringify_large_ints bool If JSON response, and response has ints over the JS max int, will traverse entire payload and cast long ints to strings. Defaults to false. Optional

{Object|String} Response()

Request response:


{Object} ResponseRaw()

Request response with headers when options.include_headers is true.

Parameters

Name Type Description
body Response Response from the server
headers object Headers to from response.
request_method string The method used to create the response: GET, POST, etc.
request_url string The URL used to create the response.