EasyPost API - опция print_custom_1 не будет печататься на этикетке

Это сводит меня с ума более часа. Я новичок в EasyPost и пытаюсь нанести на свой ярлык какой-нибудь нестандартный текст (в моем конкретном случае это тот, который SKU должен положить в пакет), но, похоже, он никогда не работал. Я использую официальный пакет nuget от easypost, но полагаю, что он не зависит от платформы.

Shipment shipment = new Shipment() {
    to_address = toAddress,
    from_address = fromAddress,
    parcel = parcel
};

shipment.Create();
var lowestRate = shipment.LowestRate(includeServices: new List<string>() { "First" }, includeCarriers: new List<string>() { "USPS" });

shipment.Buy(lowestRate);

shipment.options.Add("print_custom_1", "this is some sample text");
shipment.options.Add("print_custom_2", "abc");
shipment.options.Add("print_custom_3", "xyz");

shipment.GenerateLabel("pdf");

1 ответ

Решение

Ну, это раздражало. Это имеет смысл, когда вы отступаете от этого. Проблема заключается в том, что параметры должны быть установлены до создания отправки. В моей голове это была проблема, связанная только с печатью (и она есть), но есть и другие варианты, которые могут повлиять на стоимость доставки, а это означает, что этот параметр необходимо установить при создании отгрузки. Даже настройка параметров после создания, но до того, как вы "купите", не работает.

Смотрите рабочий код ниже:

Shipment shipment = new Shipment() {
    to_address = toAddress,
    from_address = fromAddress,
    parcel = parcel
};

//DO THIS BEFORE CREATING!
shipment.options = new Dictionary<string, object>();
shipment.options.Add("print_custom_1", "this is some sample text");
shipment.options.Add("print_custom_2", "abc");
shipment.options.Add("print_custom_3", "xyz");

shipment.Create();
var lowestRate = shipment.LowestRate(includeServices: new List<string>() { "First" }, includeCarriers: new List<string>() { "USPS" });

shipment.Buy(lowestRate);

shipment.GenerateLabel("pdf");
Другие вопросы по тегам