Base

Base serves as the repository for all components that are common across all modules and remote procedures. Any elements placed in Base will be inherited by each module and remote procedure.

These components are:

Base URLAuthorizationError handlingSanitization
{
    "baseUrl": "",
    "headers": {},
    "qs": {},
    "body": {},
    "response": {},
    "log": {
        "sanitize": []
        },
    "oauth": {}
}

Key

Type

Description

baseUrl

String

If you want to use this base URL in a request, you need to start the URL of an endpoint with / character.

headers

Object

Default headers that every module will use.

qs

Object

Default query string parameters that every module will use.

body

Object

Default request body that every module will use when issuing a POST or PUT request.

response

Object

Default directives for handling response, such as error handling.

log

Object

Default directive for handling logs, such as sanitization of sensitive data.

Oauth 1 Parameter Specification

Collection of directives containing parameters for the OAuth 1 protocol.

Example

{
    "baseUrl": "https://my.api.cz/2.0",
    "headers": {
        "authorization": "Basic {{base64(connection.username + ':' + connection.password)}}"
    },
    "response": {
        "valid": {
            "condition": "{{body.status != 'error'}}"
        },
        "error": {
            "200": {
                "message": "{{ifempty(errors(body.message), body.message)}}"
            },
            "message": "[{{statusCode}}]: {{body.reason}}"
        }
    },
    "log": {
        "sanitize": [
            "request.headers.authorization"
        ]
    }
}

Common Data

Once the app becomes Approved, the Common Data gets locked and it cannot be changed anymore due to security reasons.

Common Data can be accessed by common.variable IML expression.

Common data are stored in encrypted form in Make.

Example

{
	"secret": "AABBCCDD"
}

As you can see, the secret is defined in the common data. Then it can be used in base and in all other communication objects inside modules and RPCs. Once the app becomes approved, it will not be possible to change the secret.

Last updated