更新时间:2024-11-27 GMT+08:00
分享

调用开放的API

API在发布到环境后,即支持被其他用户调用。根据API所使用的安全认证方式不同,调用API的操作有所差异。

约束与限制

  • 若您使用系统分配的默认子域名访问API,该子域名每天最多可以访问1000次。
  • 如果两个API的所属分组、请求方法和请求路径都相同,则调用API时,会优先调用匹配模式为绝对匹配的API。
  • Site实例不支持使用子域名调用API,仅支持使用IP+Host头方式调用API。

前提条件

在调用API前,确保您的业务系统所在网络与API的访问域名或地址互通。

  • 若业务系统与ROMA Connect实例在相同VPC内时,可直接访问API。
  • 若业务系统与ROMA Connect实例在同一区域的不同VPC内时,可通过创建VPC对等连接,将两个VPC的网络打通,实现同一区域跨VPC访问API。具体步骤请参考VPC对等连接说明
  • 若业务系统与ROMA Connect实例在不同区域的不同VPC内时,可通过创建云连接实例并加载需要互通的VPC,将两个VPC的网络打通,实现跨区域跨VPC访问API。具体步骤请参考跨区域VPC互通
  • 若业务系统与ROMA Connect实例通过公网互通,请确保ROMA Connect实例已绑定弹性IP。

获取API的调用信息

在调用API前,您需要向API提供方获取API的调用信息。

  • 获取API的请求信息

    在ROMA Connect实例控制台选择“服务集成 APIC > API列表”,在页面中获取API的“域名”、“请求方法”和“API URL”。单击API的名称进入API详情页面,在“前端配置”页签下,获取API的“请求参数”和“请求体内容描述”。

  • 获取API的认证信息

    根据API使用的安全认证方式不同,还要获取相关的请求认证信息:

    认证方式

    认证信息

    APP认证(签名认证)

    向API提供方获取该API所授权凭据的Key和Secret,以及认证签名所使用的SDK。

    APP认证(简易认证)

    向API提供方获取该API所授权凭据的AppCode。

    APP认证(绿色通道白名单)

    向API提供方获取该API所授权凭据的Key。

    APP认证(app_secret认证)

    向API提供方获取该API所授权凭据的Key和Secret。

    APP认证(app_basic认证)

    向API提供方获取该API所授权凭据的Key和Secret。

    APP认证(双重认证)

    同时获取APP认证以及自定义认证所需的认证信息。

    IAM认证(Token认证)

    获取云服务平台的用户账号密码。

    IAM认证(AK/SK认证)

    获取云服务平台的用户账号的AK/SK,以及认证签名所使用的SDK。

    IAM认证(双重认证)

    同时获取IAM认证以及自定义认证所需的认证信息。

    自定义认证

    向API提供方获取请求参数中要携带的自定义认证信息。

    无认证

    无需认证信息。

    • 获取凭据的Key和Secret:

      在ROMA Connect实例控制台选择“服务集成 APIC > 凭据管理”,在“凭据管理”页签中单击API所授权凭据的名称,进入凭据详情页面,在页面中获取凭据的Key和Secret。

    • 获取认证签名所使用SDK:

      在ROMA Connect实例控制台选择“服务集成 APIC > 凭据管理”,在“SDKs”页签中下载对应语言所使用SDK。

    • 获取AppCode:

      在ROMA Connect实例控制台选择“服务集成 APIC > 凭据管理”,在“凭据管理”页签中单击API所授权凭据的名称,进入凭据详情页面,在“AppCodes”下获取AppCode。

调用API

  1. 构造API请求,示例如下:
    POST https://{Address}/{Path}?{Query}
    {Header}
    
    {
      {Body}
    }
    • POST:请求方法,需替换为获取API的请求信息中获取的请求方法。
    • {Address}:请求地址,需替换为获取API的请求信息中获取的域名地址。您也可以使用IP地址访问API,

      API调用场景

      API请求参数配置

      使用域名调用API

      ROMA Connect允许使用分组分配的子域名或分组绑定的域名调用API,无需另外配置。

      使用IP调用DEFAULT分组的API

      ROMA Connect允许使用IP地址调用DEFAULT分组下的API,无需另外配置。

      使用IP调用非DEFAULT分组的API

      • ROMA Connect的实例配置参数“app_route”已设置为“on”,允许通过IP访问API。
      • ROMA Connect不允许使用IP地址直接调用非DEFAULT分组下的API,需要在请求消息中添加Header参数“X-HW-ID”,参数值为API所授权凭据的Key。
    • {Path}:请求路径,需替换为获取API的请求信息中获取的URL。
    • {Query}:查询参数,可选,格式为“参数名=参数取值”,例如limit=10,多个查询参数之间使用“&”隔开。需根据获取API的请求信息中获取的请求参数进行设置。
    • {Header}:请求头参数,格式为“参数名: 参数取值”,例如Content-Type: application/json。需根据获取API的请求信息中获取的请求参数进行设置。
    • {Body}:请求消息体,JSON格式。需根据获取API的请求信息中获取的请求体内容描述进行设置。
  1. 为API请求添加认证信息。

    Site实例中不支持华为IAM认证。

    API认证方式

    API请求参数配置

    APP认证(签名认证)

    使用获取的SDK对API请求进行签名,具体请参考APP认证开发

    APP认证(简易认证)

    在API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的认证信息中获取到的AppCode。

    APP认证(绿色通道白名单)

    在API请求中添加Header参数“X-HW-ID”,参数值为获取API的认证信息中获取到的Key。

    APP认证(app_secret认证)

    • ROMA Connect的实例配置参数“app_secret”已设置为“on”,开启app_secret认证。
    • 在API请求中添加Header参数“X-HW-ID”,参数值为获取API的认证信息中获取到的Key。
    • 在API请求中添加Header参数“X-HW-AppKey”,参数值为获取API的认证信息中获取到的Secret。

    APP认证(app_basic认证)

    • ROMA Connect的实例配置参数“app_basic”已设置为“on”,开启app_basic认证。
    • 在API请求中添加Header参数“Authorization”,参数值为"Basic "+base64(appkey+":"+appsecret),其中appkeyappsecret分别为获取API的认证信息中获取到的Key和Secret。

    APP认证(双重认证)

    在API请求中同时携带APP认证和自定义认证的认证信息。

    IAM认证(Token认证)

    先获取云服务平台的认证Token,然后在API请求中添加Header参数“X-Auth-Token”,参数值为认证Token,具体请参考IAM认证开发(Token)

    IAM认证(AK/SK认证)

    使用获取的SDK对API请求进行签名,具体请参考IAM认证开发(AK/SK)

    IAM认证(双重认证)

    在API请求中同时携带IAM认证和自定义认证的认证信息。

    自定义认证

    根据自定义认证的定义,在API请求参数中携带相关认证信息进行认证。

    无认证

    无需认证,可直接调用API。

相关文档