Skip to main content
Skip table of contents

Barcode API Endpoint

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

Authentication_Required_checkbox_example

Available Fields

Parameter

Required

Data Type

Options

Notes

recid

Yes

Integer


RECID column from SERVICE_DESK_EQP table.

sde_status

Yes

String

Value Lookups:



The Status of the Equipment.

asset_tag

No*

String


Asset Tag on the Equipment.

Conditionally Required if the Equipment is an Asset.

eqp_id

No*

String


Equipment ID of the Equipment.

Conditionally Required if the Equipment is Cabling Equipment.

location

No*

Integer


RECID of the Warehouse of the Equipment.

Conditionally Required: see Notes section below.

worker

No*

Integer


RECID of the Worker performing the Activity. 

Conditionally Required: see Notes section below.

scan_date

No

Datetime


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
SQL
http://DOMAIN/api/API_KEY/barcode.OUTPUT
Headers

Key

Value

Content-Type

application/json

PCR-AUTH-TOKEN

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

Body

Key

Value

transaction_type

sd_eqp_status

recid

53054

sde_status

262

asset_tag

assettag145

eqp_id

39

location

87963

worker

63045

JSON Request:




Results

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


Service Desk Equipment Status example

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 true image-20240502-184554.png . 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_status

Yes

Integer

Value Lookups:



The RECID of the status of the Equipment.

eqp_condition

No

Integer

Value Lookups:



The RECID of the condition of the Equipment.

received_date

No

Date


The date the Equipment was Received. Format "YYYY/MM/DD"

location

Yes

Integer


RECID of the Warehouse of the Equipment. Must be an active Warehouse.

quantity

Yes

Integer


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_price

No

Float


The purchase price of the Equipment must be greater than or equal to zero.

assets

No

Array


Only valid for Asset or Cabling Equipment, else ignored. If provided the number of entries must match the quantity.

comments

Yes

String


The reason why the Equipment is being added.

units

No*

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_date

No

Datetime


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
SQL
http://DOMAIN/api/API_KEY/barcode.OUTPUT
Headers

Key

Value

Content-Type

application/json

PCR-AUTH-TOKEN

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

Body

Key

Value

transaction_type

whs_bulk_add

eqp_catalog

533

eqp_status

94

location

86201

quantity

1

purchase_price

$1.74

comments

Johnny Test

received_date

2020/11/06 

assets[0][ASSET_TAG]

assettag145

assets[0][SERIAL_NUM]

serialnum145

assets[0][EQUIPMENT_ID]

equipmentid145

units

11

JSON Request:




Results

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


Warehouse bulk add example

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 image-20240502-184610.png . Barcode requires authentication to work.

Available Fields

Parameter

Required

Data Type

Options

Notes

eqp_catalog

Yes

Integer


RECID of the Equipment's Equipment Catalog.

quantity

No

Integer


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_location

Yes

Integer


Location RECID of the Warehouse of the Equipment is from.

to_location

Yes

Integer


Location RECID of the Warehouse of the Equipment is going to.

recids

No*

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.

comments

Yes

String


The reason why the Equipment is being transferred.

scan_date

No

Datetime


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
SQL
http://DOMAIN/api/API_KEY/barcode.OUTPUT
Headers

Key

Value

Content-Type

application/json

PCR-AUTH-TOKEN

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

Body

Key

Value

transaction_type

whs_bulk_transfer

eqp_catalog

533

quantity

23

from_location

86201

to_location

86200

comments

Johnny Test

JSON Request:




Results

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


Warehouse bulk transfer example

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 image-20240502-184637.png . Barcode requires authentication to work.

Available Fields

Parameter

Required

Data Type

Options

Notes

recid 

Yes

Integer


Purchase Order RECID, Status must be Open

eqp_catalog

Yes

Integer


Equipment Catalog RECID

price

Yes

Float


Price of Equipment

units

No

Integer


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.

quantity

Yes

Integer


Quantity to Receive

location

Yes

Integer


Valid Active Warehouse RECID to receive Equipment

received_date

No

Date


Received Date

assets

No

Array


Only valid for Asset or Cabling Equipment, else ignored. If provided the number of entries must match the quantity.

scan_date

No

Datetime


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


Request Example

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

Key

Value

Content-Type

application/json

PCR-AUTH-TOKEN

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

Body

Key

Value

recid 

12874

eqp_catalog

346

price

9.99

quantity

4

location

694

JSON Request:




Results

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


Receiving a PO example

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 image-20240502-184649.png . Barcode requires authentication to work.

Available Fields

Parameter

Required

Data Type

Options

Notes

scan_date

Yes

Datetime


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

eqp_catalog

Yes

Integer


Equipment Catalog RECID

units

No

Array


Units of Equipment. Only valid for Has Units Equipment, else ignored. If provided the number of entries must match the quantity.

quantity

Yes

Integer


Quantity to Receive

location

Yes

Integer


Valid Active Warehouse RECID to receive Equipment

assets

No

Array


Only valid for Asset or Cabling Equipment, else ignored. If provided the number of entries must match the quantity.


Request Example

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

Key

Value

Content-Type

application/json

PCR-AUTH-TOKEN

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

Body

Key

Value

scan_date

2000/01/01 00:00:00

eqp_catalog

346

quantity

1

location

694

assets

bcasset1sd126

JSON Request:




Results

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


Barcode Physical Inventory Grid Example

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

batch

No

Array

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.



JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.