以下是一个使用PHP调用顺丰接口的示例:
<?php
// 请求接口的URL
$url = 'http://sfapi.sf-express.com/std/service';
// 接口参数
$params = array(
'head' => array(
'transType' => '301',
'transMessageId' => '20190429123456',
'transMessageTimestamp' => date('Y-m-d H:i:s'),
),
'body' => array(
'orderId' => '1234567890',
'expressType' => '1',
'payMethod' => '1',
'j_company' => '发件人公司',
'j_contact' => '发件人姓名',
'j_tel' => '发件人电话',
'j_province' => '发件人省份',
'j_city' => '发件人城市',
'j_county' => '发件人县/区',
'j_address' => '发件人详细地址',
'd_company' => '收件人公司',
'd_contact' => '收件人姓名',
'd_tel' => '收件人电话',
'd_province' => '收件人省份',
'd_city' => '收件人城市',
'd_county' => '收件人县/区',
'd_address' => '收件人详细地址',
'cargoCount' => '1',
'cargoWeight' => '1',
'payArea' => '1',
'remark' => '备注',
),
);
// 转换参数为XML格式
$xml = arrayToXml($params);
// 发送请求
$response = sendRequest($url, $xml);
// 解析响应结果
$result = parseResponse($response);
// 输出结果
print_r($result);
/**
* 将数组转换为XML格式
*
* @param array $array
* @param SimpleXMLElement $xml
* @return string
*/
function arrayToXml($array, $xml = null)
{
if (!$xml) {
$xml = new SimpleXMLElement('<xml></xml>');
}
foreach ($array as $key => $value) {
if (is_array($value)) {
arrayToXml($value, $xml->addChild($key));
} else {
$xml->addChild($key, $value);
}
}
return $xml->asXML();
}
/**
* 发送HTTP请求
*
* @param string $url
* @param string $data
* @return string
*/
function sendRequest($url, $data)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
/**
* 解析XML响应结果
*
* @param string $response
* @return array
*/
function parseResponse($response)
{
$xml = simplexml_load_string($response);
$json = json_encode($xml);
$array = json_decode($json, true);
return $array;
}
请注意,这只是一个简单的示例,实际使用时需要根据顺丰接口文档提供的参数和要求进行相应的调整。此示例中使用了curl库发送HTTP请求,并使用SimpleXMLElement类处理XML数据。
上一篇:php版本切换linux
下一篇:数据库php怎么打开
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站