Document toolboxDocument toolbox

Barcode API Calls

License

The Barcode module requires a separate license to be installed before key parts of the functionality are available. This license is disabled by default. Please contact PCR to obtain a license.

Before the Barcode API calls can be sent, the Barcode module must be activated, and PCR will need to set up a special Event in order to process Barcode Scan Transactions.

Using POST Calls

  • POST requests will ignore parameters supplied as a query string and need any additional parameters in the request Body.
  • To configure the number of Pages/Results returned by the API (this is most useful for the SQL Endpoint), you can send these as additional Parameter's in the Body.

    Parameter

    Data Type

    Default

    Description

    limit

    Interger

    20

    Number of listings to show.

    page

    Interger

    1

    Page number to show.

  • API fields are not case sensitive, and will always be returned in the lower case format.

Write Call

Available Fields

Parameter

Required

Data Type

Options

Notes

transaction_type

Yes

String

sd_eqp_status, whs_bulk_add, whs_bulk_transfer

This field determines how PCR-360 will process the request.

SD Equipment Status

Notes

  • transaction_type must be sd_eqp_status.
  • When setting up the Barcode API in Admin, the Authentication Required box must be true. Barcode requires authentication to work.

Authentication_Required_checkbox_example

Available Fields

Parameter

Required

Data Type

Options

Notes

recid

Yes

Integer


RECID column from SERVICE_DESK_EQP table.
sde_statusYesString

Value Lookups:

The Status of the Equipment.
asset_tagNo*String

Asset Tag on the Equipment.

Conditionally Required if the Equipment is an Asset.

eqp_idNo*String

Equipment ID of the Equipment.

Conditionally Required if the Equipment is Cabling Equipment.

locationNo*Integer

RECID of the Warehouse of the Equipment.

Conditionally Required: see Notes section below.

workerNo*Integer

RECID of the Worker performing the Activity. 

Conditionally Required: see Notes section below.

scan_dateNoDatetime
Expected format: YYYY/MM/DD HH:ii:ss or YYYY/MM/DD

Notes

  • For sde_statusStaged the following are required.
    • location - must be an active sub-Warehouse of the starting Warehouse
  • For sde_statusPicked Up the following are required.
    • location - must be an active Warehouse
    • worker - Contact RECID - Worker type, Active
  • For sde_statusComplete the following are required.
    • location - if it is blank on the sd_eqp record, it must be included, if the Equipment is non-consumable and must be an existing Location
  • For sde_status: Void, no additional details are required for the Equipment record.

Request Example

Call
http://DOMAIN/api/API_KEY/barcode.OUTPUT
Headers
KeyValue

Content-Type

application/json

PCR-AUTH-TOKEN

example: e036a785-4d7a-40ed-a04a-c8e339327f55
Body
KeyValue
transaction_typesd_eqp_status
recid53054
sde_status262
asset_tagassettag145
eqp_id39
location87963
worker63045
JSON Request:


Results

If the request is successful, then the response will return as:

Service Desk Equipment Status example

Warehouse Bulk Add

Notes

  • transaction_type must be whs_bulk_add.
  • When setting up the Barcode API in Admin, the Authentication Required box must be trueAuthentication Required checkbox example. Barcode requires authentication to work.

Available Fields

Parameter

Required

Data Type

Options

Notes

eqp_catalog

Yes

Integer


RECID of the Equipment's Equipment Catalog.
eqp_statusYesInteger

Value Lookups:

The RECID of the status of the Equipment.
eqp_conditionNoInteger

Value Lookups:

The RECID of the condition of the Equipment.
received_dateNoDate
The date the Equipment was Received. Format "YYYY/MM/DD"
locationYesInteger
RECID of the Warehouse of the Equipment. Must be an active Warehouse.
quantityYesInteger

This represents both Units and Quantity. If the Equipment Catalog Has Units - it is Units - if it is marked as "not units" then it is recorded as Quantity in the application currently.

purchase_priceNoFloat
The purchase price of the Equipment must be greater than or equal to zero.
assetsNoArray
Only valid for Asset or Cabling Equipment, else ignored. If provided the number of entries must match the quantity.
commentsYesString

The reason why the Equipment is being added.

unitsNo*Integer
Must be a positive number that is greater than 0.
Conditionally Required: If the "Has Units" box is checked on the Equipment Catalog.
scan_dateNoDatetime
Expected format: YYYY/MM/DD HH:ii:ss or YYYY/MM/DD

Notes

  • It must be an active Equipment Catalog.
  • A positive (none-zero) count and it cannot be null.
  • Allowed Status'
    • Unassigned
    • Broken
    • Lost
    • Retired
    • Any custom status for the EQP_STATUS in the List Values table.
    • The API will give an error if the status is not one of the valid list values.
  • The Warehouse must be active.
  • Asset Array
    • Optional for Asset or Cabling Equipment (flags on Equipment Catalog).
    • It should be ignored (not put in db) if non-asset or non-cabling equipment is used.
    • The number of entries in the asset array must match the provided count.
  • If provided, the price must be a positive number or zero; if not provided, the value can be null.
  • Any valid date, past, present, or future, is allowed.

Request Example

Call
http://DOMAIN/api/API_KEY/barcode.OUTPUT
Headers
KeyValue

Content-Type

application/json

PCR-AUTH-TOKEN

example: e036a785-4d7a-40ed-a04a-c8e339327f55

Body
KeyValue
transaction_type

whs_bulk_add

eqp_catalog533
eqp_status94
location86201
quantity1
purchase_price$1.74
commentsJohnny Test
received_date

2020/11/06 

assets[0][ASSET_TAG]assettag145
assets[0][SERIAL_NUM]serialnum145
assets[0][EQUIPMENT_ID]equipmentid145
units11
JSON Request:


Results

If the request is successful, then the response will return as:

Warehouse bulk add example

Warehouse Bulk Transfer

Notes

  • transaction_type must be whs_bulk_transfer.
  • When setting up the Barcode API in Admin, the Authentication Required box must be true Authentication Required checkbox example. Barcode requires authentication to work.

Available Fields

Parameter

Required

Data Type

Options

Notes

eqp_catalog

Yes

Integer


RECID of the Equipment's Equipment Catalog.
quantityNoInteger
This represents both Units and Quantity. If the Equipment Catalog Has Units - it is Units - if it is marked as "not units" then it is recorded as Quantity in the application currently.
from_locationYesInteger
Location RECID of the Warehouse of the Equipment is from.
to_locationYesInteger
Location RECID of the Warehouse of the Equipment is going to.
recidsNo*Array
Conditionally Required if the Equipment is an Asset or Cabling. Sent as an array of recids. See the Notes section below for more details.
commentsYesString
The reason why the Equipment is being transferred.
scan_dateNoDatetime
Expected format: YYYY/MM/DD HH:ii:ss or YYYY/MM/DD

Notes

  • It must be an active Equipment Catalog.
  • Positive (none-zero) count, cannot be null.
  • Status' that are allowed
    • Unassigned
    • Broken
    • Lost
    • Retired
    • Any custom status
    • If the Status is not one of the valid List Values, the API will error.
  • The Warehouse must be an active Warehouse.
  • Equipment RecIDs array
    • Required for Asset or Cabling Equipment (flags on Equipment Catalog).
    • should be ignored (not put in db) if a non-asset or non-cabling equipment is used.
    • The number of entries in the Equipment RecIDs array must exactly match the count when provided.

Request Example

Call
http://DOMAIN/api/API_KEY/barcode.OUTPUT
Headers
KeyValue

Content-Type

application/json

PCR-AUTH-TOKEN

example: e036a785-4d7a-40ed-a04a-c8e339327f55

Body
KeyValue

transaction_type

whs_bulk_transfer
eqp_catalog533
quantity23
from_location86201
to_location86200
commentsJohnny Test
JSON Request:


Results

If the request is successful, then the response will return as:

Warehouse bulk transfer example

Receive Purchase Order

Notes

  • transaction_type must be po_receive.
  • When setting up the Barcode API in Admin, the Authentication Required box must be true Authentication Required checkbox example. Barcode requires authentication to work.

Available Fields

Parameter

Required

Data Type

Options

Notes

recid YesInteger
Purchase Order RECID, Status must be Open
eqp_catalogYesInteger
Equipment Catalog RECID
priceYesFloat
Price of Equipment
unitsNoInteger
Units of Equipment. Only valid for Has Units Equipment, else ignored. The value must match an entry on the Purchase Order Equipment, as PCR-360 uses this to detect which item is being received if there is more than one entry for the Equipment Catalog on the Purchase Order and their units are different.
quantityYesInteger
Quantity to Receive
locationYesInteger
Valid Active Warehouse RECID to receive Equipment
received_dateNoDate
Received Date
assetsNoArray
Only valid for Asset or Cabling Equipment, else ignored. If provided the number of entries must match the quantity.
scan_dateNoDatetime
Expected format: YYYY/MM/DD HH:ii:ss or YYYY/MM/DD


Request Example

Call
http://DOMAIN/api/API_KEY/barcode.OUTPUT
Headers
KeyValue

Content-Type

application/json

PCR-AUTH-TOKEN

example: e036a785-4d7a-40ed-a04a-c8e339327f55

Body
KeyValue
recid 12874
eqp_catalog346
price9.99
quantity4
location694
JSON Request:


Results

If the request is successful, then the response will return as:

Receiving a PO example

Warehouse Physical Inventory

Notes

  • transaction_type must be whs_physical_inventory.
  • When setting up the Barcode API in Admin, the Authentication Required box must be true Authentication Required checkbox example. Barcode requires authentication to work.

Available Fields

Parameter

Required

Data Type

Options

Notes

scan_dateYesDatetime
Expected format: YYYY/MM/DD HH:ii:ss or YYYY/MM/DD
eqp_catalogYesInteger
Equipment Catalog RECID
unitsNoArray
Units of Equipment. Only valid for Has Units Equipment, else ignored. If provided the number of entries must match the quantity.
quantityYesInteger
Quantity to Receive
locationYesInteger
Valid Active Warehouse RECID to receive Equipment
assetsNoArray
Only valid for Asset or Cabling Equipment, else ignored. If provided the number of entries must match the quantity.


Request Example

Call
http://DOMAIN/api/API_KEY/barcode.OUTPUT
Headers
KeyValue

Content-Type

application/json

PCR-AUTH-TOKEN

example: e036a785-4d7a-40ed-a04a-c8e339327f55

Body
KeyValue
scan_date2000/01/01 00:00:00
eqp_catalog346
quantity1
location694
assetsbcasset1sd126
JSON Request:


Results

If the request is successful, then the response will return as:

Barcode Physical Inventory Grid Example

Performing a Batch Call

Users are also able to submit a Batch of Barcode scans. These Batches can contain one or more different types of Barcode Transactions.

Parameter

Required

Data Type

Notes

batchNoArray

Barcode Batches expect the data to be formatted as JSON.

Batches are expected to be an array of different Barcode Transactions.

 Example Batch:
{
  "batch": [
        {
            "transaction_type": "sd_eqp_status",
            "recid": "53114",
            "sde_status": "263",
            "eqp_id": "331623",
            "location": "332060"
        },
        {
            "transaction_type": "whs_bulk_add",
            "eqp_catalog": "533",
            "eqp_status": "94",
            "location": "86201",
            "quantity": "1",
            "purchase_price": "0.45",
            "assets[0][ASSET_TAG]": "assettag143",
            "assets[0][SERIAL_NUM]": "serialnum143",
            "assets[0][EQUIPMENT_ID]": "equipmentid143",
            "comments": "pete test",
            "units": ""
        },
        {
            "transaction_type": "whs_bulk_transfer",
            "eqp_catalog": "952",
            "quantity": "1",
            "from_location": "289039",
            "to_location": "331623",
            "recids[]": "1",
            "comments": "pete test"
        },
        {
            "transaction_type": "po_receive",
            "recid": "38",
            "eqp_catalog": "1095",
            "price": "1.00",
            "quantity": "1",
            "location": "331570"
        },
        {
            "transaction_type": "whs_physical_inventory",
            "eqp_catalog": "3394",
            "units": "0.45",
            "quantity": "10",
            "location": "332058",
            "scan_date":"2000/01/01"
        }
    ]
}

Locating Data related to Barcodes

When the Barcode Module is enabled, the Barcode is stored on the Equipment Catalog (Main > Catalogs > Equipment) for the Equipment expected to be scanned.

To locate Equipment data navigate to Main > Inventory > Equipment, to view actual Equipment records.

To locate Location data navigate to Main > Catalogs > Location, to view actual Location records.

To locate Service Desk data navigate to Main > Service Desk > My Service Desk > Equipment, to view actual Service Desk records related to Equipment.

All grids have the option to show the ROW ID column, which is also the RECID for that particular record.



Help Desk Portal - Email: help@pcr.com - Phone: 616.259.9242