...
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": "001003000134284", "Operation": "cotStartSale",
"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, "execution": "cetContinue", "interpret": { "commandType": "cctMessage", "messageCommand": { "title": "Cliente fidelidade",
"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": {
"subtitletitle": "DesejaCliente participar?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": "001003000134284001212000628838",
"Operation": "cotStartSale", "Response": "1",
"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.
...
Informará também os dados da venda “Sale” e dos itens “Items”.
{
"Event": "cetBeforecetAfter",
"Execution": "cetContinue",
"ID": "001600000590853001212000628836",
"Operation": "cotSubtotalSale",
"ParkingTicket": null,
", Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-0112-22T0029T00:00:00",
"DateTimeIssue": "2020-0112-22T1429T08:1543:3641",
"IdDocument": 628836,
"IdStore": 1,
"IdTerminal": 590853212,
"IdUser": 2, ,
"Identification": [],
"Status": "sttValid"
},
"ID": "001600000590853", 001212000628836",
"Increase": 0.0,
"Items": [
{
"BarCode": "255",
"CaptionPacking": "UNKG",
"Description": "COCA COLA", SALADA MISTA kg",
"DiscountPrice": 0.0,
"IncreasePrice": 0.0,
"InternalCode": "3988255",
"ItemNumber": 1,
"PackingQuantity": 1.000, 0,
"PartitionDiscount": [],
"PartitionIncrease": [],
"Quantity": 5.000 "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.
...
Informará também os dados da venda “Sale”, itens “Items” e dos pagamentos “Payments”.
{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001600000590853001212000628836",
"Operation": "cotEndSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-0112-22T0029T00:00:00",
"DateTimeIssue": "2020-0112-22T1429T08:1543:36" 41",
"IdDocument": 154625628836,
"IdStore": 1,
"IdTerminal": 1212,
"IdUser": 2,
"Identification": [ ],
{ "Status": "sttValid"
},
"Document"ID": "001212000628836",
"Increase": "12345678909", 0.0,
"Items": [
{
"PartnerCodeBarCode": "10255",
"CaptionPacking": "KG",
"DocumentTypeDescription": "cdtCPF" SALADA MISTA kg",
"DiscountPrice": 1.98,
} ], "IncreasePrice": 0.0,
"InternalCode": "255",
}, "IDItemNumber": 1,
"001600000590853PackingQuantity", : 1.0,
"ItemsPartitionDiscount": [
{
"CaptionPackingDiscountAmount": 1.0,
"UNPartnerCode", : 20,
"DescriptionPrice": "COCA COLA", 0.99,
"PromotionCode": 84
},
{
"DiscountAmount": 1.0,
"InternalCodePartnerCode": "3988", 20,
"Price": 0.99,
"ItemNumberPromotionCode": 1, 70
}
],
"PackingQuantityPartitionIncrease": 1.000, [],
"Quantity": 5.000 2.0,
"SellerCode": 0,
"Status": "sttValid",
"TotalPrice": 917.8982,
"UnitPrice": 1.00 9.9
}
],
"Messages": {
"Customer": [],
"User": []
} ,
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
{ "Payments": [
{
"PaymentTypeAuthorizationCode": "cptMoney",
"TotalDiscount": 0.00 }, 0,
"ExpirationDateCard": "",
"FirstDigitCard": "",
"FlagCard": "",
"IdWallet": "",
"PaymentsIncrease": [ 0.0,
{ "InstallmentAmount": 0,
"ItemNumber": 1, ,
"LastDigitCard": "",
"NetworkCard": "",
"OwnerCard": "",
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentNumber": 1,
"PaymentType": "cptMoney",
"Total": 9.89 17.82,
"TransactionCanceledCode": "",
"TransactionCode": "",
"TypeWallet": ""
}
], ,
"SolidaryChange": null,
"Total": 0.000 17.82,
"VouchersPrint": []
},
"Version": 1
}