- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要创建一个简单的网页,从 FedEx 获取费率报价。唯一的问题是,我以前从未弄乱过 API。
XML 很简单,但如何将该 XML 发送到 FedEx 并查看响应? API 请求...是的,我知道,但是向 FedEx 发出 API 请求的代码是什么?我只需要一些指导。我在一定程度上了解 PHP - 但我不是专家。
我知道我需要发送一个 API 请求,但我需要一个使用 PHP 的简单工作示例。我希望能够输入我的帐户信息,然后得到一个简单的工作费率报价。
我不关心它是否只返回最简单的数据。我只需要有一些东西可以让我开始。
似乎 FedEx 在提供有关使用 PHP 执行此操作的信息方面只做了这么多。
最佳答案
fedex 在 www.fedex.com/us/developer/中提供加速包,您将找到有关对其 web 服务的不同类型调用的信息。例如,如果您想向 FedEx express 申请费率,则需要执行以下操作:
<?php
require_once('../../library/fedex-common.php5');
$newline = "<br />";
//The WSDL is not included with the sample code.
//Please include and reference in $path_to_wsdl variable.
$path_to_wsdl = "../../wsdl/RateService_v13.wsdl";
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient($path_to_wsdl, array('trace' => 1)); // Refer to http://us3.php.net/manual/en/ref.soap.php for more information
$request['WebAuthenticationDetail'] = array(
'UserCredential' =>array(
'Key' => getProperty('key'),
'Password' => getProperty('password')
)
);
$request['ClientDetail'] = array(
'AccountNumber' => getProperty('shipaccount'),
'MeterNumber' => getProperty('meter')
);
$request['TransactionDetail'] = array('CustomerTransactionId' => ' *** Rate Request v13 using PHP ***');
$request['Version'] = array(
'ServiceId' => 'crs',
'Major' => '13',
'Intermediate' => '0',
'Minor' => '0'
);
$request['ReturnTransitAndCommit'] = true;
$request['RequestedShipment']['DropoffType'] = 'REGULAR_PICKUP'; // valid values REGULAR_PICKUP, REQUEST_COURIER, ...
$request['RequestedShipment']['ShipTimestamp'] = date('c');
$request['RequestedShipment']['ServiceType'] = 'INTERNATIONAL_PRIORITY'; // valid values STANDARD_OVERNIGHT, PRIORITY_OVERNIGHT, FEDEX_GROUND, ...
$request['RequestedShipment']['PackagingType'] = 'YOUR_PACKAGING'; // valid values FEDEX_BOX, FEDEX_PAK, FEDEX_TUBE, YOUR_PACKAGING, ...
$request['RequestedShipment']['TotalInsuredValue']=array('Ammount'=>100,'Currency'=>'USD');
$request['RequestedShipment']['Shipper'] = addShipper();
$request['RequestedShipment']['Recipient'] = addRecipient();
$request['RequestedShipment']['ShippingChargesPayment'] = addShippingChargesPayment();
$request['RequestedShipment']['RateRequestTypes'] = 'ACCOUNT';
$request['RequestedShipment']['RateRequestTypes'] = 'LIST';
$request['RequestedShipment']['PackageCount'] = '1';
$request['RequestedShipment']['RequestedPackageLineItems'] = addPackageLineItem1();
try
{
if(setEndpoint('changeEndpoint'))
{
$newLocation = $client->__setLocation(setEndpoint('endpoint'));
}
$response = $client ->getRates($request);
if ($response -> HighestSeverity != 'FAILURE' && $response -> HighestSeverity != 'ERROR')
{
$rateReply = $response -> RateReplyDetails;
echo '<table border="1">';
echo '<tr><td>Service Type</td><td>Amount</td><td>Delivery Date</td></tr><tr>';
$serviceType = '<td>'.$rateReply -> ServiceType . '</td>';
$amount = '<td>$' . number_format($rateReply->RatedShipmentDetails[0]->ShipmentRateDetail->TotalNetCharge->Amount,2,".",",") . '</td>';
if(array_key_exists('DeliveryTimestamp',$rateReply)){
$deliveryDate= '<td>' . $rateReply->DeliveryTimestamp . '</td>';
}else if(array_key_exists('TransitTime',$rateReply)){
$deliveryDate= '<td>' . $rateReply->TransitTime . '</td>';
}else {
$deliveryDate='<td> </td>';
}
echo $serviceType . $amount. $deliveryDate;
echo '</tr>';
echo '</table>';
printSuccess($client, $response);
}
else
{
printError($client, $response);
}
writeToLog($client); // Write to log file
} catch (SoapFault $exception) {
printFault($exception, $client);
}
function addShipper(){
$shipper = array(
'Contact' => array(
'PersonName' => 'Sender Name',
'CompanyName' => 'Sender Company Name',
'PhoneNumber' => '9012638716'),
'Address' => array(
'StreetLines' => array('Address Line 1'),
'City' => 'Collierville',
'StateOrProvinceCode' => 'TN',
'PostalCode' => '38017',
'CountryCode' => 'US')
);
return $shipper;
}
function addRecipient(){
$recipient = array(
'Contact' => array(
'PersonName' => 'Recipient Name',
'CompanyName' => 'Company Name',
'PhoneNumber' => '9012637906'
),
'Address' => array(
'StreetLines' => array('Address Line 1'),
'City' => 'Richmond',
'StateOrProvinceCode' => 'BC',
'PostalCode' => 'V7C4V4',
'CountryCode' => 'CA',
'Residential' => false)
);
return $recipient;
}
function addShippingChargesPayment(){
$shippingChargesPayment = array(
'PaymentType' => 'SENDER', // valid values RECIPIENT, SENDER and THIRD_PARTY
'Payor' => array(
'ResponsibleParty' => array(
'AccountNumber' => getProperty('billaccount'),
'CountryCode' => 'US')
)
);
return $shippingChargesPayment;
}
function addLabelSpecification(){
$labelSpecification = array(
'LabelFormatType' => 'COMMON2D', // valid values COMMON2D, LABEL_DATA_ONLY
'ImageType' => 'PDF', // valid values DPL, EPL2, PDF, ZPLII and PNG
'LabelStockType' => 'PAPER_7X4.75');
return $labelSpecification;
}
function addSpecialServices(){
$specialServices = array(
'SpecialServiceTypes' => array('COD'),
'CodDetail' => array(
'CodCollectionAmount' => array('Currency' => 'USD', 'Amount' => 150),
'CollectionType' => 'ANY')// ANY, GUARANTEED_FUNDS
);
return $specialServices;
}
function addPackageLineItem1(){
$packageLineItem = array(
'SequenceNumber'=>1,
'GroupPackageCount'=>1,
'Weight' => array(
'Value' => 50.0,
'Units' => 'LB'
),
'Dimensions' => array(
'Length' => 108,
'Width' => 5,
'Height' => 5,
'Units' => 'IN'
)
);
return $packageLineItem;
}
?>
所以请访问 fedex.com,下载带有库的 wsdl 或 xml 等等。运行此代码,您将收到报价。重要的是要说您需要一个帐户才能访问该区域,您将在该区域收到一个测试仪表帐户进行尝试,然后转到生产环境。希望对您有所帮助。
关于php - FedEx express 汇率 API 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18513269/
是否有人足够熟悉 FedEx API 来让 Dry Ice 工作? 干冰的 FedEx 文档在这里:https://www.fedex.com/us/developer/WebHelp/ws/2014
我正在与 FedEx 国际船舶服务集成。但我真的被困在一个部分。我正在尝试使用他们的测试环境创建原产地证书。我遵循了 xml 模式并提出了以下代码 private static void SetCus
我有一个工作请求,要求使用标准 FedEx 费率获取我的货件费率,但我想使用特殊的 FedEx One Rate 选项,以便获得他们的统一费率报价。 不幸的是,他们的代码示例没有显示如何指定费率请求应
我想知道如何使用 eBay API 将“标准运输(FedEx Ground 或 FedEx Home Delivery®)”指定为运输服务。任何人都可以提供任何指示吗?所有示例仅使用“标准运输”选项。
我有一个客户问他们的Web应用程序(PHP)是否可以轻松地打印到UPS/Fedex热敏标签打印机。 因此,例如,我可以从UPS/Fedex取回带有运输标签的PDF。我只需要打印即可。 有人知道您是否可
我想在我的电子商务网站中应用 FedEx API。 但我不知道如何应用该 API。 我已经完成了“测试 key 注册”并获得了测试帐户信息。 所以我接下来要做什么。 谢谢 最佳答案 以下答案是关于作为
条件: 我们需要我们 Magento 网站的默认显示货币是美元,Paypal(基础货币)也需要是美元(因为我们需要客户以美元支付)。 我们的 Fedex a/c 是在新加坡开设的,结果发现运费是以新加
我想使用 FedEx API 在 python 中进行运输。我安装了 FedEx express 库: pip install fedex 但是当我尝试使用它时出现错误。请帮忙。 from fedex
我们使用 FedEx 作为我们的托运人。他们的标签打印机将我们限制在每个地址行 35 个字符。我的同事正在讨论如果第一行超过 35 个字符的限制,将地址行拆分为第二个地址行。我们在使用他们的地址验证服
我正在使用 Fedex 网络服务并希望重新生成运输标签。是否有 SOAP 请求,我可以在其中提供跟踪编号并让联邦 express 返回 pdf 标签,或者在使用 ShipService 创建货件时是否
我正在尝试连接到 FedEx 运输网络服务 v8。 当我只设置一个 RequestedPackageLineItems 时,一切正常。当我添加两个项目时,出现以下错误。 “无效的包裹计数或无效的包裹序
我正在尝试从 FedEx 获取运输报价。我找到了 this库,它似乎完全符合我的要求,但它不起作用(在下面的评论中,开发人员指出 FedEx API 已更改)。使用上述库我得到一个:Error 405
我正在开发一个需要打印 FEDEX 运输标签的 .NET WinForms 应用程序。作为 FedEx api 的一部分,我可以获得打印机的原始标签数据。 我只是不知道如何通过 .NET 将该数据发送
有人可以帮我使用uTls修复我的TLS吗?每当我尝试对https://www.fedex.com/的GET请求时,我都会得到: Get "https://www.fedex.com/": uTlsCo
我正在 Magento 网站中配置 FEDEX 运输。我通过登录测试 FEDEX 帐户获得了测试帐号、密码、API key 和电表号码。我在 Magento 中配置了自己。看起来一切都很好。但我不知道
RATED_ACCOUNT_PACKAGE 和 PAYOR_ACCOUNT_PACKAGE 有什么区别? RATED_LIST_PACKAGE 和 PAYOR_LIST_PACKAGE 怎么样?我检查
我在 FedEx 网站上有测试 key 、帐号和密码。 我试图测试 FedEx API,但我不知道我可以在网站上哪里进行测试。 我找不到任何测试菜单。我检查了我的电子邮件,我收到了带有测试 URL 的
我已经从 Fed Ex 的开发人员资源中心下载了 C# Rate Service 示例代码。我用我的测试 key 和密码编辑了代码项目构建正常,但它一直在寻找示例代码中不存在且文档中未引用的设置文件。
如何在不访问网络服务的情况下验证潜在的 Fedex 跟踪号码?我听说 Fedex 使用了 Luhn 算法的修改版本。 最佳答案 检查 google answer . ground 有不同的算法并表达。
我正在将 FEDEX Tracking、Rate 和 Shipping API 集成到我的应用程序中,但我遇到了一个问题。 当我使用开发者帐户详细信息运行我的代码时,一切运行正常。但是当我使用生产 k
我是一名优秀的程序员,十分优秀!