This section allows setting up integration with external sources that support HTTP protocol, such as REST and SOAP. The following settings are available.
Settings
Setting | Available values | Setting Purpose |
---|---|---|
Connector type | HTTP | Type of connection protocol |
Scheme loaded | true, false | True if API schema (Swagger/OpenAPI 3.0) was successfully loaded |
Scheme address | - | Path to the API schema (Swagger/OpenAPI 3.0) |
Base address | - | Base API Scheme Address |
Authorization type | None, Basic, Bearer, Custom Header, Open Auth | Authorization type |
User name | *Only for Basic | User name to be used for API access |
Password | BasicOnly for Basic | User password to be used for API access |
Token | *Only for Bearer | Authorization token |
Custom header | *Only for Custom Header | |
Custom value | *Only for Custom Header | |
Token endpoint | *Only for Open Auth | URL for requesting authorization token |
Client Id | *Only for Open Auth | Client ID requesting authorization |
Client secret | *Only for Open Auth | Client secret |
Scope | *Only for Open Auth | Scope for requested authorization token |
Please note that for Open Auth type of authorization, an authorization token is automatically requested each time HTTP connector is used.
We use IdentityServer4 for OAuth authentication. You can read more about it at https://identityserver4.readthedocs.io/en/latest/.
Example of HTTP schema with GET and POST requests
{
"info": {
"title": "API Documentation",
"version": "API: 1.0 / Service:1.0.0.0"
},
"paths": {
"/api/v1/dw/demo-data/persons": {
"get": {
"tags": [
"Persons"
],
"responses": {
"200": {
"content": {
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/demo-data:PersonInfo"
}
}
},
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/demo-data:PersonInfo"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/demo-data:PersonInfo"
}
}
}
},
"description": "Success"
}
}
},
"post": {
"tags": [
"Persons"
],
"responses": {
"200": {
"description": "Success"
}
},
"requestBody": {
"content": {
"text/json": {
"schema": {
"$ref": "#/components/schemas/demo-data:PersonCreate"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/demo-data:PersonCreate"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/demo-data:PersonCreate"
}
},
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/demo-data:PersonCreate"
}
}
}
}
}
},
"openapi": "3.0.1",
"components": {
"schemas": {
"demo-data:PersonInfo": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"birthDate": {
"type": "string",
"format": "date-time"
},
"firstName": {
"type": "string",
"nullable": true
},
"middleName": {
"type": "string",
"nullable": true
},
"secondName": {
"type": "string",
"nullable": true
},
"departmentId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"noMiddleName": {
"type": "boolean"
}
},
"additionalProperties": false
},
"demo-data:PersonCreate": {
"type": "object",
"required": [
"birthDate",
"firstName",
"secondName"
],
"properties": {
"birthDate": {
"type": "string",
"format": "date-time"
},
"firstName": {
"type": "string",
"minLength": 3
},
"middleName": {
"type": "string",
"nullable": true
},
"secondName": {
"type": "string",
"minLength": 3
},
"noMiddleName": {
"type": "boolean"
}
},
"additionalProperties": false
},