Solicitar para a aplicação de PDV que exiba uma caixa de diálogo ao operador com um campo editável, utilizado para obter informações e enviar para a API do parceiro conforme necessidade. 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 |
DataType | string | true | Tipo de dado informado cvtString cvtNumber cvtDate cvtTime cvtQRCode cvtPersonalDocument cvtPhoneNumber cvtPassword |
Size | integer | true | Tamanho do documento para tipos “String” e “Number”, demais tipos recebem o valor “0” |
DocumentType | String List | true | Tipo do documento cdtIDInternal cdtCPF cdtCNPJ cdtIDForeign |
Observação importante:
No paramêtro DataType para uso de solicitação de senha pela API utilizando cvtPassword, a integração utiliza a criptografada em ENCODE64 em campos de senha, então para validar a senha do lado do parceiro o mesmo precisa estar apto a validar o valor encriptografado que irá receber.
Criamos também um parâmetro novo quando precisar solicitar a senha no PINPAD.
Veja abaixo :
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": "001212000628814",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
", "ID": "001003000134284", "Operation": "cotStartSale", Discount": 0.00,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-28T00:00:00",
"DateTimeIssue": "2020-12-28T17:01:04",
"IdDocument": 628814,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [],
"Status": "sttValid"
},
"ID": "001212000628814",
"Increase": 0.00,
"Items": [],
"Messages": {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [],
"SolidaryChange": null,
"Total": 0.00,
"VouchersPrint": []
},
"Version": 1
}
O integrador (parceiro) responderá para API PDV executar o comando de Obter valor (neste exemplo) “commandType: cctGetValue”, informando o título e subtítulo para a caixa de diálogo, o tipo do documento e tamanho do dado que será capturado, neste caso um CPF.
{
"version": 1, ",
"sale": {
"increase": 0,
"discount": 0,
"total": 0,
"header": null,
"payments": [],
"paymentChange": null,
"solidaryChange": null,
"items": [],
"discountCodes": [],
"messages": {
"customer": [
{
"text": "Ganhou 1000 pontos nessa compra\r\n"
}
],
"user": [
{
"text": "Ganhou 100 pontos nessa compra\r\n"
}
]
},
"vouchersPrint": [
{
"text": " CUPOM DESCONTO 1\r\n\r\n Cupom de 5% de desconto para \r\npróxima\r\ncompra, aplicado para todos os \r\nprodutos.\r\n\r\n[ImpBarra]1234567890\r\n[ImpFimBarra]\r\n"
},
{
"text": " CUPOM DESCONTO 2\r\n\r\n Cupom de 10% de desconto para \r\npróxima\r\ncompra, aplicado para todos os \r\nprodutos.\r\n\r\n[ImpBarra]1234567890\r\n[ImpFimBarra]\r\n"
}
],
"partitionIncrease": [],
"partitionDiscount": [
{
"price": 0,
"partnerCode": 0,
"promotionCode": 696,
"discountAmount": 0
}
]
},
"pay": null,
"return": {
"code": 0
},
"execution": "cetContinue",
"interpret": {
"commandType": "cctGetValue",
"messageCommand": null,
"options": null,
"value": {
"title": "Cliente fidelidade",
"subtitle": "Informe o CPF",
"dataType": "cvtPersonalDocument",
"size": 0,
"documentTypes": [
"cdtCPF" ",
"cdtCNPJ"
]
}
} ,
"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 informado o número do CPF no “Response” o valor “12345678909”.
{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001003000134284001212000628814",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "12345678909",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-28T00:00:00",
"DateTimeIssue": "2020-12-28T17:01:04",
"IdDocument": 628814,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [],
"Status": "sttValid",
},
"ID": "001212000628814",
"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": "cetBeforecetAfter",
"Execution": "cetContinue",
"ID": "001600000590853001212000628814",
"Operation": "cotSubtotalSale",
", "ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-0112-22T0028T00:00:00",
"DateTimeIssue": "2020-12-01-22T14:15:36" 28T17:01:04",
"IdDocument": 628814,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [
{
"Document": "12345678909",
"DocumentType": "cdtCPF",
"PartnerCode": 20
}
],
"Status": "sttValid"
},
"ID": "001600000590853", 001212000628814",
"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 ": 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": "001600000590853001212000628816",
"Operation": "cotEndSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.00,
"DiscountCodes": [],
"Sale"{ "Header": {
"AccountingDate": "2020-0112-22T00 28T00:00 :00",
"DateTimeIssue": "2020-01-22T14 15 36""IdDocument"154625, 12-28T17:37:10",
"IdDocument": 628816,
"IdStore": 1,
"IdTerminal"1, : 212,
"IdUser": 2,
"IdentifcationIdentification"[ : [
{
"Document": "1234567890904620339610",
"PartnerCodeDocumentType": "10cdtCPF",
"DocumentType""cdtCPF" PartnerCode": 20
}
],
"Status": "sttValid"
},
"ID""001600000590853", : "001212000628816",
"Increase": 0.00,
"Items": [
{
"BarCode": "255",
"CaptionPacking": "UNKG",
"Description""COCA COLA", : "SALADA MISTA kg",
"DiscountPrice": 1.98,
"IncreasePrice": 0.00,
"InternalCode": "3988255",
"ItemNumber": 1,
"PackingQuantity": 1.000, ,
"PartitionDiscount": [
{
"DiscountAmount": 1.00,
"PartnerCode": 20,
"Price": 9.90,
"PromotionCode": 85
},
{
"DiscountAmount": 1.00,
"PartnerCode": 20,
"Price": 9.90,
"PromotionCode": 50
}
],
"PartitionIncrease": [],
"Quantity"5.000: 2.00,
"SellerCode": 0,
"Status": "sttValid",
"TotalPrice"9: 1.8978,
"UnitPrice"1.00 : 9.90
}
],
"Messages": {
"Customer": [],
"User": []
} ,
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange"{ : null,
"Payments": [
{
"PaymentTypeAuthorizationCode": "cptMoney",
"TotalDiscount": 0.00 ,
"ExpirationDateCard": "",
"FirstDigitCard": "",
"FlagCard": "",
}, "IdWallet": "",
"Payments"[ Increase": 0.00,
{ "InstallmentAmount": 0,
"ItemNumber": 1, ,
"LastDigitCard": "",
"NetworkCard": "",
"OwnerCard": "authorizationCode""FD455FKL34SS1100AXV", ",
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentNumber": 1,
"PaymentType": "cptMoney",
"Total"9.89 : 1.78,
"TransactionCanceledCode": "",
"TransactionCode": "",
"TypeWallet": ""
}
],
"SolidaryChange": null,
"Total"0.000 : 1.78,
"VouchersPrint": []
},
"Version": 1
}