Skip to content
background-image background-image

Integray Endpoint Connector

[ | version 4.6]

Connector

The connector is permitted for use of the platform background agent.

Connector processing type: Both (Row by row & Bulk), Default type: Row by row!

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 in ObjectID property of connector's input data
  • ${input} placeholder will be replaced by whole input data

{
    "Task": ${input.Task},
    "IsActive": ${input.IsActive}
}
or
${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 in ObjectID 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}
}
will generate 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}
    ]
  }
]
for the input where just one row is present, following placeholder

${input.Items}
will generate an array of rows from the 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.