Integray Endpoint connector allows us to communicate with internal endpoints by HTTP protocol with basic request types i.e. POST
, GET
, and GET New data
.
The connector simplifies the work with the internal endpoint. Compared to the Rest API connector, here, you don't need to specify:
-
Rest API connection i.e. URI and authorisation,
-
Rest API endpoint i.e. endpoint, data content type, endpoint headers.
Integray endpoint connector will do above mentioned based on your selected Company and Endpoint. Your task will remain to select the request type, configure the timeout, define the output format type, and in the case of the POST request type, specify the Data i.e. the body content.
If you select GET New data
as the request type, the connector will ensure that the get method will read only the new data based on the data checkpoint. The data checkpoint is the time stamp in DateTime format. The data checkpoint also considers the endpoint data's unique ID to be able to differentiate if there would be more endpoint data read with the same time stamp.
Configurations
Integray endpoint
Request type
Request type | CRUD | Description |
---|---|---|
POST | Create | Used to send data to the server to create a new resource. |
GET | Read | Used to retrieve existing data from the server. |
GET New data | Read | Primarily used for endpoints not associated with tasks, to fetch new data stored for the endpoint. |
Timeout
Sets the number of seconds to wait before the request times out. The default value is set to 100.
Limit
Defines and limits the number of endpoint point data records read by GET New data
request type. This configuration is available for this request type only.
Fail on error response
If checked, it throws an error for non 2xx response.
Data
Request body
that should be in JSON format.
The input data can be referred by using placeholders:
${input.ObjectID}
will be replaced by value inObjectID
property of connector's input data${input}
placeholder will be replaced by whole input data
{
"Task": ${input.Task},
"IsActive": ${input.IsActive}
}
${input}
Query parameters
Query parameters are the most common type of parameters. They appear at the end of the request URL after a question mark (?
), with different name=value
pairs separated by ampersands (&
). Query parameters can be required and optional.
Query parameters are defined and visible for GET requests only and will function correctly with endpoints that are invoked using the GET method
The values can be defined directly or by using a placeholder ${input.<columnName>}
.
Key | Value |
---|---|
Type | Mammal |
Name | Elephant |
Output format type
Select returned data type:
-
Base64
- Data will be returned as Base64 string. -
Text
- Data will be returned as plain text - use OutputEncoding property to set the output data character encoding type. -
JSON
- data will be returned as a JSON object
Output encoding
The character encoding used to convert the bytes to text.
Company
Select the company in which the internal Integray endpoint is defined.
Endpoint
Select internal Integray endpoint that will be called. The dropdown contains endpoints based on the selected company.
Data
The data field is available only for the request type: POST
.
If the input schema is selected, its data can be accessed by the following placeholders:
Placeholder | Description |
---|---|
${input} |
Replaced by whole input |
${input.property} |
Replaced by a single cell of input |
Using placeholders
The placeholders can be used to dynamically create content for the request body
or to modify the configurations.
Input data can be referred by using the placeholders:
-
${input.ObjectID}
will be replaced by the value inObjectID
property of the connector's input data. -
${input}
placeholder will be replaced by the whole input data.
Placeholders for body content creation
The body content can be configured directly or can be generated based on the input by the usage of the placeholders. The final JSON or XML (based on configuration) takes into account also the data type of the input columns. For example, the numbers are in JSON as numbers (without double quotes).
Assume the connector input data in the following format:
ID (Number) | Name (String) | Items (Complex) |
---|---|---|
1 | Alice | [{"ID":1},{"ID":2}] |
2 | Bob | [{"ID":3},{"ID":4}] |
Examples of using single cell
placeholders for the request body
creation for JSON
format. In this way also the Complex
or JSON
types can be serialized.
{
"CustomerID": ${input.ID},
"CustomerName": ${input.Name},
"IsActive": true,
"ItemIDs": ${input.Items}
}
request body
[
{
"CustomerID": 1,
"CustomerName": "Alice",
"IsActive": true,
"ItemIDs":
[
{"ID":1},
{"ID":2}
]
},
{
"CustomerID": 2,
"CustomerName": "Bob",
"IsActive": true,
"ItemIDs":
[
{"ID":3},
{"ID":4}
]
}
]
or the whole body
placeholder
${input}
will generate the following request body
which uses the property names as the column names from the input schema
[
{
"ID": 1,
"Name": "Alice",
"Items":
[
{"ID":1},
{"ID":2}
]
},
{
"ID": 2,
"Name": "Bob",
"Items":
[
{"ID":3},
{"ID":4}
]
}
]
${input.Items}
Complex
type
[
{"ID":1},
{"ID":2}
]
Input & Output Schema
Input
Data schema is optional
The connector does not expect a specific schema. The required data structure can be achieved by correct configuration. Although the selected connector doesn't require a schema generally, the individual integration task step may need to match the output data structure of the preceding task step and use a data schema selected from the repository or create a new input schema.
Output
Rest API output (ver. 2.1.0)
Column | Data type | Allow null | Description |
---|---|---|---|
StatusCode | String | No | HTTP response status code |
Headers | Rest API header 1.0.0 |
Yes | Received HTTP headers as key/value pairs |
Content | Base64 | Yes | Serialized content of HTTP response into Base64 |
ContentText | String | Yes | Serialized content of HTTP response into string |
ContentJSON | JSON | Yes | Serialized content of HTTP response into JSON |
Rest API header (ver. 1.0.0)
Column | Data type | Allow null | Description |
---|---|---|---|
Key | String | No | Header name |
Value | String | Yes | Header value |
In addition to the content, the output also contains the StatusCode
and the Headers
of the response.
For more information about status codes, see the document HTTP response status codes and the HTTP Headers.
Example
Output data for OutputFormat set to Base64: Rest API Output 2.1.0
StatusCode: String |
Content: Base64 |
Headers: Rest API Header 1.0.0 |
---|---|---|
201 | ewogICAgIlN1Y2Nlc3MiOnRydWUKfQ== | Output headers data |
Output headers data: Rest API Header 1.0.0
Key: String |
Value: String |
---|---|
Transfer-Encoding | chunked |
Connection | keep-alive |
Cache-Control | private |
Date | Thu, 17 Feb 2022 19:58:36 GMT |
Server | nginx/1.14.1 |
X-AspNet-Version | 4.0.30319 |
X-Powered-By | ASP.NET |
where decoded response Content
is:
{
"Success":true
}
Output data for OutputFormat set to Text: Rest API Output 2.1.0
StatusCode: String |
ContentText: String |
Headers: Rest API Header 1.0.0 |
---|---|---|
201 | { "Success":true } | Output headers data |
Output headers data: Rest API Header 1.0.0
Key: String |
Value: String |
---|---|
Transfer-Encoding | chunked |
Connection | keep-alive |
Cache-Control | private |
Date | Thu, 17 Feb 2022 19:58:36 GMT |
Server | nginx/1.14.1 |
X-AspNet-Version | 4.0.30319 |
X-Powered-By | ASP.NET |
Release notes
4.6.0
Added support for query parameters.
4.5.0
- Plugin binaries update as a result of included connector change.
4.4.0
4.3.0
- Added method for downloading new endpoint data.
4.1.4
- Added method for downloading new endpoint data.
4.1.3
- Add current TaskRunId into the custom int-parent-taskrun-id header.
4.1.0
- Plugin binaries update as a result of included connector change.
4.0.1
- Plugin binaries update as a result of included connector change.
4.0.0
- Plugin binaries update as a result of included connector change.