Quando houve a necessidade de interação com a API na totalização dos valores do PDV.
Na maioria dos casos, é utilizado para trazer os descontos ou acréscimos que será aplicado na venda atual e a regra fica por conta do parceiro.
Na Header, temos um campo para identificação do cliente para envio ao parceiro, o campo Identification, que contém os seguintes campos:
IdentificationType : citInternal (veja a tabela abaixo os tipos de identificações)
DocumentType: cdtCPF (cdtCNPJ ou cdtCPF) ==> Tipo de documento
Document : 11111111111 ==> Dados do documento apresentado
PartnerCode := 30 ==> Código do parceiro
Valores para TIdentificationType abaixo :
TIdentificationType | Descrição do tipo de identificação |
---|---|
citInternal, | Identificação interna |
citInvoice | Identificação fiscal (Nota fiscal paulista e outros) |
citReward | Identificação de recompensas, parceiros, etc. |
citOther | Outras identificações |
citUnknown | Desconhecido |
Com o PDV na operação “Subtotal Subtotal da venda”venda, a notificação da API trará o “Operation” com Operation com valor “cotSubtotalSale” cotSubtotalSale, informará também as informações da venda e dos itens.
Temos a opção de informar na integração o segmento e a pré-venda que deu origem a mesma, veja na tag Items :
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”.
Na tag "SellerCode", será enviado pelo PDV o vendedor se o mesmo estiver informado na venda.
{
{
"Version": 1,
"Event": "cetAfter",
"Execution": "cetContinue",
"ID": "001212000628810001212000629210",
"Operation": "cotSubtotalSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountDiscountCodes": 0.0[],
"Header": {
"DiscountCodesAccountingDate": []"2021-01-13T00:00:00",
"DateTimeIssue": "2021-01-13T15:39:26",
"HeaderIdDocument": {629210,
"CooDocument": 527,
"IdStore": 1,
"IdTerminal": 212,
"AccountingDate": "2020-12-28T00:00:00", "IdUser": 2,
"Identification": [
{
"DateTimeIssueIdentificationType": citInternal
"2020-12-28T11:13:48 "Document": "11111111111",
"DocumentType": "cdtCPF",
"IdDocumentPartnerCode": 628810,30
}
],
"IdStoreStatus": 1,"sttValid"
},
"ID": "001212000629210",
"Increase": 0.0,
"IdTerminalItems": 212,[
{
"BarCode": "255",
"IdUserCaptionPacking": 2"UN",
"Description": "CARNE BOVINA kg ENTRECO NOIA SEARA",
"IdentificationDiscountPrice": []0.77,
"IncreasePrice": 0.0,
"StatusInternalCode": "sttValid258"},
"IDItemNumber": "001212000628810"1,
"IncreasePackingQuantity": 01.0,
"ItemsPartitionDiscount": [
{
{
"BarCodeDiscountAmount": "255"0.111,
"PartnerCode": 0,
"CaptionPackingPrice": "KG"0.77,
"PromotionCode": 0,
"DescriptionIncreDiscType": "SALADA2 MISTA kg",
}
"DiscountPrice ],
"PartitionIncrease": [],
"Quantity": 0.111,
"SellerCode": 0,
"Status": "sttValid",
"IdSegment": 3,
"IncreasePrice "OrderNumber": 1526,
"TotalPrice": 01.055,
"UnitPrice": 20.99
}
],
"InternalCodeMessages": {
"255Customer": [],
"User": []
},
"PartitionDiscount": [],
"ItemNumberPartitionIncrease": 1[],
"PaymentChange": null,
"Payments": [],
"SolidaryChange": null,
"Total": 1.55,
"PackingQuantity "VouchersPrint": []
},
"Version": 1.0,
"PartitionDiscount": [],
}
O integrador(parceiro) responderá para API PDV executar o tratamento devido no PDV. No caso abaixo, esta trazendo um desconto adicional de R$0,22 centavos para ser aplicado no PDV.
{
"version": 1,
"execution": "cetCompleted",
"interpret": null,
"sale": {
"increase": 0,
"discount": 0.0,
"total": 1.33289,
"payments": [],
"paymentChange": null,
"items": [
{
"BarCode": "255",
"PartitionIncreaseCaptionPacking": []"UN",
"Description": "CARNE BOVINA kg ENTRECO NOIA SEARA",
"DiscountPrice": 0.77,
"QuantityIncreasePrice": 20.0,
"InternalCode": "258",
"ItemNumber": 1,
"SellerCodePackingQuantity": 1.0,
"PartitionDiscount": [
"Status {
"DiscountAmount": "sttValid"0.111,
"PartnerCode": 0,
"TotalPricePrice": 190.877,
"PromotionCode": 0,
"UnitPriceIncreDiscType": 9.9 }
1
},
], {
"MessagesDiscountAmount": {0.111,
"Price": 0.22,
"CustomerPartnerCode": []30,
"PromotionCode": "255",
"UserIncreDiscType": []2
}
],
"PartitionDiscountPartitionIncrease": [],
"Quantity": "PartitionIncrease0.111,
"SellerCode": []0,
"IdSegment": 3,
"PaymentChangeOrderNumber": null1526,
"Status": "PaymentssttValid",
"TotalPrice": []1.55,
"SolidaryChangeUnitPrice": null,
20.99
}
],
"TotaldiscountCodes": 19.8[],
"messages": {},
"vouchersPrint": [],
"VouchersPrintpartitionDiscount": []
},
"pay": null,
"return": {
"code": }0,
"messageText": "0"
}
}