### API Configuration Example - Complete Setup Source: https://help.fanruan.com/finedatalink/doc-view/-558_from=xuanchuan&source=0 Complete example showing API base configuration including endpoint setup, authentication, request body formatting, and parameter definition for paginated data retrieval from business databases. ```APIDOC ## Complete API Configuration Example ### Description Full configuration example for setting up paginated API data retrieval in FineDataLink scheduled tasks. ### API Endpoint Configuration #### Base Setup - **Request Method**: POST - **Content-Type**: application/json - **Authentication**: Configure if required by API #### Request Body Example ```json { "paging": { "pageNum": 1, "pageSize": 10 }, "params": [ { "name": "dtime", "value": "2010-07-13 00:00:00" } ] } ``` ### Parameter Configuration #### Custom Parameters - **Parameter Name**: dtime - **Parameter Value**: 2010-07-13 00:00:00 (filters data from this date forward) - **Type**: String #### Pagination Parameters - **pageNum**: Current page number (starts at 1) - **pageSize**: Records per page (set to 10 in this example) ### Data Extraction Configuration #### Step 1: Initial API Call - Execute first API call with pageNum=1, pageSize=10 - Retrieve totalNum and pageSize from response #### Step 2: Calculate Total Pages ```sql select CEILING(`totalNum`/ `pageSize` ) from API输入 ``` - Result stored in total_pages parameter - Example: 100 total records ÷ 10 per page = 10 pages #### Step 3: Batch Data Retrieval - Set pagination strategy: "页码" (page number based) - Initial value: 1 - Increment: 1 - Continue while pageNum <= total_pages #### Step 4: Data Sync Configuration - **API Parameter 1**: pageSize = 10 - **API Parameter 2**: pageNum = ${pageNum} (pagination parameter) - **Response Format**: JSON - **Target Database**: Specify output database - **Target Table**: Specify output table ### Expected Output - All pages fetched sequentially - Combined into single dataset - Stored in target database table - Total records = totalNum from API response ### Important Notes - pageSize must be consistent across all configuration steps - totalNum and pageSize must be auto-identified fields from API input - Manual value entry will cause calculation errors - Verify API response format is JSON for proper parsing ``` -------------------------------- ### Postman API Call Examples Source: https://help.fanruan.com/finedatalink/doc-view/-124 Provides step-by-step examples of calling GET and POST requests using Postman. ```APIDOC ## 2.3 Calling APIs in Postman This section provides examples of calling GET and POST requests in Postman. #### 2.3.1 GET Request **Example API:** Get access_token when calling the Enterprise WeChat API: Get access_token **Complete example of calling this interface in FDL can be found in:** API Data Acquisition - Get Enterprise WeChat Personnel Information | Content | Example API Description | |---|---| | Interface Description | Get access_token when calling the Enterprise WeChat API. | | Interface Permissions | When calling the interface, pass the `secret` of the application to be used. | | Interface Address | `https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET` | | Request Method | GET | | Request Parameters | (Parameters are typically URL-based for GET requests) In a GET request, `/Params` or `/Querys` are passed as URL parameters. In Postman, you can directly use the URL parameter format or fill in the `KEY` and `VALUE` in the `Params` section, and it will be automatically appended. After clicking the Send button, the returned content is shown in the figure below. This completes a successful GET request API call. ``` ```APIDOC #### 2.3.2 POST Request POST requests typically consist of a URL, Headers, and Body. If `Params` or `Querys` are encountered in POST request documentation, they should be passed as URL parameters similar to GET requests. Parameters in POST request documentation generally refer to the Body. **Example API:** Get accessToken for internal enterprise applications **Complete example of calling this interface in FDL can be found in:** API Data Acquisition - DingTalk Get Department List | Content | Example API Description | |---|---| | Interface Description | Internal enterprise applications call this interface to obtain accessToken. | | Interface Permissions | | | Interface Address | `https://api.dingtalk.com/v1.0/oauth2/accessToken` When calling this API, the parameter in the Headers is `Content-Type`, with the value `application/json` (this parameter is available by default in Postman when the POST request method is selected). Lines 5-8 in the image below represent the Body content. | | Request Method | POST | | Request Parameters | Parameters are within the Body. | | Response Content | | | Error Codes | | | Example | Example The Postman call for this interface is shown in the figure below. After clicking the Send button, the returned content is shown in the figure below. This completes a successful POST request API call. ``` -------------------------------- ### Operation Steps: Creating an API Source: https://help.fanruan.com/finedatalink/doc-view/-248 Provides a step-by-step guide on creating a new API in FineDataLink, covering the initial setup and configuration. ```APIDOC ## Operation Steps Creating a new API involves two main steps: Service Content (Data Query) and API Interface Configuration. ### 3.1 New API 1. Navigate to your FDL project. 2. Click on "Data Service". 3. In an authorized path, click to create a new "Interface Service". 4. Set the API's path and name, then click "Confirm". **Field Descriptions:** | Setting Item | Description | |---|---| | Directory | Supports modification. | | Name | Configure API name. API names must be unique and cannot be empty. Maximum length is 50 characters. Required. | | Description | Configure API description. Maximum length is 100 characters. Optional. | ``` -------------------------------- ### API Creation and Configuration Steps Source: https://help.fanruan.com/finedatalink/doc-view/-248_from=xuanchuan&source=0 Provides a step-by-step guide on how to create and configure a new API in FineDataLink, covering the initial setup, service content definition (SQL, Table Selection, Stored Procedure), and API interface configuration. ```APIDOC ## 3. Operation Steps After creating a new API, you need to complete two steps for its design: **Service Content (Data Query)** and **API Interface Configuration**. ### 3.1 New API 1. Navigate to your FDL project. 2. Click on "Data Services". 3. Within an authorized path, click "New Interface Service". 4. Set the API path and name, then click "Confirm". **Settings Description:** | Setting | Description | |---|---| | **Directory** | Supports modification. | | **Name** | Configures the API name. API names must be unique and cannot be empty. Maximum length is 50 characters. Required. | | **Description** | Configures the API description. Maximum length is 100 characters. Optional. | ### 3.2 Service Content (Data Query) #### 3.2.1 Configuration Method The "Configuration Method" allows you to choose between **SQL**, **Select Table** (added in version 4.1.3), or **Stored Procedure** (added in version 4.2.12.2). **1) SQL** * Query data from tables in the source database using SQL statements. * Supports referencing parameters (see [Parameter Overview] for details). * You can select a specific database, search for required tables within that database, and write your SQL query in the input box on the right. **2) Select Table** | Setting | Description | |---|---| | **Source Table** | Select the source table. Cannot be empty. In versions 4.1.11.5 and later, when 'Select Table' is chosen, the database or schema of the selected table is displayed. | | **Select Partial Fields** | In versions 4.1.13.2 and later, you can select specific fields. If all fields are selected, new fields added later will not be automatically included. Unselected fields can be found using suggestions in the 'Data Filtering' function. To deselect a field, use one of the two provided methods. In 'Return Value Configuration', only selected fields are shown. | | **Table Description** | Displays the table remarks. Not supported for databases: ClickHouse, Hive, Impala, TRANSWARP INCEPTOR, Informix, MaxCompute, SQLite, StarRocks. | | **Data Filtering** | - Can be empty.
- Allows filtering of source table data using WHERE clause syntax (without the `WHERE` keyword) specific to the selected database.
- Supports referencing various parameters.
- Supports linking parameter values and linking to fields in the data table.
- Does not support `LIMIT` statements. | **3) Stored Procedure** | Setting | Description | |---|---| | **Data Connection** | When the database type is MySQL, Oracle, or SQLServer, the configuration method supports selecting stored procedures. Note: The user needs query and execution permissions for the stored procedure. Configuration methods may vary by database. | | **Select Stored Procedure** | Select an existing stored procedure. **The selected stored procedure must have a result set.** | | **SQL Statement Preview** | Allows viewing the stored procedure's SQL statement. Read-only. | | **Parameter Name, Parameter Type, Parameter Direction** | - Previews existing input parameters in the stored procedure. Parameter name, type, and direction **cannot be modified**.
- Parameter debug values can be modified in two places (changing a value in one updates the other):
* Click "Data Preview" to enter debug values.
* Set debug values in "Parameters and Variables - Service Input Parameters" (Section 3.2.5).
- Parameter debug values do not support referencing parameters. | | **Return Result Set & Specify Result Set** | - After selecting a stored procedure, the "Return Result Set" automatically displays the result set type: Query Result Set, Cursor Result Set.
- **When the result set type is 'Query Result Set'**: You can click "Select" in "Specify Result Set" to preview and select data from the result set. Note: If a result set preview fails, it cannot be selected.
- **When the result set type is 'Cursor Result Set'**: You must "Select Cursor". The cursor defaults to the first cursor in the stored procedure.
- MySQL and SQLServer only support Query Result Sets. Oracle only supports Cursor Result Sets, limited to the `out` type `resultset`. | ``` -------------------------------- ### Example JSON for DPFineDBVersionStore Configuration Source: https://help.fanruan.com/finedatalink/doc-view/-264 Shows an example of the entity_value JSON format for the DPFineDBVersionStore namespace in the fdl_conf_entity_x table. It specifies the current version of the system. ```json { "version": "4.1.5.5" //当前版本号,必须字段} ``` -------------------------------- ### Example JSON for DPFineBackupStore Configuration Source: https://help.fanruan.com/finedatalink/doc-view/-264 Provides an example of the entity_value JSON format for the DPFineBackupStore namespace in the fdl_conf_entity_x table. This value indicates whether backup is enabled or disabled. ```json "true"/"false" ``` -------------------------------- ### WEEK Function Examples - FineDataLink Source: https://help.fanruan.com/finedatalink/doc-view/-387 Provides practical examples of the WEEK function in FineDataLink, illustrating its behavior with different date inputs and parameter settings (F1/F7). It also shows how the 'Week Start' setting in the platform affects the results and demonstrates usage with numeric date representations. ```FineDataLink Formula // Example with platform setting 'Week starts on Monday' // Date: 2021-01-03 WEEK(F7) // Result: 52 (First full week starts 2021-01-04) WEEK(F1) // Result: 1 (First week contains 2021-01-01) // Example with platform setting 'Week starts on Sunday' // Date: 2021-01-03 WEEK(F7) // Result: 1 (First full week starts 2021-01-03) WEEK(F1) // Result: 2 (First week is 2021-01-01 to 2021-01-02) // Other Examples: WEEK() // Result: 52 (for server time 2010-1-1 15:36:25) WEEK("2010/1/1") // Result: 52 WEEK("2010/1/1", "F1") // Result: 1 WEEK("2010/1/6") // Result: 1 WEEK(35796) // Result: 52 (assuming 35796 is a valid date serial number) ``` -------------------------------- ### Data Service API Usage Examples Source: https://help.fanruan.com/finedatalink/doc-view/-680_from=xuanchuan&source=0 Examples of how to call Data Service APIs using different HTTP methods (GET and POST) and content types. ```APIDOC ## Data Service API Usage Examples ### Description This section provides examples of how to call APIs published through the FineDataLink Data Service using different HTTP methods and request body formats. ### GET Request Example: * **Endpoint:** `[Your FDL Server]/api/service/{applicationName}/{apiName}` * **Method:** `GET` * **Query Parameters:** Pass parameters in the URL query string. ### POST Request Example (application/json): * **Endpoint:** `[Your FDL Server]/api/service/{applicationName}/{apiName}` * **Method:** `POST` * **Headers:** `Content-Type: application/json` * **Request Body:** ```json { "param1": "value1", "param2": "value2" } ``` ### POST Request Example (x-www-form-urlencoded): * **Endpoint:** `[Your FDL Server]/api/service/{applicationName}/{apiName}` * **Method:** `POST` * **Headers:** `Content-Type: application/x-www-form-urlencoded` * **Request Body:** `param1=value1¶m2=value2` ### Related Topics: * Using APIs Published by Data Service (GET Request) * Using APIs Published by Data Service (POST application/json Request) * Using APIs Published by Data Service (POST x-www-form-urlencoded Request) ``` -------------------------------- ### GET /api/data-service - Call Authenticated API with Query Parameters Source: https://help.fanruan.com/finedatalink/doc-view/-825 This example demonstrates how to invoke a FineDataLink data service API using the GET method with digest signature authentication. Query parameters must be included in both the API path and the signature generation process. ```APIDOC ## GET /api/data-service/{appId}/{apiPath} ### Description Invokes a FineDataLink data service API using GET method with digest signature authentication. Query parameters must be included in the API path during signature generation and API invocation. ### Method GET ### Endpoint /{appId}/{apiPath}?{queryParameters} ### Path Parameters - **appId** (String) - Required - Application ID - **apiPath** (String) - Required - API path with query parameters (e.g., api01?a=1&b=2) ### Query Parameters Include all parameters in the URL: - **a** (String) - Example parameter 1 - **b** (String) - Example parameter 2 - Additional parameters as required by the API ### Request Headers - **Authorization** (String) - Required - Digest signature from fdlzhaiyaoencry function with empty contentType parameter - **Content-Type** (String) - Optional - application/json ### Signature Generation for GET When generating signature for GET requests: - **method**: "GET" (uppercase) - **contentType**: "" (empty string) - **apiPath**: Include query parameters (e.g., "api01?a=1&b=2") - **requestBody**: "" (empty string for GET) ### SQL Example for GET Signature ``` select fdlzhaiyaoencry("b7ca33fa-d19f-4c1a-8e98-1e2b400b6f8b","GET","","93ee041b-914a-4f80-bbea-a200611b18f7/api01?a=1&b=2","") AS A ``` ### Request Example ``` GET /93ee041b-914a-4f80-bbea-a200611b18f7/api01?a=1&b=2 HTTP/1.1 Host: 192.168.5.175:8089 Authorization: HMAC-SHA256 Signature=,Nonce=,Timestamp= ``` ### Response #### Success Response (200 OK) - **data** (Array) - Array of data records matching query parameters - **status** (String) - Request status #### Response Example ``` { "data": [ { "id": 1, "name": "Result 1", "category": "a" } ], "status": "success" } ``` ### Error Responses #### 401 Unauthorized ``` { "code": 401, "message": "Invalid signature or expired timestamp" } ``` #### 400 Bad Request ``` { "code": 400, "message": "Invalid query parameters" } ``` ### Implementation Notes - For GET requests, contentType must be an empty string when generating the signature - Query parameters must be included in the apiPath parameter when calling fdlzhaiyaoencry - URL encode special characters in query parameter values - The signature includes the full path with query parameters - Regenerate signature before each request due to timestamp and nonce expiration ``` -------------------------------- ### Calling an API Source: https://help.fanruan.com/finedatalink/doc-view/-248 Provides guidance on how to call deployed APIs, with links to specific documentation for GET, POST (application/json), and POST (x-www-form-urlencoded) requests. It also explains how to obtain the complete API path. ```APIDOC ## Calling an API ### Description Provides guidance on how to call deployed APIs, with links to specific documentation for GET, POST (application/json), and POST (x-www-form-urlencoded) requests. It also explains how to obtain the complete API path. ### Method GET, POST ### Endpoint [Full API Path] ### Parameters #### Path Parameters Depends on the API definition. #### Query Parameters Depends on the API definition. For GET requests, parameters are appended to the URL. #### Request Body For POST requests, the body format depends on the configured 'requestBodyFormat'. ### Request Example ```bash # Example for a GET request curl http://your-api-server.com/api/resource?param1=value1 # Example for a POST (application/json) request curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' http://your-api-server.com/api/resource # Example for a POST (x-www-form-urlencoded) request curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'param1=value1¶m2=value2' http://your-api-server.com/api/resource ``` ### Response #### Success Response (200) - **Data** (any) - The data returned by the API. #### Response Example ```json { "message": "API call successful.", "data": [ // ... returned data ... ] } ``` ### Notes - Refer to the following documentation for detailed calling instructions: - Using Data Service Published APIs (GET Request) - Using Data Service Published APIs (POST application/json Request) - Using Data Service Published APIs (POST x-www-form-urlencoded Request) - The complete API path can be obtained from the API configuration interface. ``` -------------------------------- ### API Deployment and Testing Source: https://help.fanruan.com/finedatalink/doc-view/-248 Describes the process of saving and deploying an API, including error handling for incomplete configurations and the availability of a 'Test Call' button for debugging. ```APIDOC ## API Deployment and Testing ### Description Describes the process of saving and deploying an API, including error handling for incomplete configurations and the availability of a 'Test Call' button for debugging. ### Method Not Applicable (Operational Steps) ### Endpoint Not Applicable (Operational Steps) ### Parameters None ### Request Example None ### Response #### Success Response (200) - **message** (string) - Confirmation of API save or deployment status. #### Response Example ```json { "message": "API saved successfully." } ``` ### Notes - Clicking 'Save' allows saving incomplete configurations. - Clicking 'Save and Deploy' will result in an error if the configuration is incomplete. - The 'Test Call' button (available in versions 4.2.6.2 and later) allows debugging regardless of API deployment status. ``` -------------------------------- ### FineDataLink Oracle OCI Connection URL Source: https://help.fanruan.com/finedatalink/doc-view/-559 This is an example of a JDBC connection URL for FineDataLink to connect to an Oracle database using the OCI (Oracle Call Interface) driver. This is required for XStream connections, as opposed to the Thin driver. ```sql jdbc:oracle:oci:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1533))(CONNECT_DATA=(SID=名称)))  ``` -------------------------------- ### SQL 标记新同步数据 Source: https://help.fanruan.com/finedatalink/doc-view/-236 此 SQL 脚本用于更新目标表 'demotest'.'S目标表' 中 flag 列值为空的数据,将其 flag 值设置为 0。这会将新同步的数据标记为有效,为下次任务执行做准备。 ```SQL update `demotest`.`S目标表` set flag=0 where flag is null  ``` -------------------------------- ### Calling Published Data Service APIs Source: https://help.fanruan.com/finedatalink/doc-view/-248_from=xuanchuan&source=0 Guide for invoking data service APIs after publication. Supports three request method types: GET requests, POST with application/json body, and POST with application/x-www-form-urlencoded body. Complete API path includes FineDataLink server address, service path, application ID, and custom endpoint. ```APIDOC ## Calling Published Data Service APIs ### Description Guidelines for invoking data service APIs after they have been published and bound to applications. ### API Request Methods Three supported request methods: #### 1. GET Request - Parameters passed via URL QueryParam - URL format: `http://[SERVER]/webroot/service/publish/[APP_ID]/[API_PATH]?param1=value1¶m2=value2` - Reference: Use data service published API (GET request) documentation #### 2. POST with application/json - Parameters passed in request body as JSON - Content-Type: application/json - Body format: JSON object with parameter fields - Reference: Use data service published API (POST application/json request) documentation #### 3. POST with application/x-www-form-urlencoded - Parameters passed in request body as form-encoded - Content-Type: application/x-www-form-urlencoded - Body format: Key=Value pairs separated by & - Reference: Use data service published API (POST x-www-form-urlencoded request) documentation ### Complete API Path Structure ``` http://[SERVER_ADDRESS]/webroot/service/publish/[APPLICATION_ID]/[API_PATH] ``` **Components**: - **[SERVER_ADDRESS]**: FineDataLink server address and port - Example: 192.168.5.175:8089 - **[APPLICATION_ID]**: ID of application API is bound to - Required for API invocation - **[API_PATH]**: Custom API endpoint path configured during setup - Example: demo, user/query, data/export **Complete Example**: ``` http://192.168.5.175:8089/webroot/service/publish/app123/demo ``` ### Obtaining Complete API Path 1. Access API configuration 2. Navigate to API Interface Configuration section 3. Locate "API Path" field 4. Combine with server address and application ID 5. Verify application binding for correct APPLICATION_ID ### Request Headers **Required Headers**: - **Content-Type**: application/json (for JSON body) or application/x-www-form-urlencoded (for form body) - **Authorization**: Application credentials (if required by API security settings) ### Response Format All APIs return responses in the following format: ```json { "code": "0", "message": "Success", "output": [ { "field1": "value1", "field2": "value2" } ], "pageNum": 1, "pageSize": 10, "totalNum": 100, "rowCount": 10 } ``` ### Error Handling - **code**: "0" indicates success; non-zero indicates error - **message**: Contains error description - **HTTP Status**: 200 (success), 400 (bad request), 404 (not found), 500 (server error) - **Timeout**: Exceeding configured timeout returns timeout error ### Pagination Usage (if enabled) ``` GET: http://server/api?pageNum=1&pageSize=10&returnTotalNum=true POST JSON: { "pageNum": 1, "pageSize": 10, "returnTotalNum": true } ``` ``` -------------------------------- ### GET 企业微信获取 Access Token Source: https://help.fanruan.com/finedatalink/doc-view/-124_from=xuanchuan&source=0 调用企业微信接口获取 access_token 的示例,展示在 Postman 中如何调用 GET 请求。 ```APIDOC ## GET 企业微信获取 Access Token ### 描述 调用企业微信接口时获取 access_token ### 方法 GET ### 接口地址 https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET ### 接口权限 调用接口时,传入要使用应用的 secret 即可 ### 请求参数 #### Query Parameters - **corpid** (string) - 必需 - 企业 ID - **corpsecret** (string) - 必需 - 应用的 secret ### 请求说明 在 GET 请求中,遇到参数 / Params / Querys 均以 URL 传参形式进行传递。 在 Postman 中,可以: 1. 直接用 URL 传参形式 2. 在 Params 处填写 KEY 和 VALUE,Postman 会自动进行拼接 ### Postman 调用步骤 1. 选择请求方法为 GET 2. 输入接口地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken 3. 在 Params 处添加参数: - KEY: corpid, VALUE: 实际的企业 ID - KEY: corpsecret, VALUE: 实际的 secret 4. 点击 Send 按钮发送请求 ### 响应示例 ```json { "errcode": 0, "errmsg": "ok", "access_token": "ACCESS_TOKEN", "expires_in": 7200 } ``` ### 响应字段说明 - **errcode** (integer) - 错误码,0 表示成功 - **errmsg** (string) - 错误信息 - **access_token** (string) - 获取到的 access_token - **expires_in** (integer) - access_token 的有效期(秒) ### FDL 中的调用 在 FDL 中调用该接口的完整示例可参见:API取数-获取企业微信人员信息 ``` -------------------------------- ### SQL 回滚同步失败数据 Source: https://help.fanruan.com/finedatalink/doc-view/-236 该 SQL 脚本用于在数据同步任务失败时执行回滚操作。它会删除目标表 'demotest'.'S目标表' 中所有 flag 列值为空的数据,这些数据是在失败的同步过程中写入的。 ```SQL DELETE FROM `demotest`.`S目标表` where flag is null  ``` -------------------------------- ### API Input Overview and Configuration Source: https://help.fanruan.com/finedatalink/doc-view/-90_from=xuanchuan&source=0 Introduction to the API Input operator in FineDataLink data transformation, including supported request methods, authentication types, and configuration parameters for API data fetching. ```APIDOC ## API Input Configuration ### Description The API Input operator enables fetching data from API endpoints within FineDataLink's data transformation pipeline, supporting GET and POST methods with various authentication and request body formats. ### Supported Request Methods - GET - Query-based data retrieval - POST - Request body-based data submission ### Authentication Types - **No Authentication** (default) - **Bearer Token** - Token-based authentication - **Basic Auth** - Username and password authentication - **Custom Authentication** - Custom authorization header support with parameter references ### Request Headers Configuration - Supported Content-Types: - application/x-www-form-urlencoded - application/json - application/xml - multipart/form-data - text/xml - text/plain ### Request Body Formats #### POST with form-data - Content-Type: multipart/form-data - Multiple rows supported - Custom input and parameter references allowed #### POST with x-www-form-urlencoded - Content-Type: application/x-www-form-urlencoded - Multiple rows supported - Custom input and parameter references allowed #### POST with raw JSON - Content-Type: application/json - JSON formatted request body - Example: {"a": 123, "b": 456} #### POST with raw XML - Content-Type: application/xml - XML formatted request body #### POST with raw TEXT - Content-Type: text/plain - Plain text request body ### Query Parameters (URL Parameters) - Add parameters manually with parameter name and value - Alternative: Append directly to URL - Example: https://api.example.com/endpoint?param1=value1¶m2=value2 ### TLS/SSL Configuration - Self-signed certificate support when using HTTPS - Supported file types: .p12, .jks - Certificate verification can be disabled by adding SSL-certificate-verification: false to Headers ### Response Character Encoding - UTF-8 (default) - UTF-16 - GBK ### Request Timeout - Default timeout: 10 seconds - Custom timeout: Use FDLTimeout header parameter with positive integer value in seconds - Example: FDLTimeout: 30 ### Call Frequency Control - Control API call rate per time period - Supported intervals: seconds, minutes, hours, days - Use case: API endpoints with call rate limits - Example: 3 calls per minute ```