MESA SDK
vendor/Mesa.js
Mesa.log.info(message[, meta])
Log info to Mesa Logs.
Parameters
message
string
meta
object
Optional
Mesa.log.warn(message[, meta])
Log a warning to Mesa Logs.
Parameters
message
string
meta
object
Optional
Mesa.log.error(message[, meta])
Log an error to Mesa Logs.
Parameters
message
string
meta
object
Optional
Mesa.log.debug(message[, meta])
Log info to Mesa Logs only if the Automation is in Debug Mode.
Parameters
message
string
meta
object
Optional
Mesa.request.get(path, options)
Make a GET request to an external Rest API.
Parameters
path
string
options
Returns
Mesa.request.post(path, data, options)
Make a POST request to an external Rest API.
Parameters
path
string
data
object
options
Returns
Mesa.request.put(path, data, options)
Make a PUT request to an external Rest API.
Parameters
path
string
data
object
options
Returns
Mesa.request.patch(path, data, options)
Make a PATCH request to an external Rest API.
Parameters
path
string
data
object
options
Returns
Mesa.request.delete(path, options)
Make a DELETE request to an external Rest API.
Parameters
path
string
options
Returns
Mesa.request.send(method, path, data, options)
Make a request to an external Rest API.
Parameters
method
string
One of GET
, POST
, PUT
, PATCH
, or DELETE
path
string
data
object
options
Returns
Mesa.request.base64_encode(string)
Base-64 encode a string. This is helpful when building an Authorization
header for basic auth requests.
Parameters
string
string
The string to encode
Returns
string
The base-64 encoded version of the input string parameter.
Mesa.request.base64_decode(string[, strict])
Base64 decode a string. Decodes data encoded with MIME base64
Parameters
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
string
The decoded string.
Mesa.request.hash(algorithm, string[, base64encode])
Generate a hash of a string. This is helpful when creating signed requests.
Parameters
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
string
The raw binary data of the hash
Mesa.request.hashHmac(algorithm, string, string[, base64encode])
Generate a keyed hash value using the HMAC method. This is helpful when creating signed requests.
Parameters
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
string
The raw binary data of the hash
Mesa.request.sleep($seconds)
Pauses execution
Parameters
$seconds
int
Returns
Mesa.credential.get(key[, defaultValue])
Get a secret.
Parameters
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
string
The secret value.
Mesa.credential.set(key, value[, options])
Save a secret value.
Parameters
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
options.oauth_provider
bool
Optional
options.oauth_scope
object
Optional
options.trigger_type
object
Optional
Mesa.database.query(sql)
Get a storage item
Parameters
sql
string
The SQL query to run
Returns
array
The result of the query.
Mesa.storage.get(key[, defaultValue])
Get a storage item
Parameters
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
string
The storage value.
Mesa.storage.set(key, value)
Get a storage item
Parameters
key
string
value
string
Mesa.liquid.render(template, params)
Render a liquid template with the params
passed.
Parameters
template
string
String representing a liquid template.
params
object
A keyed object of parameters to replace.
Returns
string
The rendered template code.
Mesa.input.getWebhookUrl(type, format, automationId, key)
Generates the URL for input webhooks
Parameters
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
string
array
The rendered template code.
Mesa.output.next(payload, params)
Pass a payload to the service and call the next step in this Automation.
Parameters
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
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
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
filename
string
Typically passed from context.filename
.
Mesa.ftp.moveFile(filename, destinationFilenameAndPath)
Move the file loaded by the Input to a new location.
Parameters
filename
string
Typically passed from context.filename
.
destinationFilenameAndPath
string
Mesa.xml.decode(xmlString[, namespaceSep='_'])
Parameters
xmlString
string
The xml file to be decoded
namespaceSep='_'
string
Optional
Returns
object
Mesa.xml.encode(xmlObject[, wrapReplace, namespaceSep='_'])
Convert an object into an XML string.
Parameters
xmlObject
object
The object to be turned into xml.
wrapReplace
string
Replace the default wrapping provided with another value
Optional
namespaceSep='_'
string
Optional
Examples
Returns
string
Mesa.xml.valid(xmlString)
Check if xml is valid
Parameters
xmlString
string
Examples
Returns
bool
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
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
options.delimiter=','
string
The delimiter to use when parsing the CSV file. Must be a single character.
Optional
Returns
object
array
Mesa.csv.encode(data[, headerRow])
Convert an object a CSV string.
Parameters
data
object
headerRow
bool
Defaults to true
. Set to false
to skip the header row when returning CSV.
Optional
Returns
string
Mesa.vo.push(outputKey, payload)
Push to a Virtual Output.
Parameters
outputKey
string
payload
mixed
Mesa.vo.clear(outputKey)
Mark the matching Virtual Output records as cleared by the current Mesa Script.
Parameters
outputKey
string
Mesa.vo.clearOne(outputKey, mesaId)
Mark a single Virtual Output record as cleared by the current Mesa Script.
Parameters
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
timezone
string
Returns
string
The timezone identifier, like UTC or Europe/Lisbon.
{Object} RequestOptions()
Request options
Parameters
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
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
ifoptions.json
istrue
,string
ifoptions.json
isfalse
.
{Object} ResponseRaw()
Request response with headers when options.include_headers
is true
.
Parameters
body
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.
Last updated
Was this helpful?