specs/models/M_CONN_FUNC

Connector Function

Connector functions are configured requests defined on connectors that apps can utilized for sending and receiving data to the source of the connector. They abstract over the specifics of SQL or HTTP to present a standard input and output signatures composed of known variable types. For example a function 'Get Work Orders' might have a signature such as:

INPUTS:
  1. Status (string)
  2. Customer (string)

OUTPUTS:
  1. Array of work orders
      - Delivery date (date)
      - Part ID (string)
      - Part count (number)

App editors can use these functions in apps without worrying about complex issues such as authentication, networking, how to write queries, HTTP headers, etc. Defining how the inputs are used to retrieve the data, is different for SQL and HTTP connectors.

Response Size Limits

All HTTP and SQL response payloads are limited to:

  • 20mb for Cloud Connector Host
  • 50mb for On-Prem Connector Host

If exceeded, a "400 PayloadSizeLimitReachedError" error will be returned.

Fields for all connector functions:

NameDescription
NameThe name of the connector
Is SavedOnce a connector function is saved the inputs and outputs can be modified only if the connector function is not being used by an App
Where UsedList of apps using a particular connector function
InputsThe composition of variable types an app must provide to call the connector function. Data types include: Text, Integer, Float, Boolean, Datetime.
OutputsThe composition of variable types an app can expect to receive from the connector function. Data types include: Text, Integer, Float, Boolean, Datetime and arrays of these data types.
Activation StatusA boolean that determines whether the connector function is active or deactivated
DescriptionA text description provided by the user who created the function (optional)

Additional fields for SQL connector functions:

FieldDescription
Use multiple rowsA boolean value that indicates whether the expected output is a single object matching the defined outputs, or an array of objects matching the defined output.
QueryThe SQL query used to retrieve the data. The query can utilize connector inputs in its definition. More on SQL queries

Additional fields for HTTP connector functions:

FieldDescription
HTTP Request MethodOne of: GET, HEAD, POST, PUT, PATCH, DELETE more info
AuthenticationIf the authentication is unset at the connector level, it can be set at the function level.
Request HeadersA list of request header key/value pairs. These values can utilize input values.
URL PathThe path portion of the HTTP request. The path can utilize input values.
Query ParametersA list of key/value pairs that are added to the query portion of the request URL. These values can utilize input values.
Request BodyThe request body can be one of four types: JSON, form URL-encoded, plain text or XML. The request body can utilize input values.
Response BodyWhether the response body is JSON or XML. This setting determined how extracts are used to determine output values.
Outputs extractorsFor HTTP connectors each output must also define the extractor for retrieving the data from the body, header or cookie of the HTTP response.
Encoding SettingsFor HTTP connectors, function input for text data type can have a custom encoding schema which allows escaping non reserved characters.

Input Encoding Settings

The inputs to connector functions of the following types can have unique encoding selected:

  • Text
  • Image

Text Input Encoding Options

TypeDescription
Automatic EncodingCharacters will be escaped according to the location of usage. For more information visit Tulip knowledge base
No EncodingNo characters will be escaped. This may cause errors in the path or query if any characters besides the following are passed through: A-Z a-z 0-9 - _ . ! ~ * ' ( )
Path encodingAll characters except the following will be escaped:A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
Query encodingAll characters except the following will be escaped: A-Z a-z 0-9 - _ . ! ~ * ' ( )
Base64 encodingThe text will be Base64 encoded

Image Input Encoding Options

| Type | Description | | Image URL | The url to the cloud hosted image will be used within the connector. This input can be used anywhere text can be used within function configuration. | | Base64 | The image will be encoded as base64. This input can be used anywhere text can be used within function configuration. | | File | The image will be encoded as multi-part form data. It can only be used within the files section of the payload configuration. When files are included in the payload, only JSON encoded payloads can be configured. |

Fields for read-only connector functions:

NameDescription
NameThe name of the connector
Read onlyRead-only connector functions are used by published apps which cannot be modified. Users with the right permissions can test the read only connector function. This states the app and the version of the app using the read-only connector function
InputsThe composition of variable types an app must provide to call the connector function. Data types include: Text, Integer, Float, Boolean, Datetime.
OutputsThe composition of variable types an app can expect to receive from the connector function. Data types include: Text, Integer, Float, Boolean, Datetime and arrays of these data types.
Activation StatusA boolean that determines whether the connector function is active or deactivated
DescriptionA text description provided by the user who created the function (optional)

Tests

IDName
QA-T57Variable Widget : 02 - Record View: Compound variables can be used with triggers
QA-T148SQL Connectors : 02 - Add Function to SQL Connector
QA-T240HTTP Connectors : 02 - Add several functions to HTTP Connector
QA-T725HTTP Connectors : 04 - Extractors for Non-Json Formats and Cookies
QA-T726SQL Connectors : 03 - Verify different SQL Servers
QA-T727HTTP Connectors : 03 - OAuth 2 Admin/Operator
QA-T728HTTP Connectors : 05 - Non-2xx Responses
QA-T729HTTP Connectors : 06 - HTTP Connector Functions perform the same with TLS on/off
QA-T731HTTP Connectors : 07 - OAuth 2 send request data as JSON
QA-T810mobile : 12 - HTTP Connectors : 03 - OAuth 2 Admin/Operator
QA-T840HTTP Connectors : 08 - URL encoding function

Requirements

No requirements