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
stringThe 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
| 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
stringThe decoded string.
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
stringThe 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
| 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
stringThe raw binary data of the hash.
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
stringThe secret value.
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
arrayThe result of the query.
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
stringThe storage value.
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
stringThe rendered template code.
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
string``arrayThe rendered template code.
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
object
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
string
Mesa.xml.valid(xmlString)
Check if xml is valid.
Parameters
| Name | Type | Description |
|---|---|---|
| xmlString | string |
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
| 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
object``array
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
string
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
stringThe timezone identifier, like UTC or Europe/Lisbon.
{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:
- ResponseRaw if
options.include_headersistrue, objectifoptions.jsonistrue,stringifoptions.jsonisfalse.
{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. |