Solicitar para a aplicação de PDV que exiba uma caixa de diálogo ao operador, podendo conter botões.
A caixa de diálogo e os botões poderão ser customizados. A seguir exemplos de como executar esta operação e os parâmetros necessários.
PARÂMETRO | TIPO | OBRIGATÓRIO | DESCRIÇÃO | ||||||||||||
Execution | string | true | Tipo da execução: cetContinue, cetInterrupt, cetFailed | ||||||||||||
Version | string | true | Versão da API | ||||||||||||
CommandType | string | true | Tipo do comando: cctMessage, cctGetOption, cctGetValue | ||||||||||||
Title | string | false | Título da caixa de diálogo | ||||||||||||
Subtitle | string | false | Subtítulo da caixa de diálogo | ||||||||||||
Text | string | true | Texto da caixa de diálogo | ||||||||||||
MessageType | string | true | Tipo da mensagem apresentada cmtInformation – Mensagen de Informação cmtWarning – Mensagen de Alerta cmtError – Mensagen de Erro cmtConfirmation – Mensagen de Confirmação cmtConfirmationPinPad – Mensagen de Confirmação cmtQRCode – Mensagem de QRCode | ||||||||||||
Buttons | Array of objects | false | Informações dos botões apresentados
|
Observação :
Existe também um recurso novo implantado a partir da versão 23.10.001 que trata um tipo de mensagem específico para que o parceiro utilize a confirmação no PINPAD do PDV.
O parceiro deverá, na mensagem MessageType escolher o tipo cmtConfirmationPinPad.
Com o PDV na operação “Início da venda”, a requisição da API trará o “Operation” com valor “cotStartSale”.
A API PDV requisitará para o integrador(parceiro) qual ação deverá ser executada, informando o ciclo da operação que ele está “Operation”, a identificação única da operação/documento “ID”, se a ação será executada antes ou após o evento “Event” e qual a versão da API “Version”.
{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001212000628838",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-29T00:00:00",
"DateTimeIssue": "2020-12-29T10:39:01",
"IdDocument": 628838,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [],
"Status": "sttValid"
},
"ID": "001212000628838",
"Increase": 0.0,
"Items": [],
"Messages": {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [],
"SolidaryChange": null,
"Total": 0.0,
"VouchersPrint": []
},
"Version": 1
}
O integrador (parceiro) responderá para API PDV executar o comando de Exibir mensagem (neste exemplo) “commandType: cctMessage”, informando o título, subtítulo e o texto para a caixa de diálogo, será solicitado também o tipo da mensagem “messageType” e um array com dois botões, aguardando uma resposta informando qual botão foi pressionado pelo operador, “Sim : 1” e “Não : 2”. Obs (Poderão ter nenhum, um ou dois botões na caixa de diálogo).
{
"version": 1,
"sale": {
"increase": 0,
"discount": 0,
"total": 0,
"header": null,
"payments": [],
"paymentChange": null,
"solidaryChange": null,
"items": [],
"discountCodes": [],
"messages": {
"customer": [],
"user": []
},
"vouchersPrint": [],
"partitionIncrease": [],
"partitionDiscount": []
},
"pay": null,
"return": {
"code": 0
},
"execution": "cetContinue",
"interpret": {
"commandType": "cctMessage",
"messageCommand": {
"title": "Cliente fidelidade",
"text": "É um cliente fidelidade?\r\n",
"defaultButton": "Sim",
"messageType": "cmtConfirmation",
"buttons": [
{
"caption": "Sim",
"response": "1"
},
{
"caption": "Não",
"response": "2"
}
]
},
"options": null,
"value": null
},
"vouchersPrint": []
}
A API PDV requisitará para o integrador(parceiro) uma nova ação à ser tomada informando qual foi a resposta obtida pela aplicação de PDV, (neste exemplo), foi pressionado o botão Sim, informado no “Response” o valor “1”.
{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001212000628838",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "1",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-29T00:00:00",
"DateTimeIssue": "2020-12-29T10:39:01",
"IdDocument": 628838,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [],
"Status": "sttValid"
},
"ID": "001212000628838",
"Increase": 0.0,
"Items": [],
"Messages": {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [],
"SolidaryChange": null,
"Total": 0.0,
"VouchersPrint": []
},
"Version": 1
}
Com o PDV na operação “Subtotal da venda”, a notificação da API trará o “Operation” com valor “cotSubtotalSale”, informará também as informações da venda e dos itens.
A API PDV requisitará para o integrador(parceiro) qual ação deverá ser executada, informando o ciclo da operação que ele está “Operation”, a identificação única da operação/documento “ID”, se a ação será executada antes ou após o evento “Event”, qual a versão da API “Version”.
Informará também os dados da venda “Sale” e dos itens “Items”.
{
"Event": "cetAfter",
"Execution": "cetContinue",
"ID": "001212000628836",
"Operation": "cotSubtotalSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-29T00:00:00",
"DateTimeIssue": "2020-12-29T08:43:41",
"IdDocument": 628836,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [],
"Status": "sttValid"
},
"ID": "001212000628836",
"Increase": 0.0,
"Items": [
{
"BarCode": "255",
"CaptionPacking": "KG",
"Description": "SALADA MISTA kg",
"DiscountPrice": 0.0,
"IncreasePrice": 0.0,
"InternalCode": "255",
"ItemNumber": 1,
"PackingQuantity": 1.0,
"PartitionDiscount": [],
"PartitionIncrease": [],
"Quantity": 2.0,
"SellerCode": 0,
"Status": "sttValid",
"TotalPrice": 19.8,
"UnitPrice": 9.9
}
],
"Messages": {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [],
"SolidaryChange": null,
"Total": 19.8,
"VouchersPrint": []
},
"Version": 1
}
Com o PDV na operação “Finalização da venda”, a notificação da API trará o “Operation” com valor “cotEndSale”, informará também as informações da venda e dos itens.
A API PDV requisitará para o integrador(parceiro) qual ação deverá ser executada, informando o ciclo da operação que ele está “Operation”, a identificação única da operação/documento “ID”, se a ação será executada antes ou após o evento “Event”, qual a versão da API “Version”.
Informará também os dados da venda “Sale”, itens “Items” e dos pagamentos “Payments”.
{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001212000628836",
"Operation": "cotEndSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-29T00:00:00",
"DateTimeIssue": "2020-12-29T08:43:41",
"IdDocument": 628836,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [],
"Status": "sttValid"
},
"ID": "001212000628836",
"Increase": 0.0,
"Items": [
{
"BarCode": "255",
"CaptionPacking": "KG",
"Description": "SALADA MISTA kg",
"DiscountPrice": 1.98,
"IncreasePrice": 0.0,
"InternalCode": "255",
"ItemNumber": 1,
"PackingQuantity": 1.0,
"PartitionDiscount": [
{
"DiscountAmount": 1.0,
"PartnerCode": 20,
"Price": 0.99,
"PromotionCode": 84
},
{
"DiscountAmount": 1.0,
"PartnerCode": 20,
"Price": 0.99,
"PromotionCode": 70
}
],
"PartitionIncrease": [],
"Quantity": 2.0,
"SellerCode": 0,
"Status": "sttValid",
"TotalPrice": 17.82,
"UnitPrice": 9.9
}
],
"Messages": {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [
{
"AuthorizationCode": "",
"Discount": 0.0,
"ExpirationDateCard": "",
"FirstDigitCard": "",
"FlagCard": "",
"IdWallet": "",
"Increase": 0.0,
"InstallmentAmount": 0,
"ItemNumber": 1,
"LastDigitCard": "",
"NetworkCard": "",
"OwnerCard": "",
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentNumber": 1,
"PaymentType": "cptMoney",
"Total": 17.82,
"TransactionCanceledCode": "",
"TransactionCode": "",
"TypeWallet": ""
}
],
"SolidaryChange": null,
"Total": 17.82,
"VouchersPrint": []
},
"Version": 1
}