PHP调用Mefree.NET API
本指南将详细介绍如何通过PHP实现对Mefree.NET的API调用,包括生成签名的方法、请求的构建以及接口调用的完整流程。
1. 签名规则概述
Mefree.NET API 的身份验证通过签名机制进行,签名的生成逻辑如下:
1.1 签名字符串规则
签名使用以下格式的字符串:
sign = timestamp + method + requestPathtimestamp:UTC 时间,格式为 ISO 8601(例如:
2024-11-26T12:34:56.789Z)。method:HTTP 方法,如
GET或POST。requestPath:API 请求路径(包括查询参数),例如:
/api/config/api/order?quantity=65000&target_address=TRON_ADDRESS&period=1
1.2 签名生成流程
使用 HMAC-SHA256 算法,用 API 的 Secret Key 对拼接的字符串进行加密。
将加密结果用 Base64 编码,得到签名值。
1.3 请求头参数
每次请求需要添加以下 HTTP 头:
Content-Type: application/jsonMF-ACCESS-KEY: 您的 API Key。MF-ACCESS-SIGN: 生成的签名值。MF-ACCESS-TIMESTAMP: 当前的 UTC 时间戳。
2. PHP实现签名方法
2.1 签名生成函数
3. API 请求构建
3.1 基础配置
配置 API 的基础信息:
3.2 发起请求的函数
使用 CURL 构建通用的 HTTP 请求函数:
4. 示例接口调用
4.1 获取账户信息
接口描述:
请求路径:
/api/configHTTP 方法:
GET
调用代码:
4.2 创建订单
接口描述:
请求路径:
/api/order?quantity=65000&target_address=TRON_ADDRESS&period=1HTTP 方法:
POST
调用代码:
4.3 查询订单状态
接口描述:
请求路径:
/api/order/{pay_hash}HTTP 方法:
GET
调用代码:
5. 常见问题
5.1 签名无效 (401 Unauthorized)
确认
MF-ACCESS-KEY是否正确。确保签名按照规则生成:
拼接顺序为:
timestamp + method + requestPath。时间戳需为 UTC 格式,格式示例:
2024-11-26T12:34:56.789Z。使用正确的
SECRET_KEY生成签名。
5.2 请求参数错误 (400 Bad Request)
检查请求路径是否正确,尤其是查询参数是否完整。
确认
Content-Type是否为application/json。
5.3 请求速率限制 (429 Too Many Requests)
Mefree API 对请求频率有限制,需避免在短时间内发起大量请求。
添加合理的请求间隔(例如每秒最多 2 次请求)。
6. 总结
通过以上文档,您可以使用 PHP 高效实现对 Mefree.NET API 的调用,包括生成签名、发送请求以及解析响应数据。对重要操作(如下单)时,建议加上重试机制以提高稳定性。如有疑问,请联系 Mefree 官方支持团队。
Last updated