Machine data Webservice API
RS Production’s web IO interface allows you to connect your devices to RS Production by making a web service call.
Files
Use the Web IO in order to plug in your own devices to RS Production by just doing a web service call.
The web service IO gateway consists of three webhooks
RegisterStop
Creates a stop with start and end time.
RegisterCycle
Use this function to register amounts (number of flanks) it can be used for both produced amounts and scraps.
RegisterStatus
Use this function to register a bool signal status change from True → False and vice versa.
How to use the webhooks
RegisterStop
The RegisterStop webhook can be called directly without any other dependencies. The function creates a categorized stop without any logic if there is an ongoing stop or not or anything else.
Call using c#
var uri = "https://xxxxxx.rsproduction.se/xxxxxx/api/webhook/";
var data = "{webhookId: '24a1b617-ff27-4b53-ab98-4d925bb3375e', comment: 'testing', startTime: '2020-03-16T19:36:53.769Z', producingUnitID: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', stopReasonID: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', endTime: '2020-03-16T19:37:53.771Z', stationID: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'}";
var client = WebClient();
client.Headers.Add("Content-Type", "application/json");
client.Headers.Add("Authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
client.Encoding = System.Text.Encoding.UTF8;
client.UploadString(uri, "POST", data);
RegisterCycle
Using the RegisterCycle webhook requires setting up a WebServiceIOGateway and an input for the gateway.
The webhook raises the IOInterfaceInputUpFlankChangeEvent event. The input needs to be configured together with a signal action. The signal action can either be a Cycle signal action for registering the produced amount or a Scrap action to register scrap.
The signal action connects the input with the producing unit.
Data type | Required | Description | |
---|---|---|---|
webhookId | Guid | required | 0b5645bb-d1b2-4b64-aa45-86eaf4ac38a7 |
inputID | Guid | required | Web service gateway input ID |
timestamp | DateTime | required | Time stamp when the cycle occurred |
numberOfCycles | Long | required | Number of cycles to add |
lastTimestamp | DateTime | optional | Defaults to now |
Returns | Long | On success | The number of cycles added |
Call using c#
var uri = "https://xxxxxx.rsproduction.se/xxxxxx/api/webhook/";
var data = "{webhookId: '0b5645bb-d1b2-4b64-aa45-86eaf4ac38a7', numberOfCycles: '10', timestamp: '2020-03-16T19:47:19.550Z', inputID: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'}";
var client = WebClient();
client.Headers.Add("Content-Type", "application/json");
client.Headers.Add("Authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
client.Encoding = System.Text.Encoding.UTF8;
client.UploadString(uri, "POST", data);
RegisterStatus
Using the RegisterStatus webhook requires setting up a WebServiceIOGateway and an input for the gateway. The input needs to be configured together with a signal action.
The signal action connects the input with the producing unit.
The webhook raises the following events:
Event | Description |
---|---|
IOInterfaceInputStatusDownEvent | If the status changes from True to False |
IOInterfaceInputStatusUpEvent | If the status changes from False to True |
Field | Data type | Required | Description |
---|---|---|---|
webhookId | Guid | required | 50695fd4-1699-46b0-aae7-cc2da5c70a5f |
inputID | Guid | required | Web service gateway input ID |
currentStatus | Bool | required | The current bool status of the input |
Returns | No return |
Call using c#
var uri = "https://xxxxxx.rsproduction.se/xxxxxx/api/webhook/";
var data = "{webhookId: '50695fd4-1699-46b0-aae7-cc2da5c70a5f', currentStatus: 'True', inputID: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'}";
var client = WebClient();
client.Headers.Add("Content-Type", "application/json");
client.Headers.Add("Authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
client.Encoding = System.Text.Encoding.UTF8;
client.UploadString(uri, "POST", data);