PDF adds a conversion
Redrawing a native thermal label introduces another place for size and barcode fidelity to change.
Shipping labels
Ask the carrier for ZPL, base64-encode the response, and send it to the printer at the pack bench. RocketPrint passes raw printer languages through untouched.
No rasterization step between the label API and the thermal printer.
The operational gap
Carrier APIs solve rate shopping and label generation. Production printing still needs a reliable bridge into the warehouse.
Redrawing a native thermal label introduces another place for size and barcode fidelity to change.
Someone has to choose a destination and dismiss a dialog for every shipment.
A webhook delivery or worker retry must not automatically create a second label.
The RocketPrint path
Keep label purchase in the carrier integration you already use and make RocketPrint the final delivery step.
Ask EasyPost, ShipStation, or your carrier for the printer-native label when available.
Map the order location to the RocketPrint printer ID stored for that bench.
Create a raw_base64 job with an idempotency key derived from the shipment ID.
What changes
The printer interprets its own language at its own resolution.
Location logic remains a normal lookup in your application.
Labels wait safely while a station is offline.
Store the RocketPrint job ID next to the shipment record.
Start with one printer
Install RocketPrint Station beside a printer, send one request, and keep the job ID. That is the whole path.