创建应用
curl --request POST \
--url 'https://api.flashcat.cloud/rum/application/create?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"application_name": "我的 Web 应用",
"type": "browser",
"team_id": 2477033058131,
"is_private": false,
"links": {
"enabled": true,
"systems": [
{
"id": "s3-crash-logs",
"name": "S3 Crash Logs",
"icon_text": "S3",
"icon_color": "#0F766E",
"url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
"event_types": [
"crash",
"error"
],
"enabled": true
}
]
}
}
'import requests
url = "https://api.flashcat.cloud/rum/application/create?app_key="
payload = {
"application_name": "我的 Web 应用",
"type": "browser",
"team_id": 2477033058131,
"is_private": False,
"links": {
"enabled": True,
"systems": [
{
"id": "s3-crash-logs",
"name": "S3 Crash Logs",
"icon_text": "S3",
"icon_color": "#0F766E",
"url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
"event_types": ["crash", "error"],
"enabled": True
}
]
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
application_name: '我的 Web 应用',
type: 'browser',
team_id: 2477033058131,
is_private: false,
links: {
enabled: true,
systems: [
{
id: 's3-crash-logs',
name: 'S3 Crash Logs',
icon_text: 'S3',
icon_color: '#0F766E',
url: 'https://s3.example.com/logs?app=${application_id}&trace=${trace_id}',
event_types: ['crash', 'error'],
enabled: true
}
]
}
})
};
fetch('https://api.flashcat.cloud/rum/application/create?app_key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.flashcat.cloud/rum/application/create?app_key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'application_name' => '我的 Web 应用',
'type' => 'browser',
'team_id' => 2477033058131,
'is_private' => false,
'links' => [
'enabled' => true,
'systems' => [
[
'id' => 's3-crash-logs',
'name' => 'S3 Crash Logs',
'icon_text' => 'S3',
'icon_color' => '#0F766E',
'url' => 'https://s3.example.com/logs?app=${application_id}&trace=${trace_id}',
'event_types' => [
'crash',
'error'
],
'enabled' => true
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.flashcat.cloud/rum/application/create?app_key="
payload := strings.NewReader("{\n \"application_name\": \"我的 Web 应用\",\n \"type\": \"browser\",\n \"team_id\": 2477033058131,\n \"is_private\": false,\n \"links\": {\n \"enabled\": true,\n \"systems\": [\n {\n \"id\": \"s3-crash-logs\",\n \"name\": \"S3 Crash Logs\",\n \"icon_text\": \"S3\",\n \"icon_color\": \"#0F766E\",\n \"url\": \"https://s3.example.com/logs?app=${application_id}&trace=${trace_id}\",\n \"event_types\": [\n \"crash\",\n \"error\"\n ],\n \"enabled\": true\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.flashcat.cloud/rum/application/create?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"application_name\": \"我的 Web 应用\",\n \"type\": \"browser\",\n \"team_id\": 2477033058131,\n \"is_private\": false,\n \"links\": {\n \"enabled\": true,\n \"systems\": [\n {\n \"id\": \"s3-crash-logs\",\n \"name\": \"S3 Crash Logs\",\n \"icon_text\": \"S3\",\n \"icon_color\": \"#0F766E\",\n \"url\": \"https://s3.example.com/logs?app=${application_id}&trace=${trace_id}\",\n \"event_types\": [\n \"crash\",\n \"error\"\n ],\n \"enabled\": true\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/rum/application/create?app_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"application_name\": \"我的 Web 应用\",\n \"type\": \"browser\",\n \"team_id\": 2477033058131,\n \"is_private\": false,\n \"links\": {\n \"enabled\": true,\n \"systems\": [\n {\n \"id\": \"s3-crash-logs\",\n \"name\": \"S3 Crash Logs\",\n \"icon_text\": \"S3\",\n \"icon_color\": \"#0F766E\",\n \"url\": \"https://s3.example.com/logs?app=${application_id}&trace=${trace_id}\",\n \"event_types\": [\n \"crash\",\n \"error\"\n ],\n \"enabled\": true\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"application_id": "qLpu24Dz4CAzWsESPbJYWA",
"application_name": "我的 Web 应用",
"client_token": "e090078724855a4ca168c3884880dfbc131"
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter is not valid."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "Unauthorized",
"message": "You are unauthorized."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "RequestTooFrequently",
"message": "Request too frequently."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InternalError",
"message": "We encountered an internal error, and it has been reported. Please try again later."
}
}应用管理
创建应用
创建新的 RUM 应用,返回生成的 application_id 和 client_token。
POST
/
rum
/
application
/
create
创建应用
curl --request POST \
--url 'https://api.flashcat.cloud/rum/application/create?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"application_name": "我的 Web 应用",
"type": "browser",
"team_id": 2477033058131,
"is_private": false,
"links": {
"enabled": true,
"systems": [
{
"id": "s3-crash-logs",
"name": "S3 Crash Logs",
"icon_text": "S3",
"icon_color": "#0F766E",
"url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
"event_types": [
"crash",
"error"
],
"enabled": true
}
]
}
}
'import requests
url = "https://api.flashcat.cloud/rum/application/create?app_key="
payload = {
"application_name": "我的 Web 应用",
"type": "browser",
"team_id": 2477033058131,
"is_private": False,
"links": {
"enabled": True,
"systems": [
{
"id": "s3-crash-logs",
"name": "S3 Crash Logs",
"icon_text": "S3",
"icon_color": "#0F766E",
"url": "https://s3.example.com/logs?app=${application_id}&trace=${trace_id}",
"event_types": ["crash", "error"],
"enabled": True
}
]
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
application_name: '我的 Web 应用',
type: 'browser',
team_id: 2477033058131,
is_private: false,
links: {
enabled: true,
systems: [
{
id: 's3-crash-logs',
name: 'S3 Crash Logs',
icon_text: 'S3',
icon_color: '#0F766E',
url: 'https://s3.example.com/logs?app=${application_id}&trace=${trace_id}',
event_types: ['crash', 'error'],
enabled: true
}
]
}
})
};
fetch('https://api.flashcat.cloud/rum/application/create?app_key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.flashcat.cloud/rum/application/create?app_key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'application_name' => '我的 Web 应用',
'type' => 'browser',
'team_id' => 2477033058131,
'is_private' => false,
'links' => [
'enabled' => true,
'systems' => [
[
'id' => 's3-crash-logs',
'name' => 'S3 Crash Logs',
'icon_text' => 'S3',
'icon_color' => '#0F766E',
'url' => 'https://s3.example.com/logs?app=${application_id}&trace=${trace_id}',
'event_types' => [
'crash',
'error'
],
'enabled' => true
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.flashcat.cloud/rum/application/create?app_key="
payload := strings.NewReader("{\n \"application_name\": \"我的 Web 应用\",\n \"type\": \"browser\",\n \"team_id\": 2477033058131,\n \"is_private\": false,\n \"links\": {\n \"enabled\": true,\n \"systems\": [\n {\n \"id\": \"s3-crash-logs\",\n \"name\": \"S3 Crash Logs\",\n \"icon_text\": \"S3\",\n \"icon_color\": \"#0F766E\",\n \"url\": \"https://s3.example.com/logs?app=${application_id}&trace=${trace_id}\",\n \"event_types\": [\n \"crash\",\n \"error\"\n ],\n \"enabled\": true\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.flashcat.cloud/rum/application/create?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"application_name\": \"我的 Web 应用\",\n \"type\": \"browser\",\n \"team_id\": 2477033058131,\n \"is_private\": false,\n \"links\": {\n \"enabled\": true,\n \"systems\": [\n {\n \"id\": \"s3-crash-logs\",\n \"name\": \"S3 Crash Logs\",\n \"icon_text\": \"S3\",\n \"icon_color\": \"#0F766E\",\n \"url\": \"https://s3.example.com/logs?app=${application_id}&trace=${trace_id}\",\n \"event_types\": [\n \"crash\",\n \"error\"\n ],\n \"enabled\": true\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/rum/application/create?app_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"application_name\": \"我的 Web 应用\",\n \"type\": \"browser\",\n \"team_id\": 2477033058131,\n \"is_private\": false,\n \"links\": {\n \"enabled\": true,\n \"systems\": [\n {\n \"id\": \"s3-crash-logs\",\n \"name\": \"S3 Crash Logs\",\n \"icon_text\": \"S3\",\n \"icon_color\": \"#0F766E\",\n \"url\": \"https://s3.example.com/logs?app=${application_id}&trace=${trace_id}\",\n \"event_types\": [\n \"crash\",\n \"error\"\n ],\n \"enabled\": true\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"application_id": "qLpu24Dz4CAzWsESPbJYWA",
"application_name": "我的 Web 应用",
"client_token": "e090078724855a4ca168c3884880dfbc131"
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter is not valid."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "Unauthorized",
"message": "You are unauthorized."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "RequestTooFrequently",
"message": "Request too frequently."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InternalError",
"message": "We encountered an internal error, and it has been reported. Please try again later."
}
}限制说明
| 项目 | 说明 |
|---|---|
| 速率限制 | 每个账户 1,000 次/分钟;50 次/秒 |
| 权限要求 | 应用管理(rum) |
使用说明
type须为以下之一:browser、ios、android、react-native、flutter、kotlin-multiplatform、roku、unity。links.systems[].url必须以http或https开头;${var}变量会根据 RUM 事件上下文解析。links.systems[].event_types支持:crash、error、view、action、resource、session、all。client_token自动生成,用于初始化 RUM SDK。- 每次调用都会记录到账户审计日志,请不要把敏感信息放在请求字段中。
授权
在 Flashduty 控制台 账户 → APP Key 中签发的 app_key。调用任何公开 API 时都必须携带。它等同于所属账户的身份凭证,请妥善保管。
请求体
application/json
创建 RUM 应用的参数。
应用名称,1–40 个字符。
应用类型。
可用选项:
browser, ios, android, react-native, flutter, kotlin-multiplatform, roku, unity 所属团队 ID。
是否仅限团队成员访问。
不采集 IP 地址。
不推断地理位置。
应用的告警配置。
Show child attributes
Show child attributes
APM 链路追踪集成配置。
Show child attributes
Show child attributes
应用的外部链接集成配置。
Show child attributes
Show child attributes
此页面对您有帮助吗?
⌘I