PHP SDK 示例
<?php
class TCZKApi {
private $baseUrl;
private $id;
private $secret;
public function __construct($baseUrl, $id, $secret) {
$this->baseUrl = rtrim($baseUrl, '/');
$this->id = $id;
$this->secret = $secret;
}
/**
* 生成签名
*/
private function makeSign($times) {
$signStr = "id={$this->id}&secret={$this->secret}×={$times}";
return strtoupper(md5($signStr));
}
/**
* 发送GET请求
*/
private function get($endpoint, $params = []) {
$times = time();
$sign = $this->makeSign($times);
$params['id'] = $this->id;
$params['times'] = $times;
$params['sign'] = $sign;
$url = $this->baseUrl . $endpoint . '?' . http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
throw new Exception("请求失败: " . $error);
}
return json_decode($response, true);
}
/**
* 查询余额
*/
public function getBalance() {
return $this->get('/hdiot/api/v1/agentapi/user');
}
/**
* 查询流量
*/
public function getFlow($cardno) {
return $this->get('/hdiot/api/v1/agentapi/flow', ['cardno' => $cardno]);
}
/**
* 查询实名信息
*/
public function getRealName($cardno) {
return $this->get('/hdiot/api/v1/agentapi/getcertinfo', ['cardno' => $cardno]);
}
/**
* 卡板停机
*/
public function stop($cardno) {
return $this->get('/hdiot/api/v1/agentapi/stop', ['cardno' => $cardno]);
}
/**
* 卡板复机
*/
public function start($cardno) {
return $this->get('/hdiot/api/v1/agentapi/start', ['cardno' => $cardno]);
}
/**
* 卡板刷新
*/
public function refresh($cardno) {
return $this->get('/hdiot/api/v1/agentapi/refresh', ['cardno' => $cardno]);
}
/**
* 订购套餐
* @param string $cardno 卡号
* @param string $packageId 套餐ID
* @param string $orderno 订单号
* @param int $iseffect 生效方式 0=立即生效 1=次月生效
*/
public function order($cardno, $packageId, $orderno, $iseffect = 0) {
return $this->get('/hdiot/api/v1/agentapi/order', [
'cardno' => $cardno,
'packagelist_id' => $packageId,
'orderno' => $orderno,
'iseffect' => $iseffect,
]);
}
}
// 使用示例
$api = new TCZKApi(
'http://your-api-server.com',
'your-agent-id',
'your-agent-secret'
);
// 查询余额
$result = $api->getBalance();
print_r($result);
// 查询流量
$result = $api->getFlow('card-number');
print_r($result);
// 查询实名
$result = $api->getRealName('card-number');
print_r($result);
// 停机
$result = $api->stop('card-number');
print_r($result);
// 复机
$result = $api->start('card-number');
print_r($result);
// 订购套餐
$result = $api->order('card-number', 'package-id', 'order-no', 0);
print_r($result);