发送支持或反馈信息

OpenAPI 契约

方法
POST
路径
/api/v1/support/messages
认证
jwtBearer (bearer)
响应状态
204 400 401 403 429 500 503
请求与响应 Schema
JSON
{
  "requestBody": {
    "application/json": {
      "$ref": "#/components/schemas/SupportMessageRequest"
    }
  },
  "responses": {
    "204": {
      "description": "Message accepted by the mail relay",
      "content": {}
    },
    "400": {
      "description": "Invalid request",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/RequestError"
        }
      }
    },
    "401": {
      "description": "Authentication required or invalid",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/SecurityError"
        }
      }
    },
    "403": {
      "description": "Authenticated but not permitted",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/SecurityError"
        }
      }
    },
    "429": {
      "description": "Support delivery limit reached",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/SecurityError"
        }
      }
    },
    "500": {
      "description": "Unexpected server error",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "503": {
      "description": "Mail delivery unavailable; retain the draft and retry",
      "content": {
        "application/json": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    }
  }
}

POST /api/v1/support/messages 通过服务器配置的邮件中继发送纯文本邮件。它要求账户访问令牌;nfy_ 自动化密钥不能发送支持信息。

所有字段都必填。将 intent 设为 support 或 feedback;subject 必须非空、最多 160 个字符且不含控制字符;message 必须非空且最多 5000 个字符。服务器决定发件人和收件人,并将已认证账户的邮箱用作 Reply-To。

成功的 204 响应没有正文,表示邮件中继已接受邮件,并不保证最终送达收件箱。仪表盘收到此响应后显示确认,发送失败时保留草稿。

默认限制为每个账户在滚动一小时内最多尝试五次,所有账户在滚动一天内总共最多尝试 50 次。管理员可配置这些限制;进程内的计数器会在服务器重启时重置。收到 429 时遵循 Retry-After。收到 503 时保留草稿,由用户主动重试。不要自动重发结果不明确的提交,因为邮件中继可能已经接受了它。

http
POST /api/v1/support/messages
Authorization: Bearer <access token>
Content-Type: application/json
json
{
  "intent": "support",
  "subject": "Build help",
  "message": "How should I configure the target platforms?"
}