> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTP Connector

> Learn how to build a custom HTTP connector with the YiDA Connector Factory to integrate DingTalk apps, in-house systems, or third-party systems, including how to create and configure the connector.

| **Feature**    | **Free plan** | **Basic edition** | **Professional edition** | Dedicated edition |
| -------------- | ------------- | ----------------- | ------------------------ | ----------------- |
| HTTP connector | 1             | 1                 | Unlimited                | Unlimited         |

## Step 1: Create a Connector

<Steps>
  <Step title="Step 1">
    Sign in to the [YiDA workbench](https://www.yidaapps.com/workPlatform) as an admin.
  </Step>

  <Step title="Step 2">
    Click **Platform management** in the upper-right corner to open the platform management page.
  </Step>

  <Step title="Step 3">
    In the left-side menu, click **Connector Factory**, click **Create connector**, and then select HTTP connector.
  </Step>
</Steps>

<Steps>
  <Step title="Configure the basic information for the connector by referring to the following details, and then click Next" />

  <Step title="Configure the Authentication type by referring to the following details" />
</Steps>

| **Authentication type**               | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| No authentication                     | No credentials are required to call the API. This is typically used for public APIs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Basic authentication                  | Standard HTTP Authorization. The request header contains credentials that the server uses to verify the identity of the user agent. Add the Base64-encoded account and password to the header, for example, `Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l`.<br />Encoding format: `account:password`.<br />You only need to configure the labels for the account and password fields, which tell users what to enter when registering credentials.<br />• **username label**<br />• **password label**                                                                 |
| API key                               | The **API key** authentication method. The API key is valid long-term (store it securely). The requester generates a secret key in the target system, and developers can then use this credential to call public APIs that support this authentication method.<br />• **Parameter label**: Displayed as a prompt when configuring credentials.<br />• **Parameter name**: The apiKey name required by the system.<br />• **Parameter location**: Choose whether to send the credential as a query parameter or in the header, based on what the target system requires. |
| Alibaba Cloud API Gateway             | After you create the connector, add a credential template. Once the App Code is entered in the template, you can call the corresponding Alibaba Cloud API.<br />For more information, see [Call APIs by using AppCode authentication](https://help.aliyun.com/document_detail/115437.html).                                                                                                                                                                                                                                                                             |
| DingTalk Open Platform authentication | After you create the connector, add a credential template. Once the `App Key` and `App Secret` are entered in the template, you can call DingTalk Open Platform APIs (including some YiDA APIs).<br />After the credential template is added, YiDA automatically generates the `access_token` through authentication and adds it to the `Header` parameter `x-acs-dingtalk-access-token` for each request. You do not need to generate it again.<br />For more information, see DingTalk app development process.                                                       |
| DingTalk Zero Trust Gateway           | For details on how to use the DingTalk Zero Trust Gateway, see DingTalk Open Platform - Zero Trust Gateway authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                              |

## Step 2: Create an Action

On the action page, click **Create action**, and then configure the settings based on the following information.

| **Name**          | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Basic information | Configure the basic information for the current action.<br />• **Unique identifier**: Used to distinguish between different actions.<br />• Action name: The name of the action.<br />• Action description: The description of the action.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| API request       | Configure the API endpoint that the current action calls when triggered.<br />• **Request URL**: The API request link. The request domain is automatically populated with the connector's domain.<br />• **HTTP method**: Supports GET, POST, DELETE, PUT, HEAD, OPTIONS, PATCH, and other methods.<br />• **Query**: The request parameters, typically appended after the question mark `?` in the URL. Click the plus sign to add one.<br />• **Body**: For POST requests and similar methods, a body field may also be included. It supports parsing using JSON.<br />• **Headers**: Customize additional request headers here. Only static configuration is currently supported.<br />• **Path**: Variables in the URL enclosed in curly braces, such as `{pathParam}`, where `pathParam` is the variable name.<br />**Note**: request parameters support the system fields for signed-in user ID and organization ID. |
| API response      | Configure the expected response after a successful API call. Supports JSON parsing.<br />**Note**: If the API returns a non-JSON object, it cannot be used directly in integration & automation. You must parse it in a script node yourself.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

## Step 3: Configure Authentication

Every custom connector must have a corresponding request authentication scheme, even for **No authentication**.

1. Create an account

On a configured connector, click Test to select an authentication account. You can also add a new authentication account at this step.

2. Enter the account display name, App Key, App Secret, and other information, and then click Confirm.

## Step 4: Test the Connector

<Steps>
  <Step title="On the connector details page, click Test in the upper-right corner" />

  <Step title="Select the authentication to use, and configure the test parameters" />

  <Step title="Click Test. If the expected result appears, the configuration is successful" />
</Steps>
