Solicitar para a aplicação de PDV que exiba uma caixa de diálogo ao operador contendo uma lista com as opções predefinidas, após a exibição, será devolvido ao parceiro a opção selecionada pelo operador. 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 |
Options | string list | true | Opções para o menu |
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": "001212000628836",
"Operation": "cotStartSale",
"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": [],
"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 Menu de opções (neste exemplo) “commandType: cctGetOptions”, informando o título e subtítulo para a caixa de diálogo e quais serão as opções e as respostas de acordo com a opção que foi selecionada pelo operador. “Cartão da loja : 1” e “Cartão clube especial : 2”.
{
"version": 1,
"sale": {
"increase": 0,
"discount": 0,
"total": 0,
"header": null,
"payments": [],
"paymentChange": null,
"solidaryChange": null,
"items": [],
"discountCodes": [],
"messages": {
"customer": [],
"user": []
},
"vouchersPrint": [],
"partitionIncrease": [],
"partitionDiscount": [
{
"price": 0,
"partnerCode": 0,
"promotionCode": 21,
"discountAmount": 0
}
]
},
"pay": null,
"return": {
"code": 0
},
"execution": "cetContinue",
"interpret": {
"commandType": "cctGetOption",
"messageCommand": null,
"options": {
"title": "Cliente fidelidade",
"subtitle": "Tipo do cartão fidelidade",
"options": [
"Cartão da loja",
"Cartão clube especial"
],
"response": [
"1",
"2"
]
},
"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 selecionado a opção “Cartão da loja”, informado no “Response” o valor “1”.
{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001212000628836",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "1",
"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": [],
"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 requisição da API trará o “Operation” com valor “cotSubtotalSale”.
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": "cetBefore",
"Execution": "cetContinue",
"ID": "001600000590853",
"Operation": "cotSubtotalSale",
"Sale": {
"Header": {
"AccountingDate": "2020-01-22T00:00:00",
"DateTimeIssue": "2020-01-22T14:15:36",
"IdDocument": 590853
},
"ID": "001600000590853",
"Items": [
{
"CaptionPacking": "UN",
"Description": "COCA COLA",
"InternalCode": "3988",
"ItemNumber": 1,
"PackingQuantity": 1.000,
"Quantity": 5.000,
"Status": "sttValid"
}
]
}
}
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": "001600000590853",
"Operation": "cotEndSale",
"Sale": {
"Header": {
"AccountingDate": "2020-01-22T00:00:00",
"DateTimeIssue": "2020-01-22T14:15:36""IdDocument": 154625,
"IdStore": 1,
"IdTerminal": 1,
"Identification": [
{
"Document": "12345678909",
"PartnerCode": "10",
"DocumentType": "cdtCPF"
}
],
},
"ID": "001600000590853",
"Items": [
{
"CaptionPacking": "UN",
"Description": "COCA COLA",
"InternalCode": "3988",
"ItemNumber": 1,
"PackingQuantity": 1.000,
"Quantity": 5.000"Status": "sttValid",
"TotalPrice": 9.89,
"UnitPrice": 1.00
}
],
"PaymentChange": {
"PaymentType": "cptMoney",
"Total": 0.00
},
"Payments": [
{
"ItemNumber": 1,
"PaymentNumber": 1,
"PaymentType": "cptMoney",
"Total": 9.89
}
],
"Total": 0.000
},
"Version": 1
}