Árvore de páginas

Objetivo

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ÂMETROTIPOOBRIGATÓRIODESCRIÇÃO
ExecutionstringtrueTipo da execução: cetContinue, cetInterrupt, cetFailed
VersionstringtrueVersão da API
CommandTypestringtrueTipo do comando: cctMessage, cctGetOption, cctGetValue
TitlestringfalseTítulo da caixa de diálogo
SubtitlestringfalseSubtítulo da caixa de diálogo
TextstringtrueTexto da caixa de diálogo
MessageTypestringtrueTipo 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

ButtonsArray of objectsfalseInformações dos botões apresentados


ParâmetroTipoDescrição
CaptionstringDescrição do botão
ResponsestringResultado ao pressionar o botão
DefaultstringDefine o botão padrão


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.

Início da venda

Com o PDV na operação “Início da venda”, a requisição da API trará o “Operation” com valor “cotStartSale”.

Request Example

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
}

Response Example

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": []
}

Request Example

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
}

Subtotal da venda

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.

Request Example

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
}

Finalização da venda

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.

Request Example

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
}