...
| 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”.
...
{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001212000628814",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount"Discount": 0.00,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-28T00:00:00",
"DateTimeIssue": "2020-12-28T17:01:04",
"IdDocument": 628814,
"IdStore": 1,
"IdDocumentIdTerminal": 628814212,
"IdUser": 2,
"IdStoreIdentification": 1[],
"Status": "sttValid"
},
"ID": "001212000628814",
"IdTerminalIncrease": 2120.00,
"Items": [],
"Messages": {
"IdUserCustomer": 2[],
"User": []
},
"IdentificationPartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"StatusPayments": "sttValid"
},
[],
"IDSolidaryChange": "001212000628814"null,
"IncreaseTotal": 0.00,
"ItemsVouchersPrint": [],
},
"Messages"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,
"Customerpayments": [],
"paymentChange": null,
"solidaryChange": null,
"items": [],
"UserdiscountCodes": [],
"messages": {
"customer": [
},{
"PartitionDiscounttext": [],
"Ganhou 1000 pontos nessa compra\r\n"
"PartitionIncrease": [],
}
"PaymentChange": null],
"Paymentsuser": [],
"SolidaryChange": null,
{
"Totaltext": 0.00,
"Ganhou 100 pontos nessa compra\r\n"
}
"VouchersPrint": []
]
},
"VersionvouchersPrint": 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": {
[
{
"increasetext": 0,
" CUPOM DESCONTO 1\r\n\r\n Cupom de 5% de desconto "discount": 0,
para \r\npróxima\r\ncompra, aplicado para todos os \r\nprodutos.\r\n\r\n[ImpBarra]1234567890\r\n[ImpFimBarra]\r\n"
"total": 0},
{
"header": null,
"payments": [], "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"
}
"paymentChange": null ],
"partitionIncrease": [],
"solidaryChangepartitionDiscount": [ null,
"items": [],{
"discountCodesprice": []0,
"messagespartnerCode": {0,
"promotionCode": 696,
"customerdiscountAmount": [ {0
}
]
},
"pay": null,
"return": {
"code": 0
},
"execution": "cetContinue",
"interpret": {
"textcommandType": "GanhoucctGetValue",
1000 pontos nessa compra\r\n" "messageCommand": null,
"options": null,
"value": {
"title": "Cliente fidelidade",
"subtitle": "Informe }o CPF",
"dataType": "cvtPersonalDocument",
"size": 0,
"documentTypes": [
]"cdtCPF",
"usercdtCNPJ": [ {
]
}
},
"text": "Ganhou 100 pontos nessa compra\r\n"
"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": "001212000628814",
"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"
},
"vouchersPrintID": [ {"001212000628814",
"Increase": 0.0,
"Items": [],
"Messages": {
"Customer": [],
"textUser": "[]
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""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": "cetAfter",
"Execution": "cetContinue",
"ID": "001212000628814",
"Operation": "cotSubtotalSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
{
"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"
"AccountingDate": "2020-12-28T00:00:00",
}
"DateTimeIssue": "2020-12-28T17:01:04",
"IdDocument": 628814,
"IdStore": 1,
"IdTerminal": ]212,
"partitionIncreaseIdUser": []2,
"partitionDiscountIdentification": [ {
{
"Document": "12345678909",
"priceDocumentType": 0"cdtCPF",
"PartnerCode": 20
}
],
"partnerCodeStatus": 0,"sttValid"
},
"ID": "001212000628814",
"Increase": 0.0,
"Items": [
{
"promotionCodeBarCode": 696"255",
"CaptionPacking": "KG",
"Description": "SALADA MISTA kg",
"discountAmountDiscountPrice": 0.0,
"IncreasePrice": 0.0,
"InternalCode": "255",
"ItemNumber": 1,
}
"PackingQuantity": 1.0,
"PartitionDiscount": [],
"PartitionIncrease": [],
]"Quantity": 2.0,
},
"paySellerCode": null0,
"return": {
"Status": "sttValid",
"codeTotalPrice": 0
19.8,
},
"executionUnitPrice": "cetContinue",9.9
"interpret": {
}
],
"commandTypeMessages": "cctGetValue",{
"Customer": [],
"messageCommandUser": null,[]
},
"PartitionDiscount": [],
"optionsPartitionIncrease": null[],
"PaymentChange": null,
"Payments": [],
"valueSolidaryChange": {
null,
"titleTotal": "Cliente fidelidade",
19.8,
"subtitleVouchersPrint": "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": "001212000628814",
"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": "cetAfter",
"Execution": "cetContinue",
"ID": "001212000628814",
"Operation": "cotSubtotalSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"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": [ {
"Document": "12345678909",
"DocumentType": "cdtCPF",
"PartnerCode": 20
}
],
"Status": "sttValid"
},
"ID": "001212000628814",
"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”.
[]
},
"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": "001212000628816",
"Operation": "cotEndSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.00,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-28T00:00:00",
"DateTimeIssue": "2020-12-28T17:37:10",
"IdDocument": 628816,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [
{{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001212000628816",
"Operation": "cotEndSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.00,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-28T00:00:00",
"DateTimeIssue": "2020-12-28T17:37:10",
"IdDocument": 628816,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [ {
"Document": "04620339610",
"DocumentType": "cdtCPF",
"PartnerCode": 20
}
],
"Status": "sttValid"
},
"ID": "001212000628816",
"Increase": 0.0000000000000000E+000,
"Items": [ {
"BarCode": "255",
"CaptionPacking": "KG",
"Description": "SALADA MISTA kg",
"DiscountPrice": 1.9800000000000000E+000,
"IncreasePrice": 0.0000000000000000E+000,
"InternalCode": "255",
"ItemNumber": 1,
"PackingQuantity": 1.0000000000000000E+000,
"PartitionDiscount": [ {
"DiscountAmount": 1.0000000000000000E+000,
"PartnerCode": 20,
"Price": 9.8999999999999999E-001,
"PromotionCode": 85
},
{
"DiscountAmount": 1.0000000000000000E+000,
"PartnerCode": 20,
"Price": 9.8999999999999999E-001,
"PromotionCode": 50
}
],
"PartitionIncrease": [],
"Quantity": 2.0000000000000000E+000,
"SellerCode": 0,
"Status": "sttValid",
"TotalPrice": 1.7820000000000000E+001,
"UnitPrice": 9.9000000000000004E+000
}
],
"Messages": {
"Customer": [],
"Document": "04620339610",
"UserDocumentType": []"cdtCPF",
"PartnerCode": 20
},
"PartitionDiscount": [],
"PartitionIncreaseStatus": [],"sttValid"
},
"PaymentChangeID": null"001212000628816",
"Increase": 0.00,
"PaymentsItems": [ {
{
"BarCode": "255",
"AuthorizationCodeCaptionPacking": "KG",
"Description": "SALADA MISTA kg",
"DiscountDiscountPrice": 01.0000000000000000E+00098,
"IncreasePrice": 0.00,
"InternalCode": "255",
"ExpirationDateCardItemNumber": ""1,
"PackingQuantity": 1,
"PartitionDiscount": [
"FirstDigitCard": "", {
"DiscountAmount": 1.00,
"FlagCardPartnerCode": ""20,
"Price": 9.90,
"IdWalletPromotionCode": "",85
},
"Increase": 0.0000000000000000E+000,
{
"DiscountAmount": 1.00,
"InstallmentAmountPartnerCode": 020,
"Price": 9.90,
"ItemNumberPromotionCode": 1,50
}
],
"LastDigitCardPartitionIncrease": ""[],
"Quantity": 2.00,
"SellerCode": 0,
"NetworkCardStatus": "sttValid",
"TotalPrice": 1.78,
"OwnerCardUnitPrice": "",9.90
}
],
"Messages": {
"PartitionDiscountCustomer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [
{
"PaymentNumberAuthorizationCode": 1"",
"Discount": 0.00,
"ExpirationDateCard": "",
"PaymentTypeFirstDigitCard": "cptMoney",
"FlagCard": "",
"IdWallet": "",
"TotalIncrease": 10.7820000000000000E+00100,
"InstallmentAmount": 0,
"ItemNumber": 1,
"TransactionCanceledCodeLastDigitCard": "",
"NetworkCard": "",
"OwnerCard": "",
"TransactionCodePartitionDiscount": ""[],
"PartitionIncrease": [],
"PaymentNumber": 1,
"TypeWalletPaymentType": "cptMoney",
"Total": 1.78,
"TransactionCanceledCode": "",
}"TransactionCode": "",
"TypeWallet": ""
}
],
"SolidaryChange": null,
"Total": 1.7820000000000000E+00178,
"VouchersPrint": []
},
"Version": 1
}