# Application Group 0x00 - Device Information Messages

This section documents the full set of messages that can be exchanged between the device and the host.

**Command 0x00:0x10 - Get Product ID**

The host uses this command to get the device’s product ID.

Table 4-1 - Message Structure for Command 0x00:0x10 - Get Product ID

<table data-header-hidden><thead><tr><th width="73.36358642578125" valign="top"></th><th width="74" valign="top"></th><th width="191.81817626953125" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">10</td><td>Command ID Data Object (Tag C2) = 0x10 Get Product ID</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00:0x10 - Get Product ID

<table data-header-hidden><thead><tr><th width="73.3636474609375" valign="top"></th><th width="109.45452880859375" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">10</td><td>Command ID Data Object (Tag C2) = 0x10 Get Product ID</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top">C4</td><td valign="top">Calculated</td><td valign="top">Data Field Data Object (Tag C4 or E0) = Product ID, e.g., 5999</td><td></td></tr></tbody></table>

**Command 0x00::0x12 - Get Capability String**

The host uses this command to get the device’s Capability String.

## Table - Message Structure for Command 0x00::0x12 - Get Capability String

<table data-header-hidden><thead><tr><th width="71.54541015625" valign="top"></th><th width="80.45452880859375" valign="top"></th><th width="199.8182373046875" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">12</td><td>Command ID Data Object (Tag C2) = 0x12 Get Capability String</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x12 - Get Capability String

<table data-header-hidden><thead><tr><th width="70.6363525390625" valign="top"></th><th width="106.81817626953125" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">12</td><td>Command ID Data Object (Tag C2) = 0x12 Get Capability String</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>C4</p></td><td valign="top"><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>Calculated</p></td><td valign="top"><p>Data Field Data Object (Tag C4 or E0) =</p><p>Null-terminated string similar to</p><p>“V=1,SC=1,SR=1,TR=1,MS2=1,PFK=1,UDE=2,CE=2,CLE=1,DR=1” where each of</p><p>the comma-separated name-value pairs represents a device capability:</p><p>V = Device Version</p><p>SC = Signature Capture Support, 1=Supported, 0=Not Supported SR = SRED, 1=SRED, 0=NON-SRED</p><p>TR = Token Reversal Support, 1=Supported, 0=Not Supported MS2 = MagneSafe 2.0 Support, 1=Supported, 0=Not Supported PFK = PIN Fixed Key Support, 1=Supported, 0=Not Supported</p><p>UDE = User Data Entry Mode, 1=Encrypted Only, 2=Clear Text and Encrypted CE = Contact EMV Level Support, 1=L1, 2=L2</p><p>CLE = Contactless EMV Level Support, 0=Not Supported,1=L1, 2=L2 DR = Delayed Response Support, 1=Supported, 0=Not Supported SIGN = Device Signing Certificate support, 1=Supported</p></td><td></td></tr></tbody></table>

**Command 0x00::0x13 - Get Manufacturer**

The host uses this command to get the device manufacturer.

## Table - Message Structure for Command 0x00::0x13 - Get Manufacturer

<table data-header-hidden><thead><tr><th width="73.36358642578125" valign="top"></th><th width="68.54541015625" valign="top"></th><th width="188.45458984375" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">13</td><td>Command ID Data Object (Tag C2) = 0x13 Get Manufacturer</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x13 - Get Manufacturer

<table data-header-hidden><thead><tr><th width="71.54541015625" valign="top"></th><th width="105.90911865234375" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">13</td><td>Command ID Data Object (Tag C2) = 0x13 Get Manufacturer</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top">C4</td><td valign="top">Calculated</td><td valign="top">Data Field Data Object (Tag C4 or E0) = Manufacturer, e.g., MagTek, Inc.</td><td></td></tr></tbody></table>

**Command 0x00::0x14 - Get Product Name**

The host uses this command to get the device’s product name.

## Table - Message Structure for Command 0x00::0x14 - Get Product Name

<table data-header-hidden><thead><tr><th width="75.1817626953125" valign="top"></th><th width="73.0909423828125" valign="top"></th><th width="193.54547119140625" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">14</td><td>Command ID Data Object (Tag C2) = 0x14 Get Product Name</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x14 - Get Product Name

<table data-header-hidden><thead><tr><th width="81.54547119140625" valign="top"></th><th width="105.6363525390625" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">14</td><td>Command ID Data Object (Tag C2) = 0x14 Get Product Name</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top">C4</td><td valign="top">Calculated</td><td valign="top">Data Field Data Object (Tag C4 or E0) = Product Name, e.g., oDynamo</td><td></td></tr></tbody></table>

**Command 0x00::0x15 - Get Secure Tracking Number**

The host uses this command to get the device’s secure tracking number.

## Table - Message Structure for Command 0x00::0x15 - Get Secure Tracking Number

<table data-header-hidden><thead><tr><th width="75.1817626953125" valign="top"></th><th width="71.272705078125" valign="top"></th><th width="205.45458984375" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">15</td><td>Command ID Data Object (Tag C2) = 0x15 Get Secure Tracking Number</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x15 - Get Secure Tracking Number

<table data-header-hidden><thead><tr><th width="68.81817626953125" valign="top"></th><th width="67.81817626953125" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">15</td><td>Command ID Data Object (Tag C2) = 0x15 Get Secure Tracking Number</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top"><p> </p><p>C4</p></td><td valign="top"><p> </p><p>26</p></td><td valign="top"><p>Data Field Data Object (Tag C4 or E0) = Bytes 0..25 Secure Tracking Number</p><p>ASCII string. Example “B55984678901234567890123456”</p></td><td></td></tr></tbody></table>

**Command 0x00::0x16 - Get Firmware Version**

The host uses this command to get the device’s firmware version.

## Table - Message Structure for Command 0x00::0x16 - Get Firmware Version

<table data-header-hidden><thead><tr><th width="67" valign="top"></th><th width="68.81817626953125" valign="top"></th><th width="192.3636474609375" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">16</td><td>Command ID Data Object (Tag C2) = 0x16 Get Firmware Version</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x16 - Get Firmware Version

<table data-header-hidden><thead><tr><th width="72.45452880859375" valign="top"></th><th width="108.63641357421875" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">16</td><td>Command ID Data Object (Tag C2) = 0x16 Get Firmware Version</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top">C4</td><td valign="top">Calculated</td><td valign="top">Data Field Data Object (Tag C4 or E0) = Firmware Version, e.g., 1000004854-B1-PCI</td><td></td></tr></tbody></table>

**Command 0x00::0x18 - Get Network Information (Ethernet Only)**

The host uses this command to get information about the device’s network connection.

## Table - Message Structure for Command 0x00::0x18 - Get Network Information (Ethernet Only)

<table data-header-hidden><thead><tr><th width="86.09088134765625" valign="top"></th><th width="76.3636474609375" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">18</td><td>Command ID Data Object (Tag C2) = 0x18 Get Network Information</td></tr><tr><td valign="top"><p> </p><p>C4</p></td><td valign="top"><p> </p><p>01</p></td><td valign="top"><p>Data Field Data Object (Tag C4 or E0) = Type of Information</p><p>0x00 = Request Ethernet MAC Address 0x01 = Request Ethernet IP Address</p></td><td></td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x18 - Get Network Information (Ethernet Only)

<table data-header-hidden><thead><tr><th width="76.09088134765625" valign="top"></th><th width="115.727294921875" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">18</td><td>Command ID Data Object (Tag C2) = 0x18 Get Network Informations</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top"><p> </p><p> </p><p> </p><p>C4</p></td><td valign="top"><p> </p><p> </p><p> </p><p>Calculated</p></td><td valign="top"><p>Data Field Data Object (Tag C4 or E0) = Byte 0 Type of Information</p><p>0x00 = Ethernet MAC Address 0x01 = Ethernet IP Address</p><p>Bytes 1..n.Network Information String</p><p>MAC Address in ASCII format, e.g., 112233445566 or IP Address e.g., 111.222.333.444</p></td><td></td></tr></tbody></table>

**Command 0x00::0x23 - Get Boot Loader Version**

The host uses this command to get the device’s boot loader version.

## Table - Message Structure for Command 0x00::0x23 - Get Boot Loader Version

<table data-header-hidden><thead><tr><th width="78.8182373046875" valign="top"></th><th width="78.45452880859375" valign="top"></th><th width="200.45458984375" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">23</td><td>Command ID Data Object (Tag C2) = 0x23 Get Boot Loader Version</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x23 - Get Boot Loader Version

<table data-header-hidden><thead><tr><th width="78.8182373046875" valign="top"></th><th width="91.18182373046875" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">23</td><td>Command ID Data Object (Tag C2) = 0x23 Get Boot Loader Version</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top">C4</td><td valign="top">Calculated</td><td valign="top">Data Field Data Object (Tag C4 or E0) = Boot loader version, e.g., 1000004194-A0-PCI</td><td></td></tr></tbody></table>

**Command 0x00::0x27 - Get CT-L2 Version**

The host uses this command to get the device’s EMV L2 version, if any.

## Table - Message Structure for Command 0x00::0x27 - Get CT-L2 Version

<table data-header-hidden><thead><tr><th width="78.81817626953125" valign="top"></th><th width="74.81817626953125" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">27</td><td>Command ID Data Object (Tag C2) = 0x27 Get CT-L2 Version</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x27 - Get CT-L2 Version

<table data-header-hidden><thead><tr><th width="84.272705078125" valign="top"></th><th width="111.9090576171875" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">27</td><td>Command ID Data Object (Tag C2) = 0x27 Get CT-L2 Version</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top">C4</td><td valign="top">Calculated</td><td valign="top"><p>Data Field Data Object (Tag C4 or E0) =</p><p>ASCII string containing version info. For example “JIBE EMV L2 4.3j Version C”</p></td><td></td></tr></tbody></table>

**Command 0x00::0x28 - Get Serial Number**

The host uses this command to get the device’s serial number.

## Table - Message Structure for Command 0x00::0x28 - Get Serial Number

<table data-header-hidden><thead><tr><th width="65.18182373046875" valign="top"></th><th width="64.27276611328125" valign="top"></th><th width="200.81817626953125" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">01</td><td>Message Type Data Object (Tag C0) = 0x01 Command</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">28</td><td>Command ID Data Object (Tag C2) = 0x28 Get Serial Number</td></tr></tbody></table>

If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:

## Table - Response to Command 0x00::0x28 - Get Serial Number

<table data-header-hidden><thead><tr><th width="68.81817626953125" valign="top"></th><th width="71.45458984375" valign="top"></th><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Tag</td><td valign="top">Len</td><td valign="top">Value(s) / Description</td><td></td></tr><tr><td valign="top">C0</td><td valign="top">01</td><td valign="top">02</td><td>Message Type Data Object (Tag C0) = 0x02 Response</td></tr><tr><td valign="top">C1</td><td valign="top">01</td><td valign="top">00</td><td>Application ID Data Object (Tag C1) = 0x00 Device Information</td></tr><tr><td valign="top">C2</td><td valign="top">01</td><td valign="top">28</td><td>Command ID Data Object (Tag C2) = 0x28 Get Serial Number</td></tr><tr><td valign="top">C3</td><td valign="top">01</td><td valign="top">00</td><td>Result Code Data Object (Tag C3) = 0x00 OK / Done</td></tr><tr><td valign="top">C4</td><td valign="top">10</td><td valign="top"><p>Data Field Data Object (Tag C4 or E0) =</p><p>Serial Number is 16 bytes long in ASCII., e.g., “1111000050123456”</p></td><td></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.magtek.com/hardware/oem-readers-and-components/oem-readers/odynamo/documentation/programmers-manuals/programmers-manual-commands/command-set/application-group-0x00-device-information-messages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
