API调用方法

# API调用方法 # ## 调用流程 ## 根据协议:填充参数 > 生成签名 > 拼装HTTP请求 > 发起HTTP请求> 得到HTTP响应 > 解释json/xml结果 ## 调用入口 ## |环境|服务地址(HTTP)|服务地址(HTTPS)| |-|-|-| |正式环境|http://feitang.com/|| |测试环境|http://test.feitang.com/|| ## 公共参数 ## 调用任何一个API都必须传入的参数,目前支持的公共参数有: |参数名称|参数类型|是否必须|参数描述| |-|-|-|-| |appId|string|是|分配给应用的AppId| |timestamp|string|是|时间戳,时区为GMT+8,例如:1619020800。API服务端允许客户端请求最大时间误差为10分钟| |signMethod|string|是|签名的摘要算法(默认 md5),可选值为:hmac,md5,hmac-sha256| |platform|string|是|来源平台 tao=淘数据 dou=抖查查 kuai=快手 |sign|string|是|签名| ## 业务参数 ## API调用除了必须包含公共参数外,如果API本身有业务级的参数也必须传入,每个API的业务级参数请考API文档说明。 ## 调用示例 ## 1.设置参数值: 公共参数: - appId=2605070741 - timestamp=1618971089 - platform=dou - signMethod=md5 业务参数: - userNo=215814411854544896 2.按ASCII顺序排序 - appId=2605070741 - platform=dou - signMethod=md5 - timestamp=1618971089 - userNo=215814411854544896 3.拼接参数名与参数值 ```language appId=2605070741&platform=dou&signMethod=md5&timestamp=1618971089&userNo=215814411854544896 ``` 4.生成签名 假设app的secret为NCDiXZa2k80P7ObWT2Bzbb7Pux93dzEl,则签名结果为: ```language bin2hex(hash_hmac('md5', 按顺序拼接好的参数名与参数值, NCDiXZa2k80P7ObWT2Bzbb7Pux93dzEl, true)) ``` ## 数据返回结构 ## |参数名称|参数类型|是否必须|参数描述| |-|-|-|-| |code|string|是|成功响应code=0,失败响应code=-1 |msg|string|是|错误描述信息,错误时返回 |data|object|是|正常的数据信息,根据API的文档返回