RFID Encoder/Decoder API

Read on for documentation of the RFIDcoder API.

General considerations

RFIDcoder's Application Programming Interface (API) is a Representation State Transfer (REST) API, using HTTP as the transport protocol and Javascript Object Notation (JSON) as the output payload format.

All requests are HTTP GET requests, and take the form:

http://www.rfidcoder.com/api/<input parameters>?apikey=your-key-here&<other input parameters>

The details of the input parameters depend on which operation you are calling. In all cases, you must include your API key, which you will receive after you register for an account and log in.

The response to your request is a payload in JSON format. In most cases, the response will include your input parameters (other than the API key). If the operation was successful, your output will include the results of encoding or decoding your input.

The output is organized into sections. If the operation is successful, your output will include one or more of the following sections:

Section Description
versionGives the version number for RFIDcoder's output format. Currently this is 1.0 and will only change if an incompatible change is made in the future.
tagContains the encoded contents of the RFID tag's EPC memory bank (in hexadecimal), along with related information such as the EPC Tag URI.
epcContains the EPC URI, if the EPC memory bank contains an EPC conforming to the GS1 EPC Tag Data Standard.
gs1Contains the contents of a GS1 bar code (a so-called GS1 Element String) and also individual GS1 identifiers such as the GTIN and serial number, if the contents of the EPC memory bank is a GS1 identifier or if the User Memory bank contains GS1 data.
userContains the encoded contents of the RFID tag's user memory bank (in hexadecimal), along with the values of each data element decoded from the user memory contents.
tidContains the encoded contents of the RFID tag's TID memory bank (in hexadecimal), along with the values of each data element decoded from the TID contents.
errorSee below.

If the operation failed, your output will include an error section containing the following fields:

Field Description
errorMessageA human-readable error message saying what went wrong
errorCodeA string that is unique to each type of error that can occur. Your application can use this to localize the error message or otherwise rephrase it to your liking.
errorParametersSome error messages include bits of your input or other variable content. When an error message is like that, this field is an array of the variable portions. Your application can use this in conjunction with the errorCode to localize the error message or otherwise rephrase it to your liking. If the error message does not contain any variable parts, this field does not appear in the output.

Depending on the error, your output may also include partial results of encoding or decoding your input.

GS1 Company Prefix length

When translating a GS1 Key as found in a bar code to any of the other EPC forms (EPC URI, Tag URI, or binary/hexadecimal), it is necessary to indicate how many digits within the GS1 Key belong to the GS1 Company Prefix (GCP). This is because in the other EPC forms, there is an explicit separation between the GCP and the rest of the identifier. You do this via the gcplength parameter for the API methods that take a GS1 Key or bar code value as input.

You can obtain the correct value of gcplength from an outside source. If you are the company or organization that issued the GS1 Key, then you should know the length of the GS1 Company Prefix because you used it to create the GS1 Key in the first place. If you are a trading partner of the company that issued the GS1 Key, you may ask that company. Some GS1 Member Organizations (the bodies responsible for issuing GS1 Company Prefixes to companies that create GS1 Keys) publish lists of GS1 Company Prefixes that you can consult.

You can also let RFIDcoder try to figure out the length of the GS1 Company Prefix for you. If you omit the gcplength parameter, RFIDcoder uses data published by the GS1 Global Office to try to determine the correct length. In most cases, this succeeds, and your RFIDcoder output will include the correctly encoded EPC. You can also always supply gcplength to override what RFIDcoder infers if you don't think it is correct.

In some cases, RFIDcoder can't figure out the correct GCP length and you will get an error response instead. Usually, this happens because the GS1 Key you have entered was not properly issued by GS1. But there are some cases where RFIDcoder cannot figure out the length even though the number is a valid number. In such cases, you will have to supply the gcplength parameter.

Decoding the EPC memory bank

This decodes the EPC memory bank (represented in hexadecimal) to an EPC Tag URI, EPC URI, and GS1 Element String.

http://www.rfidcoder.com/api/tag/epc/epchex?apikey=apikey

Input Parameters

Parameter Description
epchexThe binary content of the EPC memory bank, expressed in hexadecimal
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal (identical to the input parameter)
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
gtinThe GTIN, if the EPC was an SGTIN
gtinSerialThe serial number, if the EPC was an SGTIN
ssccThe SSCC, if the EPC was an SSCC
glnThe GLN, if the EPC was an SGLN
glnExtThe GLN Extension, if the EPC was an SGLN
graiThe GRAI, if the EPC was a GRAI
giaiThe GIAI, if the EPC was a GIAI
gdtiThe GDTI, if the EPC was a GDTI
gsrnThe GSRN (service consumer), if the EPC was a GSRN
gsrnpThe GSRN (service provider), if the EPC was a GSRNP
gcnThe GCN, if the EPC was an SGCN
cpiThe CPI, if the EPC was a CPI
cpiSerialThe serial number, if the EPC was a CPI

Sample

Input:

http://www.rfidcoder.com/api/tag/epc/3034257BF7194E4000000190?apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3034257BF7194E4000000190",
    "tagUri" : "urn:epc:tag:sgtin-96:1.0614141.812345.400",
    "rawUri" : "urn:epc:raw:96.x3034257BF7194E4000000190",
    "epcTagScheme" : "sgtin-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:sgtin:0614141.812345.400",
    "epcScheme" : "sgtin",
    "epcComponents" : [ "0614141", "812345", "400" ]
  },
  "gs1" : {
    "gtin" : "80614141123458",
    "gtinSerial" : "400",
    "humanReadable" : "(01)80614141123458 (21)400",
    "elementString" : "018061414112345821400"
  }
}

Decoding an EPC Tag URI or EPC Raw URI

This decodes an EPC Tag URI or EPC Raw URI into an EPC URI and GS1 Element String, and also encodes the EPC Tag URI into the binary content of the EPC memory bank (expressed in hexadecimal).

http://www.rfidcoder.com/api/tag/uri/taguri?apikey=apikey

Input Parameters

Parameter Description
taguriAn EPC Tag URI or EPC Raw URI
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI (identical to the input parameter, if the input was an EPC Tag URI)
rawUriThe EPC Raw URI (identical to the input parameter, if the input was an EPC Raw URI)
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
gtinThe GTIN, if the EPC was an SGTIN
gtinSerialThe serial number, if the EPC was an SGTIN
ssccThe SSCC, if the EPC was an SSCC
glnThe GLN, if the EPC was an SGLN
glnExtThe GLN Extension, if the EPC was an SGLN
graiThe GRAI, if the EPC was a GRAI
giaiThe GIAI, if the EPC was a GIAI
gdtiThe GDTI, if the EPC was a GDTI
gsrnThe GSRN (service consumer), if the EPC was a GSRN
gsrnpThe GSRN (service provider), if the EPC was a GSRNP
gcnThe GCN, if the EPC was an SGCN
cpiThe CPI, if the EPC was a CPI
cpiSerialThe serial number, if the EPC was a CPI

Sample

Input:

http://www.rfidcoder.com/api/tag/uri/urn:epc:tag:sgtin-96:1.0614141.812345.400?apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3034257BF7194E4000000190",
    "tagUri" : "urn:epc:tag:sgtin-96:1.0614141.812345.400",
    "rawUri" : "urn:epc:raw:96.x3034257BF7194E4000000190",
    "epcTagScheme" : "sgtin-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:sgtin:0614141.812345.400",
    "epcScheme" : "sgtin",
    "epcComponents" : [ "0614141", "812345", "400" ]
  },
  "gs1" : {
    "gtin" : "80614141123458",
    "gtinSerial" : "400",
    "humanReadable" : "(01)80614141123458 (21)400",
    "elementString" : "018061414112345821400"
  }
}

Encoding/Decoding a pure identity EPC URI

This decodes a pure identity EPC URI a GS1 Element String, and also encodes it into the binary content of the EPC memory bank.

http://www.rfidcoder.com/api/epc/uri/epcuri?filter=filter&apikey=apikey

Input Parameters

Parameter Description
epcuriA pure identity EPC URI
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI (identical to the input parameter)
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
gtinThe GTIN, if the EPC was an SGTIN
gtinSerialThe serial number, if the EPC was an SGTIN
ssccThe SSCC, if the EPC was an SSCC
glnThe GLN, if the EPC was an SGLN
glnExtThe GLN Extension, if the EPC was an SGLN
graiThe GRAI, if the EPC was a GRAI
giaiThe GIAI, if the EPC was a GIAI
gdtiThe GDTI, if the EPC was a GDTI
gsrnThe GSRN (service consumer), if the EPC was a GSRN
gsrnpThe GSRN (service provider), if the EPC was a GSRNP
gcnThe GCN, if the EPC was an SGCN
cpiThe CPI, if the EPC was a CPI
cpiSerialThe serial number, if the EPC was a CPI

Sample

Input:

http://www.rfidcoder.com/api/epc/uri/urn:epc:id:sgtin:0614141.812345.400?filter=1&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3034257BF7194E4000000190",
    "tagUri" : "urn:epc:tag:sgtin-96:1.0614141.812345.400",
    "rawUri" : "urn:epc:raw:96.x3034257BF7194E4000000190",
    "epcTagScheme" : "sgtin-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:sgtin:0614141.812345.400",
    "epcScheme" : "sgtin",
    "epcComponents" : [ "0614141", "812345", "400" ]
  },
  "gs1" : {
    "gtin" : "80614141123458",
    "gtinSerial" : "400",
    "humanReadable" : "(01)80614141123458 (21)400",
    "elementString" : "018061414112345821400"
  }
}

Encoding the contents of a bar code (GS1 element string)

This encodes all data elements in a GS1 element string, as found in a GS1-compliant bar code such as GS1 DataMatrix, GS1 DataBar, GS1-128, or GS1 QR Code, into the RFID EPC memory bank and the user memory bank. If the element string contains an identifier that can be encoded as an EPC (SGTIN, SSCC, etc.) then the output will include epc and tag sections containing that identifier encoded as an EPC. Any other data elements in the element string will be encoded into user memory as displayed in the user section of the output.

http://www.rfidcoder.com/api/gs1/barcode/barcode?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
barcodeThe GS1 element string. Any <FNC1> separator contained within the element string should be represented as %1D in the API URL.
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix, for use in encoding the EPC memory bank. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code (identical to the input parameter)
humanReadableThe human readable text that accompanies a bar code
gtinThe GTIN, if the EPC was an SGTIN
gtinSerialThe serial number, if the EPC was an SGTIN
ssccThe SSCC, if the EPC was an SSCC
glnThe GLN, if the EPC was an SGLN
glnExtThe GLN Extension, if the EPC was an SGLN
graiThe GRAI, if the EPC was a GRAI
giaiThe GIAI, if the EPC was a GIAI
gdtiThe GDTI, if the EPC was a GDTI
gsrnThe GSRN (service consumer), if the EPC was a GSRN
gsrnpThe GSRN (service provider), if the EPC was a GSRNP
gcnThe GCN, if the EPC was an SGCN
cpiThe CPI, if the EPC was a CPI
cpiSerialThe serial number, if the EPC was a CPI
userhexThe binary contents of user memory, expressed in hexadecimal
dataElementsA map containing the data elements encoded into user memory. The key for each data element is the OID URI that names the data element. For a GS1 data element, the OID URI is the string urn:oid:1.0.15961.9. followed by the GS1 Application Identifier (AI) for the data element. The value of the data element is the value as extracted from the GS1 element string.

Sample

Input:

http://www.rfidcoder.com/api/gs1/barcode/01806141411234581762031521400%1D10L123?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3034257BF7194E4000000190",
    "tagUri" : "urn:epc:tag:sgtin-96:1.0614141.812345.400",
    "rawUri" : "urn:epc:raw:96.x3034257BF7194E4000000190",
    "epcTagScheme" : "sgtin-96"
  },
  "user" : {
    "hex" : "8926465D9771B103DB2000",
    "dataElements" : {
      "urn:oid:1.0.15961.9.17" : "620315",
      "urn:oid:1.0.15961.9.10" : "L123"
    }
  },
  "epc" : {
    "epcUri" : "urn:epc:id:sgtin:0614141.812345.400",
    "epcScheme" : "sgtin",
    "epcComponents" : [ "0614141", "812345", "400" ]
  },
  "gs1" : {
    "elementString" : "01806141411234581762031521400\u001D10L123",
    "humanReadable" : "(01)80614141123458 (17)620315 (21)400 (10)L123",
    "gtin" : "80614141123458",
    "gtinSerial" : "400"
  }
}

Encoding a Serialized GTIN (SGTIN)

This encodes a GTIN plus a serial number into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/sgtin/gtin/serial?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
gtinThe GTIN, in 14- 13-, 12- or 8-digit format
serialThe serial number
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
gtinThe GTIN (as specified in the input parameter, padded to 14 digits if necessary)
gtinSerialThe serial number (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/sgtin/80614141123458/400?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcTagScheme" : "sgtin-96",
    "tagUri" : "urn:epc:tag:sgtin-96:1.0614141.812345.400",
    "epcHex" : "3034257BF7194E4000000190",
    "rawUri" : "urn:epc:raw:96.x3034257BF7194E4000000190"
  },
  "epc" : {
    "epcComponents" : [ "0614141", "812345", "400" ],
    "epcUri" : "urn:epc:id:sgtin:0614141.812345.400",
    "epcScheme" : "sgtin"
  },
  "gs1" : {
    "humanReadable" : "(01)80614141123458 (21)400",
    "elementString" : "018061414112345821400",
    "gtinSerial" : "400",
    "gtin" : "80614141123458"
  }
}

Encoding a Serialized Shipping Container Code (SSCC)

This encodes an SSCC into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/sscc/sscc?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
ssccThe SSCC
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
ssccThe SSCC (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/sscc/801234567890123458?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "31340789020BDDAF79000000",
    "tagUri" : "urn:epc:tag:sscc-96:1.0123456.8789012345",
    "rawUri" : "urn:epc:raw:96.x31340789020BDDAF79000000",
    "epcTagScheme" : "sscc-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:sscc:0123456.8789012345",
    "epcScheme" : "sscc",
    "epcComponents" : [ "0123456", "8789012345" ]
  },
  "gs1" : {
    "elementString" : "00801234567890123458",
    "humanReadable" : "(00)801234567890123458",
    "sscc" : "801234567890123458"
  }
}

Encoding a Global Location Number (GLN)

This encodes a GLN or a GLN+extension into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/gln/gln?filter=filter&gcplength=gcplength&apikey=apikey
http://www.rfidcoder.com/api/gs1/gln/gln/glnExt?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
glnThe GLN
glnExt(Optional) The GLN extension
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
glnThe GLN (identical to the input parameter)
glnExtThe GLN extension (identical to the input parameter, or 0 if no extension was input)

Sample

Input:

http://www.rfidcoder.com/api/gs1/gln/0614141123452/321?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3234257BF460720000000141",
    "tagUri" : "urn:epc:tag:sgln-96:1.0614141.12345.321",
    "rawUri" : "urn:epc:raw:96.x3234257BF460720000000141",
    "epcTagScheme" : "sgln-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:sgln:0614141.12345.321",
    "epcScheme" : "sgln",
    "epcComponents" : [ "0614141", "12345", "321" ]
  },
  "gs1" : {
    "elementString" : "4140614141123452254321",
    "humanReadable" : "(414)0614141123452 (254)321",
    "gln" : "0614141123452",
    "glnExtension" : "321"
  }
}

Encoding a Global Returnable Asset Identifier (GRAI)

This encodes a GRAI into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/grai/grai?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
graiThe GRAI. Only GRAIs that include the optional serial number may be encoded into an EPC. Note that in a GS1 Element String, there is an extra zero digit following the application identifier (8003) and before the GRAI. This zero digit should not be included in the URL.
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
graiThe GRAI (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/grai/0614141123452400?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3334257BF40C0E4000000190",
    "tagUri" : "urn:epc:tag:grai-96:1.0614141.12345.400",
    "rawUri" : "urn:epc:raw:96.x3334257BF40C0E4000000190",
    "epcTagScheme" : "grai-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:grai:0614141.12345.400",
    "epcScheme" : "grai",
    "epcComponents" : [ "0614141", "12345", "400" ]
  },
  "gs1" : {
    "elementString" : "800300614141123452400",
    "humanReadable" : "(8003)00614141123452400",
    "grai" : "0614141123452400"
  }
}

Encoding a Global Individual Asset Identifier (GIAI)

This encodes a GIAI into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/giai/giai?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
giaiThe GIAI
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
giaiThe GIAI (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/giai/06141419876?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3434257BF400000000002694",
    "tagUri" : "urn:epc:tag:giai-96:1.0614141.9876",
    "rawUri" : "urn:epc:raw:96.x3434257BF400000000002694",
    "epcTagScheme" : "giai-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:giai:0614141.9876",
    "epcScheme" : "giai",
    "epcComponents" : [ "0614141", "9876" ]
  },
  "gs1" : {
    "elementString" : "800406141419876",
    "humanReadable" : "(8004)06141419876",
    "giai" : "06141419876"
  }
}

Encoding a Global Service Relation Number (GSRN)

This encodes a GSRN into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/gsrn/gsrn?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
gsrnThe GSRN
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
gsrnThe GSRN (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/gsrn/061414112345678902?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "2D35E908E594A81B79000000",
    "tagUri" : "urn:epc:tag:gsrn-96:1.8012345.6789012345",
    "rawUri" : "urn:epc:raw:96.x2D35E908E594A81B79000000",
    "epcTagScheme" : "gsrn-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:gsrn:8012345.6789012345",
    "epcScheme" : "gsrn",
    "epcComponents" : [ "8012345", "6789012345" ]
  },
  "gs1" : {
    "elementString" : "8018801234567890123458",
    "humanReadable" : "(8018)801234567890123458",
    "gsrn" : "801234567890123458"
  }
}

Encoding a Global Service Relation Number for Provider (GSRN-P)

This encodes a GSRN-P into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/gsrnp/gsrnp?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
gsrnpThe GSRN-P
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
gsrnpThe GSRN-P (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/gsrnp/061414112345678902?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "2E35E908E594A81B79000000",
    "tagUri" : "urn:epc:tag:gsrnp-96:1.8012345.6789012345",
    "rawUri" : "urn:epc:raw:96.x2E35E908E594A81B79000000",
    "epcTagScheme" : "gsrnp-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:gsrnp:8012345.6789012345",
    "epcScheme" : "gsrnp",
    "epcComponents" : [ "8012345", "6789012345" ]
  },
  "gs1" : {
    "elementString" : "8017801234567890123458",
    "humanReadable" : "(8017)801234567890123458",
    "gsrnp" : "801234567890123458"
  }
}

Encoding a Global Document Type Identifier (GDTI)

This encodes a GDTI into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/gdti/gdti?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
gdtiThe GDTI. Only GDTIs that include the optional serial number may be encoded into an EPC.
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
gdtiThe GDTI (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/gdti/0614141123452400?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "2C34257BF460720000000190",
    "tagUri" : "urn:epc:tag:gdti-96:1.0614141.12345.400",
    "rawUri" : "urn:epc:raw:96.x2C34257BF460720000000190",
    "epcTagScheme" : "gdti-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:gdti:0614141.12345.400",
    "epcScheme" : "gdti",
    "epcComponents" : [ "0614141", "12345", "400" ]
  },
  "gs1" : {
    "elementString" : "2530614141123452400",
    "humanReadable" : "(253)0614141123452400",
    "gdti" : "0614141123452400"
  }
}

Encoding a Component/Part Identifier (CPID)

This encodes a CPID and serial number into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/cpi/cpid/cpidSerial?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
cpidThe CPID
cpidSerialThe CPID serial number
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
cpidThe CPID (identical to the input parameter)
cpidSerialThe CPID serial number (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/cpi/061414112345/400?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3C34257BF400181C80000190",
    "tagUri" : "urn:epc:tag:cpi-96:1.0614141.12345.400",
    "rawUri" : "urn:epc:raw:96.x3C34257BF400181C80000190",
    "epcTagScheme" : "cpi-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:cpi:0614141.12345.400",
    "epcScheme" : "cpi",
    "epcComponents" : [ "0614141", "12345", "400" ]
  },
  "gs1" : {
    "elementString" : "8010061414112345\u001D8011400",
    "humanReadable" : "(8010)061414112345 (8011)400",
    "cpid" : "061414112345",
    "cpidSerial" : "400"
  }
}

Encoding a Global Coupon Number (GCN)

This encodes a GCN into an EPC URI, EPC Tag URI, and EPC binary encoding.

http://www.rfidcoder.com/api/gs1/gcn/gcn?filter=filter&gcplength=gcplength&apikey=apikey

Input Parameters

Parameter Description
gcnThe GCN. Only GCNs that include the optional serial number may be encoded into an EPC.
filter(Optional) The filter value for RFID encoding. If omitted, defaults to zero.
gcplength(Optional) The number of digits in the GS1 Company Prefix. If omitted, RFIDcoder tries to figure out the correct value based on data published by GS1. See GS1 Company Prefix length.
apikeyYour API key

Output Parameters

Section Parameter Description
tagepcHexThe EPC binary encoding, expressed in hexadecimal
tagUriThe EPC Tag URI
rawUriThe EPC Raw URI
epcTagSchemeThe EPC tag scheme
epcepcUriThe pure identity EPC URI
epcSchemeThe EPC scheme
epcComponentsThe components of the EPC
gs1elementStringThe GS1 element string, as used in a bar code
humanReadableThe human readable text that accompanies a bar code
gcnThe GCN (identical to the input parameter)

Sample

Input:

http://www.rfidcoder.com/api/gs1/gcn/0614141123452400?filter=1&gcplength=7&apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "tag" : {
    "epcHex" : "3F34257BF460720000000578",
    "rawUri" : "urn:epc:raw:96.x3F34257BF460720000000578",
    "tagUri" : "urn:epc:tag:sgcn-96:1.0614141.12345.400",
    "epcTagScheme" : "sgcn-96"
  },
  "epc" : {
    "epcUri" : "urn:epc:id:sgcn:0614141.12345.400",
    "epcScheme" : "sgcn",
    "epcComponents" : [ "0614141", "12345", "400" ]
  },
  "gs1" : {
    "elementString" : "2550614141123452400",
    "humanReadable" : "(255)0614141123452400",
    "gcn" : "0614141123452400"
  }
}

Decoding the contents of user memory

This decodes the binary contents of user memory. If there are GS1 data elements present, it will also encode them into a GS1 element string, as found in a GS1-compliant bar code such as GS1 DataMatrix, GS1 DataBar, GS1-128, or GS1 QR Code

http://www.rfidcoder.com/api/user/userhex?apikey=apikey

Input Parameters

Parameter Description
userhexThe binary contents of user memory, in hexadecimal.
apikeyYour API key

Output Parameters

Section Parameter Description
userhexThe binary contents of user memory, expressed in hexadecimal (identical to the input parameter)
dataElementsA map containing the data elements encoded into user memory. The key for each data element is the OID URI that names the data element. For a GS1 data element, the OID URI is the string urn:oid:1.0.15961.9. followed by the GS1 Application Identifier (AI) for the data element. The value of the data element is the value as extracted from the GS1 element string.
gs1elementStringThe GS1 element string, as used in a bar code, if the user memory contained any GS1 data elements
humanReadableThe human readable text that accompanies a bar code, if the user memory contained any GS1 data elements

Sample

Input:

http://www.rfidcoder.com/api/user/8926465D9771B103DB2000?apikey=YOURKEYHERE

Output (JSON):

{
  "version" : "1.0",
  "user" : {
    "hex" : "8926465D9771B103DB2000",
    "dataElements" : {
      "urn:oid:1.0.15961.9.17" : "620315",
      "urn:oid:1.0.15961.9.10" : "L123"
    }
  },
  "gs1" : {
    "elementString" : "1762031510L123",
    "humanReadable" : "(17)620315 (10)L123"
  }
}

Decoding the contents of TID memory

This decodes the binary contents of TID memory.

http://www.rfidcoder.com/api/tid/tidhex?apikey=apikey

Input Parameters

Parameter Description
tidhexThe binary contents of TID memory, in hexadecimal.
apikeyYour API key

Output Parameters

Section Parameter Description
tidhexThe binary contents of TID memory, expressed in hexadecimal (identical to the input parameter)
classIdentifierA number identifying the TID structure, taken from the first eight bits of the TID
mdidThe Mask Designer ID, identifying the manufacturer of the RFID chip
tmnThe Tag Model Number, assigned by the manufacturer of the RFID chip to identify a specific chip design
xtidSerializationThe unique serial number assigned by the manufacturer. The serialHex subfield is the serial number in hexadecimal, bitCount indicates the size of the serial number, and stidUri is the URI form of the TID serial number.
xtidCommandSupportDescribes what optional commands the chip supports, and the size of the EPC memory bank
xtidBlockWriteEraseDescribes manufacturer options for supporting block write and block erase commands
xtidUmbpDescribes manufacturer options for supporting user memory and block permalock

Sample

Input:

http://www.rfidcoder.com/api/tid/E2FFF0403C00123456789ABC1DD60000090400000904000400C0?apikey=YOURKEYHERE

Output (JSON):

{
  "version": "1.0",
  "tid": {
    "hex": "E2FFF0403C00123456789ABC1DD60000090400000904000400C0",
    "classIdentifier": 226,
    "mdid": 4095,
    "tmn": 64,
    "xtidSerialization": {
      "serialHex": "123456789ABC",
      "stidUri": "urn:epc:stid:xFFF.x040.x123456789ABC",
      "bitCount": 48
    },
    "xtidCommandSupport": {
      "maxEpcUiiWords": 22
    },
    "xtidBlockWriteErase": {
      "blockWriteDesc": {
        "bank01AddressOffset": 4,
        "bank11AddressOffset": 0,
        "maxWords": 4
      },
      "blockEraseDesc": {
        "bank01AddressOffset": 4,
        "bank11AddressOffset": 0,
        "maxWords": 4
      }
    },
    "xtidUmbp": {
      "blockPermalockSize": 4,
      "bank11Words": 192
    }
  }
}