API PDF упаковочных листов для fulfillment workflows
Генерируйте PDF packing slips из данных заказа, shipment, carton и items для ecommerce, 3PL, OMS и складского fulfillment.
/api/v1/template-render Рендерить packing slips из shipment, recipient, item и carton data, чтобы fulfillment teams могли печатать или вкладывать стабильный документ для каждого outbound order.
Когда использовать эту API
- Ваша OMS или WMS уже содержит order items, quantities, recipient data и shipment identifiers.
- Нужен PDF packing slip для warehouse print stations или customer parcel inserts.
- Один утвержденный layout должен использоваться в нескольких складах, брендах или sales channels.
- Может потребоваться barcode или QR code для order lookup или return intake.
Что она не заменяет
- Нужно купить postage, рассчитать shipment или создать carrier label.
- Нужно управление warehouse inventory, а не document rendering.
- Нужна семантика legal invoice или e-invoice.
Какой endpoint вызывать
/api/v1/template-render
Template Render — путь по умолчанию для этого сценария.
/api/v1/pdf/render
Используйте, когда сценарию нужен связанный API-путь, контракт шаблона или проверка возможностей.
Минимальный запрос
POST /api/v1/template-render - template packing_list с одним shipment.
{
"template_id": "packing_list",
"data": [
{
"shipment": {
"number": "PL-2026-1001",
"date": "2026-05-29"
},
"shipper": {
"name": "Acme Warehouse",
"address": "1200 Logistics Pkwy"
},
"consignee": {
"name": "Receiver Inc.",
"address": "123 Main St"
},
"items": [
{
"item_no": "1",
"description": "Replacement filter",
"quantity": "2",
"unit": "pcs",
"gross_weight": "1.2 kg",
"net_weight": "1.0 kg"
}
]
}
]
}
Что выполняет gPdf
- Template Render для опубликованных layouts упаковочных листов.
- JSON Render для custom packing slip pages во время дизайна или one-off workflows.
- Таблицы, item rows, address blocks, опциональные штрихкоды и PDF output.
- Детерминированную перепечатку при использовании тех же data и template.
Что контролирует ваша система
- Order data, item quantities, shipment state, warehouse routing и customer messaging.
- Template field mapping, print station routing и reprint policy.
- Любой carrier, customs или invoice document, который должен идти с посылкой.
Production-чеклист
- Проверьте самые длинные комбинации SKU, item name и address.
- Проверьте случаи one-item, multi-carton, backorder и partial shipment.
- Используйте Template Render после утверждения layout упаковочного листа.
- Логируйте `template_id` и X-Request-Id для каждого fulfillment print request.
- Держите carrier label generation отдельно от рендеринга packing slip.
Границы заявлений
- gPdf рендерит PDF упаковочного листа; он не управляет inventory или fulfillment state.
- Packing slip не становится автоматически tax invoice или customs document.
- Carrier label purchase и shipment rating остаются вне gPdf.
Packing slips хорошо подходят для template path
У packing slips обычно стабильная структура: shipper, recipient, shipment number, item rows и опциональные notes. Поэтому Template Render хорошо подходит после утверждения layout.
JSON Render остается полезным на этапе дизайна. Он позволяет команде настроить
columns, spacing, barcode placement и page breaks перед публикацией стабильного
контракта template_id.
FAQ
- Packing slip — это отдельный endpoint gPdf?
- Нет. Используйте Template Render для утвержденного packing slip template или JSON Render, когда ваша система описывает layout напрямую.
- Можно ли добавлять штрихкоды в packing slips?
- Да. gPdf может рендерить barcode elements в PDF. Ваша система отвечает за закодированный order, carton или return payload.
- Создает ли gPdf carrier labels?
- Нет. Carrier labels — отдельный workflow. gPdf рендерит PDF из данных, которые предоставляет ваш carrier или shipping system.
- Можно ли одним request отрендерить несколько packing slips?
- Template Render принимает data array для нескольких items в одном request, в пределах публичных API limits, задокументированных для endpoint.