创建API

最近更新时间:2024-03-12 01:08:47

我的收藏

1. 接口描述

接口请求域名: apigateway.tencentcloudapi.com 。

本接口(CreateApi)用于创建 API 接口,创建 API 前,用户需要先创建服务,每个 API 都有自己归属的服务。

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateApi。
Version String 公共参数,本接口取值:2018-08-08。
Region String 公共参数,详见产品支持的 地域列表
ServiceId String API 所在的服务唯一 ID。
示例值:service-ody35h5e
ServiceType String API 的后端服务类型。支持HTTP、MOCK、TSF、SCF、EB、TARGET、VPC、UPSTREAM、GRPC、COS、WEBSOCKET。
示例值:MOCK
ServiceTimeout Integer API 的后端服务超时时间,单位是秒。
示例值:15
Protocol String API 的前端请求协议,支持HTTP和WEBSOCKET。
示例值:HTTP
RequestConfig ApiRequestConfig 请求的前端配置。
ApiName String 用户自定义的 API 名称。
示例值:name
ApiDesc String 用户自定义的 API 接口描述。
示例值:desc
ApiType String API 类型,支持NORMAL(普通API)和TSF(微服务API),默认为NORMAL。
示例值:NORMAL
AuthType String API 鉴权类型。支持SECRET(密钥对鉴权)、NONE(免鉴权)、OAUTH、APP(应用认证)。默认为NONE。
示例值:NONE
EnableCORS Boolean 是否开启跨域。
示例值:false
ConstantParameters.N Array of ConstantParameter 常量参数。
RequestParameters.N Array of RequestParameter 前端请求参数。
ApiBusinessType String 当AuthType 为 OAUTH时,该字段有效, NORMAL:业务api OAUTH:授权API。
示例值:NORMAL
ServiceMockReturnMessage String API 的后端 Mock 返回信息。如果 ServiceType 是 Mock,则此参数必传。
示例值:mock
MicroServices.N Array of MicroServiceReq API绑定微服务列表。
ServiceTsfLoadBalanceConf TsfLoadBalanceConfResp 微服务的负载均衡配置。
ServiceTsfHealthCheckConf HealthCheckConf 微服务的健康检查配置。
TargetServices.N Array of TargetServicesReq target类型后端资源信息。(内测阶段)
TargetServicesLoadBalanceConf Integer target类型负载均衡配置。(内测阶段)
示例值:0
TargetServicesHealthCheckConf HealthCheckConf target健康检查配置。(内测阶段)
ServiceScfFunctionName String scf 函数名称。当后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketRegisterFunctionName String scf websocket注册函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketCleanupFunctionName String scf websocket清理函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketTransportFunctionName String scf websocket传输函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceScfFunctionNamespace String scf 函数命名空间。当后端类型是SCF时生效。
示例值:xxx
ServiceScfFunctionQualifier String scf函数版本。当后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketRegisterFunctionNamespace String scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketRegisterFunctionQualifier String scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketTransportFunctionNamespace String scf websocket传输函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketTransportFunctionQualifier String scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketCleanupFunctionNamespace String scf websocket清理函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceWebsocketCleanupFunctionQualifier String scf websocket清理函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。
示例值:xxx
ServiceScfIsIntegratedResponse Boolean 是否开启响应集成。当后端类型是SCF时生效。
示例值:false
IsDebugAfterCharge Boolean 开始调试后计费。(云市场预留字段)
示例值:false
IsDeleteResponseErrorCodes Boolean 是否删除自定义响应配置错误码,如果不传或者传 False,不删除,当传 True 时,则删除此 API 所有自定义响应配置错误码。
示例值:false
ResponseType String 返回类型。
示例值:html
ResponseSuccessExample String 自定义响应配置成功响应示例。
示例值:xxx
ResponseFailExample String 自定义响应配置失败响应示例。
示例值:xxx
ServiceConfig ServiceConfig API 的后端服务配置。
AuthRelationApiId String 关联的授权API 唯一 ID,当AuthType为OAUTH且ApiBusinessType为NORMAL时生效。标示业务API绑定的oauth2.0授权API唯一ID。
示例值:api-xxx
ServiceParameters.N Array of ServiceParameter API的后端服务参数。
OauthConfig OauthConfig oauth配置。当AuthType是OAUTH时生效。
ResponseErrorCodes.N Array of ResponseErrorCodeReq 用户自定义错误码配置。
TargetNamespaceId String tsf serverless 命名空间ID。(内测中)
示例值:xxx
UserType String 用户类型。
示例值:xxx
IsBase64Encoded Boolean 是否打开Base64编码,只有后端是scf时才会生效。
示例值:false
EventBusId String 事件总线ID。
示例值:eb-xsae3sdf
ServiceScfFunctionType String scf函数类型。当后端类型是SCF时生效。支持事件触发(EVENT),http直通云函数(HTTP)。
示例值:EVENT
ServiceScfEventIsAsyncCall Boolean 是否开启SCF Event异步调用。
示例值:true
EIAMAppType String EIAM应用类型。
示例值:Client
EIAMAuthType String EIAM应用认证类型,支持仅认证(AuthenticationOnly)、认证和鉴权(Authorization)。
示例值:Authorization
TokenTimeout Integer EIAM应用Token 有效时间,单位为秒,默认为7200秒。
示例值:7200
EIAMAppId String EIAM应用ID。
Owner String 资源的Owner

3. 输出参数

参数名称 类型 描述
Result CreateApiResultInfo api信息
注意:此字段可能返回 null,表示取不到有效值。
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 CreateApi

CreateApi

输入示例

https://apigateway.tencentcloudapi.com/?Action=CreateApi
&ServiceId=service-ody35h5e
&ApiName=name
&ApiDesc=desc
&ApiType=NORMAL
&AuthType=NONE
&ServiceType=MOCK
&ServiceTimeout=15
&Protocol=HTTP
&RequestConfig.Path=/test
&RequestConfig.Method=GET
&EnableCORS=false
&ApiBusinessType=NORMAL
&ServiceMockReturnMessage=mock
&<公共请求参数>

输出示例

{
    "Response": {
        "Result": {
            "ApiId": "abc",
            "Path": "abc",
            "Method": "abc",
            "CreatedTime": "2020-09-22T00:00:00+00:00"
        },
        "RequestId": "abc"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.ApiInOperation 当前API正在操作中,请稍后再试。
FailedOperation.BackendDomainError 返回域名错误
FailedOperation.DomainNeedBeian 该域名还未在腾讯云备案,请备案之后再绑定域名。
FailedOperation.EIAMError EIAM返回错误。
FailedOperation.EbError 事件总线绑定/解绑失败。
FailedOperation.GetRoleError 获取角色失败,请确认完成API网关相关服务接口授权。
FailedOperation.ScfError SCF触发器绑定/解绑操作失败。
FailedOperation.ServiceError 服务相关的错误。
FailedOperation.ServiceInOperation 当前Service正在操作中, 请稍后再试。
InternalError.ApigwException API网关内部请求错误,请稍后重试。若无法解决,请联系智能客服或提交工单。
InternalError.CauthException CAuth内部请求错误,请稍后重试。若无法解决,请联系智能客服或提交工单。
InternalError.ClbException CLB内部请求错误,请稍后重试。若无法解决,请联系智能客服或提交工单。
InternalError.OssException oss内部请求错误,请稍后重试。若无法解决,请联系智能客服或提交工单。
InternalError.ScfException SCF内部请求错误,请稍后重试。若无法解决,请联系智能客服或提交工单。
InternalError.TsfException TSF内部请求错误,请稍后重试。若无法解决,请联系智能客服或提交工单。
InternalError.VpcException vpc内部请求错误,请稍后重试。若无法解决,请联系智能客服或提交工单。
InvalidParameter.FormatError 参数格式错误。
InvalidParameterValue.IllegalProxyIp 非法的后端ip地址。
InvalidParameterValue.InvalidApiBusinessType 传入的Api业务类型必须为OAUTH。
InvalidParameterValue.InvalidApiRequestConfig 无效的API配置。
InvalidParameterValue.InvalidApiType API类型错误,微服务API只支持TSF后端服务类型。
InvalidParameterValue.InvalidBackendPath 后端服务路径配置错误。
InvalidParameterValue.InvalidClb 不合法的clb。
InvalidParameterValue.InvalidIPAddress 参数后端地址取值错误。
InvalidParameterValue.InvalidPort 后端服务端口错误。
InvalidParameterValue.InvalidPublicKey OAUTH2.0 API 公钥参数格式错误。
InvalidParameterValue.InvalidRegion 地域错误。
InvalidParameterValue.InvalidRequestParameters 不合法的请求参数。
InvalidParameterValue.InvalidScfConfig SCF类型API参数错误。
InvalidParameterValue.InvalidServiceConfig 不合法的服务配置。
InvalidParameterValue.InvalidServiceMockReturnMessage 参数ServiceMockReturnMessage错误。
InvalidParameterValue.InvalidServiceParam 参数配置错误,未配置在后端参数配置列表中。
InvalidParameterValue.InvalidServiceParameters 参数ServiceParameters错误。
InvalidParameterValue.InvalidServiceType 后端服务类型错误。WEBSOCKET类型的后端服务,前端协议需要配置为WEBSOCKET。
InvalidParameterValue.InvalidTsfConfig TSF类型API配置错误。
InvalidParameterValue.InvalidUpstream 当前后端通道不存在或者是无效状态。
InvalidParameterValue.InvalidUrl URL参数错误。
InvalidParameterValue.InvalidVpcConfig 无效vpc信息。
InvalidParameterValue.InvalidWSMethod 方法错误。WEBSOCKET类型的后端服务,前端方法需要配置为GET。
InvalidParameterValue.LimitExceeded 参数个数超出限制,上限为100。
InvalidParameterValue.NotInOptions 参数取值错误。当前值不在可选范围内。
InvalidParameterValue.ParameterNotMatch 后端参数配置错误,未配置相关前端参数。
InvalidParameterValue.RangeExceeded 参数取值错误,不在参数范围内。
LimitExceeded.ApiCountLimitExceeded API数量超过限制。
MissingParameter 缺少参数错误。
ResourceNotFound.InvalidOauthApi OAuth业务API错误。
ResourceNotFound.InvalidService 对应服务不可见。
UnsupportedOperation.BasicServiceNoMoreApi 基础版服务不能创建超过一个API。
UnsupportedOperation.InvalidAction 接口错误。
UnsupportedOperation.InvalidEndpointType 不支持后端类型。
UnsupportedOperation.ServiceExist 服务不存在
UnsupportedOperation.UnpackError Unpack函数错误
UnsupportedOperation.UnsupportedNetType 不支持网络类型。