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
      },