Skip to main content
Skip table of contents

25.0.0 API Changelog

Breaking changes

Removed endpoints

  • GET /drafts/preview/:id

Updated isolation library used for transition actions

We have updated the library that is used to run the transition actions in an isolated environment. These are the changes:

All actions are now synchronous

You no longer have to use the await when calling certain actions (but it will still be working with it).

Replaced action getFileStream

It is no longer possible to obtain a file stream in the isolated environment. Instead, use a new action getFile(hash) that returns an object with a file buffer.

CODE
const fileData = actions.getFile('fileHash');
const buffer = fileData.buffer;

Updated action callURL

Action callURL(resource, options, isolatedOptions) now accepts three arguments and always returns an object. This action still internally uses a fetch library and the first two arguments are not changed.
But instead of returning a fetch "Response" object with functions like .text() or .json(), it will always return a plain object with properties:

CODE
{
    body: <string> | <Object>
    status: <number>,
    statusText: <string>,
    headers: Record<string, string>
}

By default, you will get the response text as a string in the body property.

If you need to get the response as a JSON, you can specify json: true as the third argument.

CODE
const response = actions.callURL('https://www.url.com/getJson', void 0, { json: true });
const jsonResponse = response.body;

To send the file, you can use the buffer returned from the getFile action:

CODE
const fileData = actions.getFile('fileHash');
actions.callURL('https://www.url.com/sendBuffer', { method: 'POST', body: fileData.buffer });

To send the data as multipart/form-data, you have to specify a custom array body and formdata: true as the third argument (FormData interface is no longer available):

CODE
const fileData = actions.getFile('fileHash');
actions.callURL('https://www.url.com/sendForm', {
    method: 'POST',
    body: [{
        key: 'propertyName',  //Text property
        value: 'propertyValue'
    }, {
        key: 'file',  //File property
        value: fileData.buffer,
        mimetype: fileData.mimetype,
        filename: fileData.name
    }]
}, { formdata: true });

To send the data as application/x-www-form-urlencoded, you have to specify a custom object body and urlencoded: true as the third argument (URLSearchParams interface is no longer available):

CODE
actions.callURL('https://www.url.com/sendUrlEncoded', {
    method: 'POST',
    body: {
        propertyA: 'AValue',
        propertyB: 'BValue'
    }
}, { urlencoded: true });

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.