...
| 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 |
Com o PDV na operação “Início da venda”, a requisição da API trará o “Operation” com valor “cotStartSale”.
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": {
"Discount": 0.00,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-"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,
"Status": "sttValid"
},
"Payments": [],
"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,
"Customerheader": []null,
"payments": [],
"paymentChange": null,
"solidaryChange": null,
"Useritems": [],
"discountCodes": [],
"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 },
"vouchersPrint": []
{
},
"Versiontext": 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": {
" 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"
"increase": 0},
"discount": 0,{
"totaltext": " 0,
CUPOM DESCONTO 2\r\n\r\n Cupom de 10% de desconto para \r\npróxima\r\ncompra, aplicado "header": null,
para todos os \r\nprodutos.\r\n\r\n[ImpBarra]1234567890\r\n[ImpFimBarra]\r\n"
}
"payments ],
"partitionIncrease": [],
"partitionDiscount": [
"paymentChange": null,
{
"solidaryChangeprice": null0,
"itemspartnerCode": []0,
"discountCodespromotionCode": []696,
"messagesdiscountAmount": {0
}
]
},
"customer"pay": null,
"return": [ {
"code": 0
},
"execution": "cetContinue",
"interpret": {
"commandType": "cctGetValue",
"messageCommand": null,
"options": null,
"value": {
"texttitle": "Ganhou 1000 pontos nessa compra\r\n"Cliente fidelidade",
"subtitle": "Informe o CPF",
"dataType": "cvtPersonalDocument",
"size": 0,
}"documentTypes": [
"cdtCPF",
"cdtCNPJ"
]
}
]},
"uservouchersPrint": [ {
]
}
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": [],
"textHeader": "Ganhou{
100 pontos nessa compra\r\n"
"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": [],
"vouchersPrintMessages": [ {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"textPartitionIncrease": "[],
CUPOM DESCONTO "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": {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"
}
"AccountingDate": "2020-12-28T00:00:00",
"DateTimeIssue": "2020-12-28T17:01:04",
]"IdDocument": 628814,
"partitionIncreaseIdStore": []1,
"partitionDiscountIdTerminal": [ {212,
"IdUser": 2,
"Identification": [
{
"priceDocument": 0"12345678909",
"DocumentType": "cdtCPF",
"PartnerCode": 20
"partnerCode": 0,}
],
"Status": "sttValid"
},
"ID": "001212000628814",
"promotionCodeIncrease": 6960.0,
"Items": [
{
"BarCode": "255",
"discountAmountCaptionPacking": 0"KG",
"Description": "SALADA MISTA kg",
"DiscountPrice": 0.0,
"IncreasePrice": 0.0,
}
"InternalCode": "255",
"ItemNumber": 1,
"PackingQuantity": 1.0,
"PartitionDiscount": [],
},
"payPartitionIncrease": null[],
"returnQuantity": {2.0,
"codeSellerCode": 0,
},
"execution": "cetContinue""Status": "sttValid",
"interpret": {
"TotalPrice": 19.8,
"commandTypeUnitPrice": "cctGetValue",9.9
}
],
"messageCommandMessages": null,{
"Customer": [],
"optionsUser": null,[]
},
"PartitionDiscount": [],
"valuePartitionIncrease": {[],
"PaymentChange": null,
"Payments": [],
"SolidaryChange": null,
"titleTotal": "Cliente fidelidade",
19.8,
"subtitleVouchersPrint": []
},
"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": {"Informe o CPF",
"dataType": "cvtPersonalDocument",
"size": 0,
"documentTypes": [
"cdtCPF",
"cdtCNPJ"
"AccountingDate": "2020-12-28T00:00:00",
"DateTimeIssue": "2020-12-28T17:37:10",
"IdDocument": 628816,
"IdStore": 1,
] "IdTerminal": 212,
"IdUser": 2,
"Identification": [
}
{
},
"vouchersPrintDocument": []
}
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"04620339610",
"DocumentType": "cetBeforecdtCPF",
"Execution": "cetContinue",
"ID": "001212000628814",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "12345678909",
"Sale": {
"PartnerCode": 20
}
"Discount": 0.0,
],
"DiscountCodesStatus": [],"sttValid"
},
"HeaderID": {"001212000628816",
"Increase": 0.00,
"Items": [
{ "AccountingDate": "2020-12-28T00:00:00",
"BarCode": "255",
"DateTimeIssueCaptionPacking": "2020-12-28T17:01:04KG",
"Description": "SALADA MISTA kg",
"IdDocumentDiscountPrice": 6288141.98,
"IncreasePrice": 0.00,
"InternalCode": "255",
"IdStoreItemNumber": 1,
"PackingQuantity": 1,
"IdTerminalPartitionDiscount": 212,[
{
"IdUserDiscountAmount": 21.00,
"Identification": []"PartnerCode": 20,
"Status"Price": "sttValid"9.90,
},"PromotionCode": 85
"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": "04620339610",
"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”.
{ "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, "IdUser"2, "Identifcation"[ { "Document""12345678909", "PartnerCode""10", "DocumentType""cdtCPF" } ], }, "ID""001600000590853", "Items"[ { "CaptionPacking""UN", "DiscountAmount": 1.00,
"PartnerCode": 20,
"Price": 9.90,
"PromotionCode": 50
}
],
"PartitionIncrease": [],
"Quantity": 2.00,
"SellerCode": 0,
"Status": "sttValid",
"TotalPrice": 1.78,
"UnitPrice": 9.90
}
],
"Messages": {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [
{
"AuthorizationCode": "",
"Discount": 0.00,
"ExpirationDateCard": "",
"DescriptionFirstDigitCard": "COCA COLA",
"InternalCode""3988FlagCard": "",
"IdWallet": "ItemNumber"1,
"PackingQuantityIncrease"1: 0.00000,
"Quantity"5.000"Status""sttValid", InstallmentAmount": 0,
"TotalPrice"9.89, ItemNumber": 1,
"UnitPrice"1.00 LastDigitCard": "",
} ], "NetworkCard": "PaymentChange"{ ",
"PaymentTypeOwnerCard": "cptMoney",
"Total"0.00 PartitionDiscount": [],
}, "PaymentsPartitionIncrease"[ : [],
"PaymentNumber": 1,
{ "PaymentType": "ItemNumbercptMoney"1,
"authorizationCode""FD455FKL34SS1100AXV", Total": 1.78,
"TransactionCanceledCode": "PaymentNumber"1,
"PaymentTypeTransactionCode": "cptMoney",
"TypeWallet"Total"9.89 : ""
}
],
"SolidaryChange": null,
"Total"0.000 : 1.78,
"VouchersPrint": []
},
"Version": 1
}