Hi, I'm trying to develop Weblink integration for Zebra Label Printers in our Spring Boot based backend.
I managed to communicate with the printer, but I'm a bit puzzled about the initial 'discovery_b64' message. I can't find any documentation on what that Base64 string contains or how to interpret it.
So I get a b64 message like "OiwuBAUBAA...QbAAA=:a447" - to even decode that String I have to remove the "a447" postfix. When I decode it as UTF-8 (or ASCII), there are some string I recognize (printer name, firmware version), but the stuff inbetween looks binary. Is that some serialized class? Where can I find some documentation on how to map this?
Weblink protocol parsing |
1 Replies
By the way, I found this one year old thread (https://developer.zebra.com/thread/30309), where they said they would publish new documentation. I can't find that, only the "Creating your own Weblink endpoint" document which is from 2015 (!) and the one in the SDK is almost identical.
Other than the content of "discovery_b64", some questions:
Connection requests contain a Cookie "ZebraID", that value is equal to the serial number (or device.unique_id) of my printer and equal to the unique_id in the open channel response messages. Is that guaranteed, or just coincidence?
The docs give the example of requesting config: {}{"device.friendly_name":null} - is it possible to add multiple fields?
EDIT 13.04.2020: I found an answer for the last question in the Zebra Programming Guide. You can ask for multiple fields.