Skip to content

Create a Dial Testing Task



POST /api/v1/dialing_task/add

Overview

Body Request Parameters

Parameter Name Type Required Description
type string Y Dial Testing type
Can be empty: false
$lowerIn: ['http', 'tcp', 'dns', 'browser', 'icmp', 'websocket']
regions array Y Region list
Can be empty: false
task json Y Task configuration
Can be empty: false
$maxDictLength: 20000
task.url string Y URL
Can be empty: false
task.method string N Optional when type is browser
Can be empty: false
task.name string Y Task name
Can be empty: false
task.frequency string Y Dial Testing frequency
Can be empty: false
Options: ['1m', '5m', '15m', '30m', '1h', '6h', '12h', '24h']
task.advance_options json N Advanced options
Can be empty: false
task.advance_options_headless json N Advanced options setting for browser
Can be empty: false
task.success_when_logic string N Logical relationship within success_when conditions, default is and
Can be empty: false
Options: ['and', 'or']
task.success_when array Y Success_when
Can be empty: false
task.enable_traceroute boolean N Traceroute
Can be empty: false
task.packet_count integer N Number of pings sent each time
Can be empty: false
task.host string Y Required when type=tcp/icmp
Can be empty: false
task.port string Y Required when type=tcp
Can be empty: false
task.timeout string N Optional when type=tcp/icmp
Can be empty: false
task.message string Y Required when type=websocket
Can be empty: false
task.post_mode string N Availability judgment mode Default-default Script-mode-script
Can be empty: false
task.post_script string N Script content
Can be empty: false
Allow empty string: true
tags array N List of tag names
Can be empty: false
Example: ['xx', 'yy']

Additional Parameter Explanation

Data Description.

Parameter Name Type Required Description
type string Y Dial Testing type, options: http, tcp, dns, browser, icmp, websocket
regions array Y Task execution region
task json Y Task details
task.name string Y Task name
task.url string Y URL
task.method string Y URL request method
task.status string Y Task status, options: ok, stop
task.frequency string Y Task frequency
task.advance_options json N
task.success_when_logic enum N Options: [and, or], logical relationship within success_when parameters, default is and
task.success_when array Y/N Required when type=http, optional when type=browser
task.enable_traceroute boolean N Optional when type=tcp/icmp
task.packet_count integer N Optional when type=icmp
task.host string Y Required when type=tcp/icmp
task.port string Y Required when type=tcp
task.timeout string N Optional when type=tcp/icmp
task.message string Y/N Required when type=websocket
task.post_mode string N Availability judgment mode Default-default Script-mode-script
task.post_script string N Availability judgment script content
tags array N Tag list

Note: For detailed information about the internal parameters of the dial testing task task, refer to Custom Dial Testing

{
    "regions": ["hangzhou", "shanghai"],
    "task":{
        "url":"http://example.com/some/api",
        "method":"POST",
        "external_id":"ID defined by external system for this task",
        "post_url":" Provided by Studio backend https://dataway.cn?token=tkn_xxx",
        "status":"ok/stop",
        "name":"Task Naming",
        "frequency":"1m",
        "regions":"beijing",
        "advance_options":{
              "request_options":{
                  "follow_redirect":true,
                  "headers":{
                      "header1":"value1",
                      "header2":"value2"
                  },
                  "cookies":"",
                  "auth":{
                      "username":"",
                      "password":""
                  }
              },
              "request_body":{
                  "body_type":"text/plain|application/json|text/xml",
                  "body":""
              },
              "certificate":{
                  "ignore_server_certificate_error":false,
                  "private_key":"",
                  "certificate":""
              },
              "proxy":{
                  "url":"",
                  "headers":{
                      "header1":"value1"
                  }
              }
          },
        "success_when_logic": "and",
        "success_when":[
            {
                "body":{
                    "contains":"",
                    "not_contains":"",
                    "is":"",
                    "is_not":"",
                    "match_regex":"",
                    "not_match_regex":""
                },
                "header":{
                    "header-name":{
                        "contains":"",
                        "not_contains":"",
                        "is":"",
                        "is_not":"",
                        "match_regex":"",
                        "not_match_regex":""
                    },
                    "another-header-name":"..."
                },
                "response_time":"100ms",
                "status_code":[
                    { "is":"200" },
                    { "is_not":"400"},
                    {"match_regex":"ok*"},
                    {"not_match_regex":"*bad"}
                ]
            },
            {
                "AND_another_assert":"..."
            }
        ]
    },
    "tags": ["Tag Name"]
}

*** Explanation of task.frequency parameter *
The time frequency range for Free Plan workspaces is 30m/1h/6h/12h/24h

Request Example

curl 'https://openapi.guance.com/api/v1/dialing_task/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"type":"http","regions":["reg_xxxx20"],"task":{"frequency":"1m","method":"GET","url":"https://www.baidu.com","name":"test","advance_options":{"request_options":{"follow_redirect":false,"headers":{},"cookies":"","auth":{"username":"","password":""}},"request_body":{"body_type":"","body":""},"secret":{"not_save":false}},"success_when":[{"body":[{"contains":"200"}]}],"success_when_logic":"and"},"tags":["test"]}' \
--compressed

Response

{
    "code": 200,
    "content": {
        "createAt": 1686193610,
        "creator": "acnt_xxxx32",
        "deleteAt": -1,
        "id": null,
        "regions": [
            "reg_xxxx20"
        ],
        "status": 0,
        "tagInfo": [
            {
                "id": "tag_xxxx32",
                "name": "test"
            }
        ],
        "task": {
            "advance_options": {
                "request_body": {
                    "body": "",
                    "body_type": ""
                },
                "request_options": {
                    "auth": {
                        "password": "",
                        "username": ""
                    },
                    "cookies": "",
                    "follow_redirect": false,
                    "headers": {}
                },
                "secret": {
                    "not_save": false
                }
            },
            "external_id": "dial_xxxx32",
            "frequency": "1m",
            "method": "GET",
            "name": "test",
            "owner_external_id": "wksp_xxxx32",
            "post_url": "http://testing-openway.cloudcare.cn?token=tkn_xxxxx",
            "status": "ok",
            "tagInfo": [],
            "success_when": [
                {
                    "body": [
                        {
                            "contains": "200"
                        }
                    ]
                }
            ],
            "success_when_logic": "and",
            "url": "https://www.baidu.com"
        },
        "type": "http",
        "updateAt": 1686193610,
        "updator": "acnt_xxxx32",
        "uuid": "dial_xxxx32",
        "workspaceUUID": "wksp_xxxx32"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "712401530723551303"
} 

Feedback

Is this page helpful? ×