# 概述

如果企业的 API 接口需要进行计费,可以使用FizzGate开放平台功能。FizzGate作为一款强大的API网关和管理工具,为企业提供了灵活的接口计费能力,帮助企业实现精确计费和收入管理。通过该功能,企业可以将内部的API裁剪或者使用合作方的API暴露出去,合作方通过注册获取fizz-appid和fizz-secret之后签名调用接口。

# API套餐

1、配置支付

在application.yml文件中添加:

pay:
  alipay:
    gatewayUrl: https://openapi.alipay.com/gateway.do
    app_id: 支付宝app_id
    merchant_private_key: 支付宝商户私key
    alipay_public_key: 支付宝商户公key
    notify_url: 您在支付宝配置的通知地址
    return_url: 您在支付宝配置的回调地址
    sign_type: RSA2
    charset: utf-8

2、创建路由

在创建API套餐之前,请确保您已经已经在路由管理中创建一个路由,该路由可以是已经启用了调用方或者未启动调用方的选项的,如果该路由被套餐引用,就会自动勾选调用方选项。路由类型可以服务编排、服务发现、反向代理类型中任意一种,如:

3、创建套餐

新增API套餐,填写基础信息,注意填写套餐类型,现阶段仅支持流量包计费,如果您的价格填写为0,那么用户可以免费订阅该套餐。而文档集选择可以文档中选择需要展示的文档,具体的操作参见文档集创建,如不填写,则不展示文档。该套餐选择上架,则为市场可见,API市场则会展示该套餐产品。

# API购买

1、注册用户

用户通过登录界面进行注册,可以注册角色为『开放平台用户』的账号,该账号登录之后仅显示:开放平台-我的API 菜单。在该菜单中用户可以获取到fizz-appid和fizz-secret。

2、购买套餐

点击 开放平台-我的API-API市场 选择对应的套餐 点击购买;

3、调用API

套餐内部使用appid进行鉴权,调用方在调用接口时需传以下请求头:

fizz-appid appid请求头
fizz-sign 签名请求头,传根据密钥生成的签名值
fizz-ts 时间戳请求头,传当前时间戳

认证方式: MD5签名是内置的认证方式

签名生成方式:MD5(appid++时间戳++密钥) , 如:MD5(10001_1605255335977_e4502ba3a71448bbbcecef22b305d2ba)

样例:

fizz-appid: 10001
fizz-sign: e4502ba3a71448bbbcecef22b305d2ba
fizz-ts: 1605255335977

# Postman设置方法

# 环境变量设置

fizz-appid: 从管理后台拷贝

fizz-secret: 从管理后台拷贝

# 设置Pre-request

//获取预先设置为环境变量的appid和secretKey

appid = pm.environment.get("fizz-appid");

secretKey = pm.environment.get("fizz-secret");

//定义一个由appid、要翻译的字符串、随机数、密钥组合成一个字符串

var timestamp = Date.now();

var str = appid + "\_" + timestamp + "\_" + secretKey;

console.log(str);

//将str进行md5加密

var strmd5= CryptoJS.MD5(str).toString();

console.log(strmd5);

pm.environment.set("fizz-ts", timestamp);

pm.environment.set("fizz-sign", strmd5);

# 其他设置

# 配置API市场头部以及脚部

点击 系统管理-参数管理 中修改 网站底部链接信息 和 API管理平台菜单 两个配置参数。