Sensors Focus OpenAPI (神策智能运营)

OpenAPI for Sensors Focus, the smart-operations / marketing-automation cloud. 70 operations covering reach channels and channel instances (including AI channel-selection endpoints), audience rules and online audience membership, real-time entity attributes and tags, trigger strategies, marketing plans, resource sections, creative materials and user blacklists. Webhook channels let the platform call customer-owned HTTP endpoints when a user is triggered.

Documentation

Specifications

OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-express-action-channel-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-express-attribute-online-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-express-attribute-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-express-audience-meta-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-express-audience-online-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-express-notify-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-real-time-tag-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-trigger-strategy-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-web-black-users-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-web-materials-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-web-sections-v1-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-web-v1-openapi.yml

Other Resources

OpenAPI Specification

sensors-data-focus-express-action-channel-v1-openapi.yml Raw ↑
openapi: 3.0.1
info:
  description: 通道相关控制流 Open Api 定义
  title: 神策智能运营
  version: ''
servers:
- url: /api/v3/focus/v1
paths:
  /express-action-channel/plugin/get:
    get:
      description: 支持单个插件查询,仅能查询生效的插件信息. 查询结果会根据当前的组织 ID / project_id 过滤
      operationId: GetPlugin
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      - description: plugin_id 和 plugin_route 必传其一
        in: query
        name: plugin_id
        schema:
          format: int32
          type: integer
      - in: query
        name: plugin_route
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  plugin_information:
                    biz_type: SFN
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.GetPluginOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.GetPluginOpenApiResponse
      summary: 查询插件信息
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.GetPluginOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.GetPluginOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /express-action-channel/channel/query:
    get:
      description: 查询通道信息,仅能按照插件 ID 查询
      operationId: QueryChannel
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      - description: 只能通过插件 ID 查询
        in: query
        name: plugin_id
        schema:
          format: int32
          type: integer
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  plugin_channel_informations:
                  - channel_category: PUSH
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.QueryChannelOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.QueryChannelOpenApiResponse
      summary: 查询通道信息
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.QueryChannelOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.QueryChannelOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /express-action-channel/channel/instance/query:
    get:
      description: 查询通道实例信息
      operationId: QueryChannelInstance
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      - description: "plugin_id/channel_id/channel_instance_id 都是筛选器,可以都不传\n 不传则默认查出来该 project 的所有 channel\
          \ instance"
        in: query
        name: plugin_id
        schema:
          format: int32
          type: integer
      - in: query
        name: channel_id
        schema:
          format: int32
          type: integer
      - in: query
        name: channel_instance_id
        schema:
          format: int32
          type: integer
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  channel_instance_informations:
                  - rate_limit: {}
                    configuration:
                      send_id: ${user.$id}
                      send_id_cname: 用户ID
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.QueryChannelInstanceOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.QueryChannelInstanceOpenApiResponse
      summary: 查询通道实例信息
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.QueryChannelInstanceOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.QueryChannelInstanceOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /express-action-channel/channel/instance/create:
    post:
      description: 创建通道实例
      operationId: CreateChannelInstance
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.focus.v1.express.action.ChannelInstanceInformation'
        description: 通用通道实例基础信息
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  channel_instance_information:
                    rate_limit: {}
                    configuration:
                      send_id: ${user.$id}
                      send_id_cname: 用户ID
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.CreateChannelInstanceOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.CreateChannelInstanceOpenApiResponse
      summary: 创建通道实例
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.CreateChannelInstanceOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.express.action.ChannelInstanceInformation
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: ChannelInstanceInformation
  /express-action-channel/channel/instance/update:
    post:
      description: 修改通道实例,包括通道实例的开关等
      operationId: UpdateChannelInstance
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.focus.v1.express.action.ChannelInstanceInformation'
        description: 通用通道实例基础信息
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  channel_instance_information:
                    rate_limit: {}
                    configuration:
                      send_id: ${user.$id}
                      send_id_cname: 用户ID
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.UpdateChannelInstanceOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.UpdateChannelInstanceOpenApiResponse
      summary: 修改通道实例
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.UpdateChannelInstanceOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.express.action.ChannelInstanceInformation
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: ChannelInstanceInformation
  /express-action-channel/channel/instance/delete:
    post:
      description: 删除通道实例
      operationId: DeleteChannelInstance
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.focus.v1.DeleteChannelInstanceOpenApiRequest'
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data: {}
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.common.HttpApiResult'
          description: ''
      summary: 删除通道实例
      x-sd-openapi:
        responseClass: com.google.protobuf.Empty
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.DeleteChannelInstanceOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: DeleteChannelInstanceOpenApiRequest
  /express-action-channel/plugin/resource/get:
    get:
      description: 获取插件资源文件,加载插件前端可以使用
      operationId: GetPluginResource
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      - description: 插件 pluginRoute
        in: query
        name: plugin_route
        schema:
          type: string
      - description: 获取资源文件的路径,一般是插件前端资源文件路径
        example: /dist/index.css
        in: query
        name: file_path
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data: {}
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.GetPluginResourceOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.GetPluginResourceOpenApiResponse
      summary: 获取插件资源文件
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.GetPluginResourceOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.GetPluginResourceOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /express-action-channel/channel/instance/test-send/execute:
    post:
      description: 通道实例测试发送
      operationId: ExecuteTestSend
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.focus.v1.express.action.ExecutionMessageOpenApiRequest'
        description: 消息发送内容
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  response:
                    receipt_message_context:
                      event_properties:
                      - {}
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.ExecuteTestSendOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.ExecuteTestSendOpenApiResponse
      summary: 通道实例测试发送
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.ExecuteTestSendOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.express.action.ExecutionMessageOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: ExecutionMessageOpenApiRequest
  /express-action-channel/channel/instance/send-content/check:
    post:
      description: 通道实例配置发送内容校验,用于校验通道实例上配置的发送内容是否合法
      operationId: CheckChannelInstanceContent
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.focus.v1.CheckChannelInstanceContentOpenApiRequest'
        description: 通道配置内容验证请求数据结构
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data: {}
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.common.HttpApiResult'
          description: ''
      summary: 通道实例配置发送内容校验
      x-sd-openapi:
        responseClass: com.google.protobuf.Empty
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.CheckChannelInstanceContentOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: CheckChannelInstanceContentOpenApiRequest
  /express-action-channel/channel/instance/extension/execute:
    post:
      description: 通道实例其他扩展请求,对于需要更多通道前后端交互的逻辑可以走该接口
      operationId: ExecuteChannelInstanceExtensionRest
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.focus.v1.ExecuteChannelInstanceExtensionRestOpenApiRequest'
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data: {}
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.ExecuteChannelInstanceExtensionRestOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.ExecuteChannelInstanceExtensionRestOpenApiResponse
      summary: 通道实例其他扩展请求
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.ExecuteChannelInstanceExtensionRestOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.ExecuteChannelInstanceExtensionRestOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: ExecuteChannelInstanceExtensionRestOpenApiRequest
  /express-action-channel/channel/instance/metrics-define/get:
    get:
      description: 通道实例指标定义获取
      operationId: GetChannelInstanceMetricsDefine
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      - description: 请求的通道实例 ID
        in: query
        name: channel_instance_id
        schema:
          format: int32
          type: integer
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  metrics_defines:
                  - event_series:
                      condition:
                        index: 10
                        conditions:
                        - function: EQUAL
                          index: 10
                          params:
                          - expression: user.p1/user.p2+user.p3
                            field: '#ResourceId'
                            variable: $ENTRY_TIME
                            value: {}
                            param_type: FIELD
                        operator: AND
                      time_range:
                        start_time:
                          relative_time:
                            time_interval: {}
                    phase_names: {}
                    display_positions:
                    - PLAN_TOTAL_CONVERT_CARD
                    detail_event_property_name: $sf_fail_reason
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.GetChannelInstanceMetricsDefineOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.GetChannelInstanceMetricsDefineOpenApiResponse
      summary: 通道实例指标定义获取
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.GetChannelInstanceMetricsDefineOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.GetChannelInstanceMetricsDefineOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /express-action-channel/channel/ai/category/get:
    get:
      description: 获取有可用通道实例的通道大类
      operationId: GetChannelCategories
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  categories:
                  - {}
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.GetChannelCategoryOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.GetChannelCategoryOpenApiResponse
      summary: 获取有可用通道实例的通道大类
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.GetChannelCategoryOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.GetChannelCategoryOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /express-action-channel/channel/ai/category/instance/get:
    get:
      description: 获取某个通道大类下的通道实例信息
      operationId: GetChannelInstanceWithDescByChannelCategory
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      - description: 通道大类名称
        in: query
        name: channel_category
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  channel_instances:
                  - fields:
                    - {}
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.ChannelInstanceWithDescOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.ChannelInstanceWithDescOpenApiResponse
      summary: 获取某个通道大类下的通道实例信息
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.ChannelInstanceWithDescOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.GetChannelInstanceByChannelCategoryOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /express-action-channel/channel/ai/instance/get:
    get:
      description: 获取某个项目下所有可用的通道实例
      operationId: GetAllChannelInstanceWithDesc
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 租户 ID, 用于请求所属租户
        in: header
        name: X-Organization-Id
        required: true
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  channel_instances:
                  - fields:
                    - {}
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.focus.v1.ChannelInstanceWithDescOpenApiResponseHttpApiResult'
          description: sensorsdata.focus.v1.ChannelInstanceWithDescOpenApiResponse
      summary: 获取某个项目下所有可用的通道实例
      x-sd-openapi:
        responseClass: com.sensorsdata.focus.v1.ChannelInstanceWithDescOpenApiResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.focus.v1.GetAllChannelInstanceWithDescOpenApiRequest
        grpcServiceBase: com.sensorsdata.focus.v1.ExpressActionChannelServiceGrpc.ExpressActionChannelServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
components:
  schemas:
    sensorsdata.focus.v1.QueryChannelOpenApiResponse:
      description: ''
      properties:
        plugin_channel_informations:
          description: ''
          items:
            $ref: '#/components/schemas/sensorsdata.focus.v1.express.action.PluginChannelInformation'
          type: array
      title: QueryChannelOpenApiResponse
      type: object
    sensorsdata.focus.v1.express.action.ExecutionMessageOpenApiRequest:
      description: 消息发送内容
      properties:
        channel_instance_id:
          description: 发送的通道实例 ID
          format: int32
          type: integer
        message_context:
          $ref: '#/components/schemas/sensorsdata.focus.v1.express.action.ExecutionMessageOpenApiRequest.ExecutionMessageOpenApiContext'
        message_body:
          description: 要发送的消息内容,比如短信内容、push 标题信息等,可以在消息内容中插入属性
          example: '{"msg_content":"这是一条消息示例,我的 jiguang_id=${user.jiguang_id}"}'
          type: string
        required_properties:
          description: 额外获取的信息存储,比如插件自身要求的额外的属性,该属性会传递给插件
          items:
            $ref: '#/components/schemas/sensorsdata.focus.v1.express.action.ExecutionMessageOpenApiRequest.Pair'
          type: array
      title: ExecutionMessageOpenApiRequest
      type: object
    sensorsdata.focus.v1.express.action.ChannelInstanceConfiguration:
      description: "通道实例的详细配置信息,由于有些配置是每个通道都必须的,比如 send_id,\n 所以这里需要对必须的配置项进行枚举\n 非必须的配置是由插件自己决定如何配置的,所以只以一个字符串来存储\n\
        ***************************************************************"
      properties:
        send_id:
          description: send_id 对应的字段名称
          example: ${user.$id}
          type: string
        send_id_cname:
          description: send_id 对应的字段显示名称
          example: 用户ID
          type: string
        send_mode:
          description: 发送模式
          enum:
          - HIGH_SPEED_UNSPECIFIED
          - RELIABLE
          type: string
        extra_config:
          description: 通道实例额外配置,可自定义,在通道实例运行时可取到该配置
          type: string
        used_in_openapi:
          description: 是否在触发策略 OpenApi 中使用
          type: boolean
      title: ChannelInstanceConfiguration
      type: object
    sensorsdata.focus.v1.express.action.ExecutionMessageOpenApiRequest.ExecutionMessageOpenApiContext:
      description: ''
      properties:
        user_id:
          description: 发送的用户 id
          format: int64
          type: integer
        send_id:
          description: 实际 send_id 的值,比如示例为 user.$id 的值
          example: '-9765623679283982735625323'
          type: string
      title: ExecutionMessageOpenApiContext
      type: object
    sensorsdata.focus.v1.express.action.PluginInformation:
      description: 通用插件基础信息
      properties:
        id:
          description: 插件 ID
          format: int32
          type: integer
        plugin_route:
          description: 插件唯一标识符
          type: string
        cname:
          description: 插件名称
          type: string
        description:
          description: 插件描述信息
          type: string
        version:
          description: 插件版本号
          type: string
        author:
          description: 插件作者信息
          type: string
        biz_type:
          description: 自定义业务类别
          example: SFN
          type: string
        more_config:
          description: 插件前端信息索引
          type: string
      title: PluginInformation
      type: object
    sensorsdata.focus.v1.GetPluginResourceOpenApiResponse:
      description: ''
      properties:
        plugin_route:
          description: ''
          type: string
        succeed:
          description: 是否成功
          type: boolean
        file_path:
          description: ''
          type: string
        file_bytes:
          description: 文件的字节数组,如果是文本文件,需要自己转换成 String
          format: byte
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
      title: GetPlu

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-focus-express-action-channel-v1-openapi.yml