Machines

Machines


Get machines

GET /api/Machine

Request

PARAMETERLESS NOTE

Without query parameters, this endpoint will only return running machines for the currently authenticated loyalty/retail user. For non-retail users the response will always be empty.

To get a specific machine, or all machines at a location, use one of the query parameters below.

Query parameters

The ID of the location. This will return all machines (regardless of status) for a specific location.

The ID of the machine. Will return details for a single machine.

Response

Response is returned as an array of machines. Requesting a specific machine will still return an array with just a single machine.

[ { "ID": 3638, "LocationID": 3, "MachNo": 1, "Label": "#1", "EquipID": 2349, "Status": 0, "Enabled": true, "VendAllowed": false, "UserActive": false, "FinishTime": "0001-01-01T00:00:00", "Price": 6.7500, "Model": null, "SerialNumber": null, "InServiceDate": "2023-08-28T00:00:00", "LastServiceDate": "2023-08-28T00:00:00", "Notes": "", "PairedMachineID": null, "Pocket": null, "WifiAffinity": 4, "RdrWifiStrength": 0, "SatWifiStrength": 0 }, { "ID": 3639, "LocationID": 3, "MachNo": 2, "Label": "#2", "EquipID": 2350, "Status": 0, "Enabled": true, "VendAllowed": false, "UserActive": false, "FinishTime": "0001-01-01T00:00:00", "Price": 0.5000, "Model": null, "SerialNumber": null, "InServiceDate": "2023-08-28T00:00:00", "LastServiceDate": "2023-08-28T00:00:00", "Notes": "", "PairedMachineID": 3640, "Pocket": 1, "WifiAffinity": 4, "RdrWifiStrength": 0, "SatWifiStrength": 0 }, { "ID": 3640, "LocationID": 3, "MachNo": 3, "Label": "#3", "EquipID": 2350, "Status": 0, "Enabled": true, "VendAllowed": false, "UserActive": false, "FinishTime": "0001-01-01T00:00:00", "Price": 0.5000, "Model": null, "SerialNumber": null, "InServiceDate": "2023-08-28T00:00:00", "LastServiceDate": "2023-08-28T00:00:00", "Notes": "", "PairedMachineID": 3639, "Pocket": 2, "WifiAffinity": 4, "RdrWifiStrength": 0, "SatWifiStrength": 0 }, { "ID": 3641, "LocationID": 3, "MachNo": 4, "Label": "#4", "EquipID": 2351, "Status": 0, "Enabled": true, "VendAllowed": false, "UserActive": false, "FinishTime": "0001-01-01T00:00:00", "Price": 4.2500, "Model": null, "SerialNumber": null, "InServiceDate": "2023-08-28T00:00:00", "LastServiceDate": "2023-08-28T00:00:00", "Notes": "", "PairedMachineID": null, "Pocket": null, "WifiAffinity": 4, "RdrWifiStrength": 0, "SatWifiStrength": 0 }, { "ID": 3642, "LocationID": 3, "MachNo": 5, "Label": "#5", "EquipID": 2352, "Status": 0, "Enabled": true, "VendAllowed": false, "UserActive": false, "FinishTime": "0001-01-01T00:00:00", "Price": 0.2500, "Model": null, "SerialNumber": null, "InServiceDate": "2023-08-28T00:00:00", "LastServiceDate": "2023-08-28T00:00:00", "Notes": "", "PairedMachineID": null, "Pocket": null, "WifiAffinity": 4, "RdrWifiStrength": 0, "SatWifiStrength": 0 } ]

 

Field Name

Type

Description

Notes

Field Name

Type

Description

Notes

ID

int

Machine Rec ID

 

LocationID

int

Location Rec ID

 

MachNo

string

Machine number

 

Label

string

Machine label

 

EquipID

int

Equipment Rec ID

 

Status

int

Machine status code

0 = Machine offline
1 = Machine disabled
2 = Machine online but idle
3 = Machine running
4 = Machine in diagnostic mode
5 = Duplicate machine number detected
6 = Machine error
100 = Requested firmware doesn't exist
101 = Firmware downloading to satellite
102 = Firmware downloading to reader

Enabled

bool

Machine enabled

 

VendAllowed

bool

Machine vend allowed

 

UserActive

bool

User is active on machine

 

FinishTime

DateTime

Estimated finish time (UTC)

 

Price

Decimal

Current start price

 

Model

string

Model number

 

SerialNumber

string

Serial number

 

InServiceDate

DateTime

In-Service date (UTC)

 

LastServiceDate

DateTime

Last service date (UTC)

 

Notes

string

Machine notes

 

PairedMachineID

int

Paired Machine Rec ID

null = no pair

Pocket

int

Pocket Configuration

null = no pocket configuration
1 = Top pocket
2 = Bottom pocket

WifiAffinity

int

Reader wifi affinity index

null = None assigned
1-4 = Assigned affinity

RdrWifiStrength

int

Reader wi-fi strength (dB)

 

SatWifiStrength

int

Satellite wi-fi strength (dB)

 

See Error Handling


Get machine by id

Alternatively can use the ?MachineID query string with the base /Machine endpoint. See above.

Request

Path parameters

The ID of the machine.

GET /api/Machine/{machID}

Response

Response returned same as base /Machine GET.


Get machines active for a particular WDF order

Request

Path parameters

The ID of the location.

The ID of the WDF order.

Response

Response returned same as base /Machine GET.

GET /api/Location/{locID}/order/{orderID}/machine


Edit machine

Request to edit values for a specific machine.

Raw Body must be provided with request details consisting of one or more of the following editable fields.  Response will be returned as Machine GET.

Request

Request body (application/json)

Machine label. Limited to 32 characters.

Model number. Limited to 50 characters.

Serial number.

Limited to 50 characters.

In-Service date (UTC)

Must be in ISO 8601 format YYYY-MM-DDThh:mm:ss

Last service date (UTC)

Must be in ISO 8601 format YYYY-MM-DDThh:mm:ss

Machine enabled flag.

Machine notes.

Response

Response returned same as base /Machine GET.

POST /api/Machine/{machID}

EXAMPLE: Setting a machine with label "Washer1" and Last-Service Date of Oct31,2020

{ "Label": "Washer1", "LastServiceDate": "2020-10-31T00:00:00" }

Get machine history

Retrieve machine status history for a particular machine. Similar to admin site, only changes in status or error codes will be listed.  Default 60 change records.

Request

Query parameters

Number of records to return. Max is 1000.

Response

[ { "ID": 6517266, "MachineID": 4311, "SatelliteID": 719, "SatelliteName": "hAP ax³ SAT (QA Office)", "Status": 2, "StatusText": "Idle", "StatusTime": "2025-04-13T17:43:55.947", "MACAddr": "84:F7:03:ED:ED:64", "FirmwareVersion": 104013521, "HardwareVersion": 7, "StartTime": "2025-03-07T17:54:56.943", "FinishTime": "2025-03-07T17:55:06.85", "RdrWifiStrength": 0, "SatWifiStrength": -73, "CoinCount": 0, "CoinAmount": 0.0000, "CoinCount2": 0, "CoinAmount2": 0.0000, "CardType": 0, "UserID": -1, "MaintError": 0, "MlvMachError": 0, "MlvMachCode": 0 }, { "ID": 6517262, "MachineID": 4311, "SatelliteID": 719, "SatelliteName": "hAP ax³ SAT (QA Office)", "Status": 0, "StatusText": "Offline", "StatusTime": "2025-04-13T17:43:17.333", "MACAddr": "84:F7:03:ED:ED:64", "FirmwareVersion": 104013521, "HardwareVersion": 7, "StartTime": "2025-03-07T17:54:56.943", "FinishTime": "2025-03-07T17:55:06.85", "RdrWifiStrength": -66, "SatWifiStrength": -73, "CoinCount": 0, "CoinAmount": 0.0000, "CoinCount2": 0, "CoinAmount2": 0.0000, "CardType": 0, "UserID": -1, "MaintError": 0, "MlvMachError": 0, "MlvMachCode": 0 } ]

Field Name

Type

Description

Notes

Field Name

Type

Description

Notes

ID

long

MachineStatus Rec ID

 

MachineID

int

Machine Rec ID

 

SatelliteID

int

Satellite Rec ID

 

SatelliteName

string

Satellite name

 

Status

int

Status code

0 = Machine offline
1 = Machine disabled
2 = Machine online but idle
3 = Machine running
4 = Machine in diagnostic mode
5 = Duplicate machine number detected
6 = Machine error
100 = Requested firmware doesn't exist
101 = Firmware downloading to satellite
102 = Firmware downloading to reader

StatusText

string

Status text

Text description of Status Code

StatusTime

DateTime

Time of reported status (UTC)

 

MACAddr

string

MAC address

 

FirmwareVersion

int

Firmware version

Integer representation of version #
e.g. 10413 = v1.04.13

HardwareVersion

int

Hardware version

 

Hardware

Code

F1 reader

0

F2 reader (CC3200)

1

F2 reader (CC3220)

2

Touch Kiosk Win8

0

Touch Kiosk Win10

2

 

StartTime

DateTime

Start time (UTC)

 

FinishTime

DateTime

Finish time (UTC)

 

RdrWifiStrength

int

Reader wi-fi strength (dB)

 

SatWifiStrength

int

Satellite wi-fi strength (dB)

 

CoinCount

int

Coin count

 

CoinAmount

Decimal

Coin amount

 

CoinCount2

int

Coin count 2

Only used for dual-pocket F2 reader

CoinAmount2

Decimal

Coin amount 2

CardType

int

Card type

0 = Undefined
1 = Laundry
2 = Credit
3 = User Token

UserID

int

User Rec ID

 

MaintError

int

Maintenance machine error code

0 = Machine OK
1 = Unable to communicate with machine
2 = Machine leaking water
3 = Machine stuck in cycle
4 = Machine not filling
5 = Machine not draining
6 = Machine not heating
7 = Machine door problem
100 = Part or all of config was rejected
101 = One or more messages timed out or were rejected
999 = Unknown machine problem
1000 = Machine code indicates error

MlvMachError

int

MLV machine error code

MlvMachCode

int

MLV machine error code

Equipment type specific error code

See Error Handling

GET /api/Machine/{machID}/History


Get multiple machine history

Retrieve machine status history for machines at an account or location. Similar to admin site, only changes in status or uplinks will be listed.

Request

Query parameters

Optional ID of the FasCard account to retrieve all machines associated across all locations of Account

Optional ID of the FasCard location to retrieve all machines associated at Location

Number of records to return. Max is 1000.

Machine status record ID to start at

Defines whether records before or after the LastID will be retrieved

Response

Field Name

Type

Description

Notes

Field Name

Type

Description

Notes

ID

long

MachineStatus Rec ID

 

MachineID

int

Machine Rec ID

 

SatelliteID

int

Satellite Rec ID

 

SatelliteName

string

Satellite name

 

Status

int

Status code

0 = Machine offline
1 = Machine disabled
2 = Machine online but idle
3 = Machine running
4 = Machine in diagnostic mode
5 = Duplicate machine number detected
6 = Machine error
100 = Requested firmware doesn't exist
101 = Firmware downloading to satellite102 = Firmware downloading to reader