Volume Control
You can change the volume on the card reader.
info_outline
note
This feature is only supported on RBA/UPP pinpads.
Code Samples - Set Volume On Card Reader
CWS
Request
Property | Description |
---|---|
method string | required | setVolumeOnCardReader |
requestId string | required | Request ID |
targetType string | required | cardReader |
version string | required | 1.0 |
parameters JSONObject | optional | All relevant parameters. |
Response
Property | Description |
---|---|
requestId string | Request ID As specified in the request. |
statusDetails string | Request Status |
data JSONObject | Object holding various responses |
Request
{
"method" : "setVolumeOnCardReader",
"requestId" : "1916281794",
"targetType" : "cardReader",
"version" : "1.0",
"parameters" : {
"volume" : "x"
}
}
Later to query the status of the request
{
"method" : "getCommandStatusOnCardReader",
"requestId" : "1916281795",
"targetType" : "cardReader",
"version" : "1.0",
"parameters" : {
"id" : "1916281794"
}
}
Response
Initial response
{
"method" : "getCommandStatusOnCardReader",
"requestId" : "1916281796",
"targetType" : "cardReader",
"version" : "1.0",
"parameters" : {
"id" : "1916281794"
}
}
Complete response
{
"requestId" : "1916281796",
"statusDetails" : "REQUEST_ACCEPTED",
"data" : {
"cardReaderCommand" : {
"id" : "1916281794",
"completed" : true,
"eventQueue" : [ {
"timeStamp" : "1664916260267",
"statusDetails" : "CARD_READER_UPDATE_VOLUME_COMPLETED"
}, {
"timeStamp" : "1664916260267",
"statusDetails" : "SET_VOLUME_SUCCEEDED"
} ]
}
}
}
Java
// use local copy of ECLCardReaderInterface named cardReaderInterface
cardReaderInterface.updateVolume(volume, new ECLCardReaderSetVolumeListener()
{
@Override public void deviceOperationCompleted(ECLCardReaderInterface eclCardReaderInterface,
ECLTransactionProgress eclTransactionProgress)
{
//set volume succeeded successfully
}
@Override public void deviceOperationError(ECLCardReaderInterface eclCardReaderInterface, ECCError eccError)
{
//there was an error
}
@Override public void deviceOperationProgress(ECLCardReaderInterface eclCardReaderInterface,
ECLTransactionProgress eclTransactionProgress)
{
//volume update in progress
}
});
Objective-C
// Set volume on card reader
[cardReader updateVolume:self volume:volume];
// Implement ECLCardReaderUpdateVolumeDelegate callback methods
- (void)cardReaderUpdateVolumeSuccess:(id<ECLCardReaderProtocol>)cardReader {
//set volume succeeded
}
- (void)cardReaderUpdateVolumeError:(id<ECLCardReaderProtocol>)cardReader error:(NSError *)error {
//there was an error
}
- (void)cardReaderProgress:(id<ECLCardReaderProtocol>)cardReader progress:(ECLTransactionProgress)progress {
//volume update in progress
}
C#
/* Asynchronous */
m_CWS.StartSetVolumeOnCardReader(null, volume, MyNotifyCWSEvent, rc);
/* Synchronous */
StartSetVolumeOnCardReader(selectedDeviceSerialNumber, volume, ne, rc);
Get Volume On Card Reader
CWS
Request
Property | Description |
---|---|
method string | required | getVolumeOnCardReader |
requestId string | required | Request ID |
targetType string | required | cardReader |
version string | required | 1.0 |
parameters JSONObject | optional | All relevant parameters. |
Response
Property | Description |
---|---|
requestId string | Request ID As specified in the request. |
statusDetails string | Request Status |
data JSONObject | Object holding various responses |
Request
{
"method" : "getVolumeOnCardReader",
"requestId" : "988110367",
"targetType" : "cardReader",
"version" : "1.0",
"parameters" : { }
}
Later to query the status of the request
{
"method" : "getCommandStatusOnCardReader",
"requestId" : "988110368",
"targetType" : "cardReader",
"version" : "1.0",
"parameters" : {
"id" : "988110367"
}
Response
Initial response
{
"method" : "getCommandStatusOnCardReader",
"requestId" : "988110368",
"targetType" : "cardReader",
"version" : "1.0",
"parameters" : {
"id" : "988110367"
}
Complete response
{
"requestId" : "988110368",
"statusDetails" : "REQUEST_ACCEPTED",
"data" : {
"cardReaderCommand" : {
"id" : "988110367",
"completed" : true,
"eventQueue" : [ {
"timeStamp" : "1666904684450",
"statusDetails" : "GET_VOLUME_SUCCEEDED"
} ],
"volumeData" : {
"volumeLevel" : "LOW"
}
}
}
Java
// use local copy of ECLCardReaderInterface named cardReaderInterface
cardReaderInterface.getVolume(new ECLCardReaderGetVolumeListener()
{
@Override public void deviceOperationCompleted(ECLCardReaderInterface eclCardReaderInterface,
ECLVolumeLevel volumeLevel)
{
//get volume succeeded successfully
}
@Override
public void deviceOperationError(ECLCardReaderInterface eclCardReaderInterface, ECCError eccError)
{
//there was an error
}
@Override
public void deviceOperationProgress(ECLCardReaderInterface eclCardReaderInterface,
ECLTransactionProgress eclTransactionProgress)
{
//volume retrieval in progress
}
});
Objective-C
ECLVolumeLevel deviceVolume = [cardReader retrieveVolume];
C#
/* Asynchronous */
m_CWS.StartGetCardReaderVolume(MyNotifyCWSEvent, MyGetVolumeLevelComplete);