Php 联邦快递API。装运标签。多包装运

Php 联邦快递API。装运标签。多包装运,php,fedex,Php,Fedex,我正在使用联邦快递API来打印运输标签。1个文件包的标签打印成功,但当我尝试打印多个文件包时,出现错误: stdClass Object ( [Severity] => ERROR [Source] => ship [Code] => 2463 [Message] => The number of RequestedPackages in the RequestedShipment must be equal to 1 [LocalizedMessage] => T

我正在使用联邦快递API来打印运输标签。1个文件包的标签打印成功,但当我尝试打印多个文件包时,出现错误:

stdClass Object
(
[Severity] => ERROR
[Source] => ship
[Code] => 2463
[Message] => The number of RequestedPackages in the RequestedShipment must be equal to 1
[LocalizedMessage] => The number of RequestedPackages in the RequestedShipment must be    equal to 1
)
在请求中我包括了总重量和包装数量,但没有

$request['WebAuthenticationDetail'] = array('UserCredential' =>array('Key' => $auth['key'], 'Password' => $auth['password']));
$request['ClientDetail'] = array('AccountNumber' => $auth['accountNumber'], 'MeterNumber' => $auth['meterNumber']);
$request['TransactionDetail'] = array('CustomerTransactionId' => '*** Ground Domestic Shipping Request v12 using PHP ***');
$request['Version'] = array('ServiceId' => 'ship', 'Major' => '12', 'Intermediate' => '1', 'Minor' => '0');
$request['RequestedShipment'] = array('ShipTimestamp' => date('c'),
                                      'DropoffType' => 'REGULAR_PICKUP', // valid values REGULAR_PICKUP, REQUEST_COURIER, DROP_BOX, BUSINESS_SERVICE_CENTER and STATION
                                      'ServiceType' => 'FEDEX_GROUND', // valid values STANDARD_OVERNIGHT, PRIORITY_OVERNIGHT, FEDEX_GROUND, ...
                                      'PackagingType' => 'YOUR_PACKAGING', // valid values FEDEX_BOX, FEDEX_PAK, FEDEX_TUBE, YOUR_PACKAGING, ...
                                      'Shipper' => $this->addShipper(),
                                      'Recipient' => $this->recipient,
                                      'ShippingChargesPayment' => $this->addShippingChargesPayment(),
                                      'LabelSpecification' => $this->addLabelSpecification(), 
                                      'RateRequestTypes' => array('LIST'), // valid values ACCOUNT and LIST
                                      'PackageCount' => count($this->packages),
                                      'TotalWeight' => array('Value' => array_sum($this->packages), 'Units' => 'LB'),
                                      'TotalShipmentWeight' => array('Value' => array_sum($this->packages), 'Units' => 'LB'),
                                      'PackageDetail' => 'INDIVIDUAL_PACKAGES',                                        
                                      'RequestedPackageLineItems' => $this->packageLineItem//array('0' => $this->packageLineItem)
);      


$this->packageLineItem[] = array('SequenceNumber'=>$i,
              'GroupPackageCount' => count($this->packages),
              'MasterTrackingID' => '123123123123',
              'TotalShipmentWeight' => array('Value' => array_sum($this->packages), 'Units' => 'LB'),
              'Weight' => array('Value' => $this->packages[$i-1], //weight!!!!!!!!!!!!!
                                'Units' => 'LB'),
              'CustomerReferences' => array('0' => array('CustomerReferenceType' => 'CUSTOMER_REFERENCE', 
                                                         'Value' => 'GR4567892'), // valid values CUSTOMER_REFERENCE, INVOICE_NUMBER, P_O_NUMBER and SHIPMENT_INTEGRITY
                                            '1' => array('CustomerReferenceType' => 'INVOICE_NUMBER', 
                                                         'Value' => 'INV4567892'),
                                            '2' => array('CustomerReferenceType' => 'P_O_NUMBER', 
                                                         'Value' => 'PO4567892')),
              'SpecialServicesRequested' => array('SpecialServiceTypes' => array('COD'),
                                                  'CodDetail' => array('CodCollectionAmount' => array('Currency' => 'USD', 'Amount' => 150),
                                                                       'CollectionType' => 'ANY')// ANY, GUARANTEED_FUNDS
                                                 )
 );

有人知道如何成为有效的请求吗?

联邦快递手册有一个错误:“MasterTrackingID”是错误的。“MasterTrackingId”是正确的。

联邦快递费率API和联邦快递配送API之间存在差异。您可以使用一个SOAP请求对多个包进行评级;但是,要装运多件装运(MPS),您必须对每个包裹执行装运请求

第一个包(第一个请求中的包)将是您的主机,包含主机跟踪号。一旦你有了这个主跟踪号码,你就必须把它附加到剩余包裹的发货请求上。有关MPS发货的更多信息,请参阅最新的《联邦快递开发商指南》,并从联邦快递开发商门户下载执行国内MPS快递发货的示例

需要注意的是,装运过程不是作为事务进行的,因此,如果您尝试装运3个包,并且包1和包2已成功提交,但包3由于未知原因而失败,则您有责任取消包1和包2或重新提交包3。我建议任何人在创建实际装运之前验证装运(使用相同的装运API)


最好的

你有没有得到过答案?尽管“MasterTrackingId”是正确的,但我目前收到了相同的错误。上的页面解释了多件货物的单次装运方法,但我一直收到相同的错误。知道为什么吗?我的意思是,你的回答表明这是不可能的。是否不再支持此功能?@ozzy我无法确定将主跟踪附加到剩余包裹的装运请求的位置?我在做C#但是任何代码示例都会很好。我会对每个包单独收费还是只对第一个包设置收费字段?我在谷歌上搜索了《联邦快递开发人员指南》,没有找到任何MPS soap请求的实际示例。