Как я могу генерировать UPS HighValueReport? - PullRequest
1 голос
/ 04 октября 2011

Я пытаюсь перейти от тестирования ИБП к производству.Они требовали, чтобы я прошел некоторые тесты.Одним из них является создание HighValueReport с использованием значения застрахованного, превышающего 999 долларов США.

Я не знаю свойства этого застрахованного значения, и я не нашел ответа и в Google.1005 *

Ответы [ 2 ]

1 голос
/ 06 октября 2011

Застрахованное значение должно быть частью элемента Package.

<ShipmentConfirmRequest>
<Shipment>
<Package>
<PackageWeight>
<UnitOfMeasurement>
<Code>LBS</Code>
</UnitOfMeasurement>
<Weight>5.0</Weight>
</PackageWeight>
<PackageServiceOptions>
<InsuredValue>
<CurrencyCode>USD</CurrencyCode>
<MonetaryValue>1000</MonetaryValue>
</InsuredValue>
</PackageServiceOptions>
</Package>
</Shipment>
</ShipmentConfirmRequest>

Как только вы отправите свое высокое значение, вы получите контрольный журнал, возвращенный в элементе.Распечатайте две копии контрольного журнала.

0 голосов
/ 29 ноября 2011

Только что выполнил те же задачи по производству и доставке ИБП, что и сертификация.Вам нужно будет создать PackageDeclaredValueType, который является дочерним по отношению к PackageServiceOptionsType.Вот мой код C # для веб-службы SOAP для генерации HTML-отчета «High Value».

Несмотря на то, что в документации UPS указано, что этот отчет будет «изображением», которое я подтвердил службой поддержки UPS, что это текст HTMLна этот раз и называется "ControlLogReceipt" в ответе XML.

//-- XML Path: ShipmentRequest/Shipment/Package/PackageServiceOptions/DeclaredValue
PackageServiceOptionsType packServiceOptions = new PackageServiceOptionsType();
PackageDeclaredValueType decType = new PackageDeclaredValueType();
decType.CurrencyCode = "USD";
decType.MonetaryValue = "1199";

//-- Next four lines  may not be needed
DeclaredValueType decType2 = new DeclaredValueType();
decType2.Code = "01";   //Defaults to 01 - EVS
decType2.Description = "My generic description";
decType.Type = decType2;
//-- End four lines that may not be needed

packServiceOptions.DeclaredValue = decType;
package.PackageServiceOptions = packServiceOptions;

//...

//-- Submit request
ShipmentResponse shipmentResponse = shpSvc.ProcessShipment(shipmentRequest);

//-- High Value Report aka Declared Value Report aka Control Log
byte[] high_value_bytes = Convert.FromBase64String(shipmentResponse.ShipmentResults.ControlLogReceipt[0].GraphicImage);
string high_value_htmltext = System.Text.Encoding.ASCII.GetString(high_value_bytes);
...