Use GetTotalsRequest
para recuperar os totals de um terminal sem iniciar um novo período de reconciliação.
Antes de você começar
Endpoint
O URL utilizado para enviar mensagens da API de terminais depende do seu tipo de implementação. Para obter mais informações sobre as arquiteturas disponíveis, consulte a Visão geral da API de terminais
GetTotalsRequest
Para uma lista de campos GetTotalsRequest
, consulte campos GetTotalsRequest.
O SaleID
e o ServiceID
no MessageHeader
devem ser únicos. Combinações SaleID
e ServiceID
são rejeitadas se usadas recentemente, dentro de 48 horas.
Os campos descritos abaixo são aqueles que você especifica ao fazer uma chamada GetTotalsRequest
para a Terminal API.
{
"SaleToPOIRequest":{
"MessageHeader":{
"ProtocolVersion":"3.0",
"MessageClass":"Service",
"MessageCategory":"GetTotals",
"MessageType":"Request",
"ServiceID":"0518144235",
"SaleID":"CashRegB3",
"POIID":"P400Plus-275008565"
},
"GetTotalsRequest":{
"TotalFilter":{
"POIID":"P400Plus-275008565"
}
}
}
}
String serviceID = "YOUR_UNIQUE_ATTEMPT_ID";
String saleID = "YOUR_CASH_REGISTER_ID";
String POIID = "YOUR_TERMINAL_ID";
SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();
MessageHeader messageHeader = new MessageHeader();
messageHeader.setProtocolVersion("3.0");
messageHeader.setMessageClass( MessageClassType.SERVICE );
messageHeader.setMessageCategory( MessageCategoryType.GET_TOTALS );
messageHeader.setMessageType( MessageType.REQUEST );
messageHeader.setServiceID(serviceID);
messageHeader.setSaleID(saleID);
messageHeader.setPOIID(POIID);
saleToPOIRequest.setMessageHeader(messageHeader);
GetTotalsRequest getTotalsRequest = new GetTotalsRequest();
TotalFilter totalFilter = new TotalFilter();
totalFilter.setPOIID(POIID);
getTotalsRequest.setTotalFilter(totalFilter);
saleToPOIRequest.setGetTotalsRequest(getTotalsRequest);
terminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);
Use TotalFilter
para limitar os totals para combinações de campo/valor apresentadas.
Use o cluster TotalDetails
para agrupar os resultados nos campos especificados.
GetTotalsRequest - totalsGroupID específicos
Recuperar totas para um grupo específico de totals. Especificado com o totalsGroupID
.
{
"SaleToPOIRequest": {
"MessageHeader": {
"ProtocolVersion": "3.0",
"MessageClass": "Service",
"MessageCategory": "GetTotals",
"MessageType": "Request",
"ServiceID": "0821163913",
"SaleID": "CashRegB3",
"POIID": "P400Plus-275008565"
},
"GetTotalsRequest": {
"TotalFilter": {
"POIID": "P400Plus-275008565",
"TotalsGroupID": "GroupA"
}
}
}
}
String serviceID = "YOUR_UNIQUE_ATTEMPT_ID";
String saleID = "YOUR_CASH_REGISTER_ID";
String POIID = "YOUR_TERMINAL_ID";
SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();
MessageHeader messageHeader = new MessageHeader();
messageHeader.setProtocolVersion("3.0");
messageHeader.setMessageClass( MessageClassType.SERVICE );
messageHeader.setMessageCategory( MessageCategoryType.GET_TOTALS );
messageHeader.setMessageType( MessageType.REQUEST );
messageHeader.setServiceID(serviceID);
messageHeader.setSaleID(saleID);
messageHeader.setPOIID(POIID);
saleToPOIRequest.setMessageHeader(messageHeader);
GetTotalsRequest getTotalsRequest = new GetTotalsRequest();
TotalFilter totalFilter = new TotalFilter();
totalFilter.setPOIID(POIID);
totalFilter.setTotalsGroupID("GroupA");
getTotalsRequest.setTotalFilter(totalFilter);
saleToPOIRequest.setGetTotalsRequest(getTotalsRequest);
terminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);
GetTotalsRequest - Agrupar por OperatorID
Recupere uma lista de totals para um operador. Especificado com o OperatorID
.
{
"SaleToPOIRequest": {
"MessageHeader": {
"ProtocolVersion": "3.0",
"MessageClass": "Service",
"MessageCategory": "GetTotals",
"MessageType": "Request",
"ServiceID": "0821164804",
"SaleID": "CashRegB3",
"POIID": "P400Plus-275008565"
},
"GetTotalsRequest": {
"TotalFilter": {
"POIID": "P400Plus-275008565"
},
"TotalDetails": [
"OperatorID"
]
}
}
}
String serviceID = "YOUR_UNIQUE_ATTEMPT_ID";
String saleID = "YOUR_CASH_REGISTER_ID";
String POIID = "YOUR_TERMINAL_ID";
SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();
MessageHeader messageHeader = new MessageHeader();
messageHeader.setProtocolVersion("3.0");
messageHeader.setMessageClass( MessageClassType.SERVICE );
messageHeader.setMessageCategory( MessageCategoryType.GET_TOTALS );
messageHeader.setMessageType( MessageType.REQUEST );
messageHeader.setServiceID(serviceID);
messageHeader.setSaleID(saleID);
messageHeader.setPOIID(POIID);
saleToPOIRequest.setMessageHeader(messageHeader);
GetTotalsRequest getTotalsRequest = new GetTotalsRequest();
TotalFilter totalFilter = new TotalFilter();
totalFilter.setPOIID(POIID);
getTotalsRequest.setTotalFilter(totalFilter);
getTotalsRequest.getTotalDetails().add( TotalDetailsType.OPERATORID );
saleToPOIRequest.setGetTotalsRequest(getTotalsRequest);
terminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);
GetTotalsResponse
Para uma lista de campos GetTotalsResponse
, consulte campos GetTotalsResponse.
{
"SaleToPOIResponse":{
"MessageHeader":{
"ProtocolVersion":"3.0",
"SaleID":"CashRegB3",
"MessageClass":"Service",
"MessageCategory":"GetTotals",
"ServiceID":"0518144235",
"POIID":"P400Plus-275008565",
"MessageType":"Response"
},
"GetTotalsResponse":{
"POIReconciliationID":"1000",
"Response":{
"Result":"Success"
},
"TransactionTotals":[
{
"SaleID":"CashRegB3",
"PaymentInstrumentType":"StoredValue",
"PaymentCurrency":"EUR",
"PaymentTotals":[
{
"TransactionType":"Debit",
"TransactionCount":1,
"TransactionAmount":100.99
}
],
"OperatorID":"",
"CardBrand":"SVS",
"TotalsGroupID":"GroupA",
"ShiftNumber":""
},
{
"SaleID":"CashRegB3",
"PaymentInstrumentType":"Card",
"PaymentCurrency":"EUR",
"PaymentTotals":[
{
"TransactionType":"Debit",
"TransactionCount":51,
"TransactionAmount":1841.52
}
],
"OperatorID":"",
"CardBrand":"mc",
"TotalsGroupID":"GroupA",
"ShiftNumber":""
}
]
}
}