Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

O PDV precisa estar com a operação de finalização da venda, na operação de Início da venda e Subtotal da venda não será aplicado, pois a validação de ticket é realizado no final, quando há uma finalização de cupom. 

O campo com número da chave do SAT ou chave da NFC-e, é o campo IdInvoiceKey, que no final da venda será populado e passado para o parceiro.

PARÂMETROTIPOOBRIGATÓRIODESCRIÇÃO
ExecutionstringtrueTipo da execução cetContinue, cetInterrupt, cetFailed
VersionstringtrueVersão da API
TextString ListtrueTexto que será exibido nos cupons impressos no final da compra

...

Início da venda no PDV, foi inserido um produto e teclado Enter. Após todos os produtos inseridos, foi acionada a função para finalização da venda.

Image Modified

Imagem 1 – Tela Pagamento

...

JSON enviado ao parceiro
{

...

  "Event":

...

"cetAfter",

...


 

...

"Execution":

...

"cetContinue",

...


 

...

"ID":

...

"

...

001222001206915",

...


 

...

"Operation": "cotParkingTicketEndSale",
  "ParkingTicket": {
     "ParkingCourtesy": [
        {
          "MinutesFree": 0,
          "SaleValue": 2.9989999999999998E+001,
          "TariffCode": "1"
        },
        {
          "MinutesFree": 30,
          "SaleValue": 5.9990000000000002E+001,
          "TariffCode": "2"
        },
        {
          "MinutesFree": 150,
          "SaleValue": 1.9999000000000001E+002,
          "TariffCode": "6"
        },
       {
          "MinutesFree": 180,
          "SaleValue": 2.2999000000000001E+002,
          "TariffCode": "7"
        },
        {
           "MinutesFree": 720,
           "SaleValue": 9.9990000000000000E+003,
           "TariffCode": "8"
        }
       ],
    "ParkingCust": [
       {
          "MinutesRate": 15,
          "PeriodCust": 1.0000000000000000E+000
       },
      {
         "MinutesRate": 30,
         "PeriodCust": 0.0000000000000000E+000
       },
       {
          "MinutesRate": 60,
          "PeriodCust": 1.0000000000000000E+001
        },
        {
           "MinutesRate": 120,
           "PeriodCust": 2.0000000000000000E+001
        },
       {
           "MinutesRate": 240,
           "PeriodCust": 2.0000000000000000E+001
        }
      ]
   },
"Pay": null,
"Response": "",
"Sale": {
    "Discount": 0.0000000000000000E+000,
    "DiscountCodes": [],
    "Header": {
         "AccountingDate": "2021-11-12T00:00:00",
         "DateTimeIssue": "2021-11-12T18:01:23",
         "IdDocument": 1206915,

         "CooDocument": 527,
         "IdInvoiceKey": "29211110010000288049657020000004439239121219",
         "IdStore": 1,
         "IdTerminal": 222,
         "IdUser": 2,
         "Identification": [],
         "Status": "sttValid"
      },
    "ID": "001222001206915",
    "Increase": 0.0000000000000000E+000,
    "Items": [],
    "Messages": {
         "Customer": [],
         "User": []
       },
    "PartitionDiscount": [],
    "PartitionIncrease": [],
    "PaymentChange": null,
    "Payments": [],
    "SolidaryChange": null,
    "Total": 1.3949999999999999E+001,
    "VouchersPrint": []
  },
"Version": 1
}


JSON retornado pelo parceiro com uma solicitação de valor

{
  "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": 357,
            "discountAmount": 0
          }
        ]
    },
 "pay": null,
 "return": {
     "code": 0
     },
 "execution": "cetContinue",
 "interpret": {
     "commandType": "cctGetValue",
     "messageCommand": null,
     "options": null,
     "value": {
        "title": "Ticket de estacionamento",
        "subtitle": "Informe o número",
        "dataType": "cvtString",
        "size": 0,
        "documentTypes": [
              "cdtCPF",
              "cdtCNPJ"
           ]
       }
  },
 "vouchersPrint": [
     {
        "text": " RECEBO TICKET ESTACIONAMENTO\r\n\r\n N. 12345678901234, liberado até 20:00 horas\r\n"
     },
    {
       "text": " RECEBO TICKET ESTACIONAMENTO\r\n\r\n N. 12345678901234, liberado até 20:00 horas\r\n"
    }
  ]
}

Tela apresentada ao operador. 

Image AddedImagem 2 – Tela de Pagamento

JSON enviado ao parceiro

{
"version": 1,
"sale": {
"increase": 0,
"discount": 0,
"total": 0,
"header": null,
"payments": [],
"paymentChange": null,
"solidaryChange": null,
"items": [],
"discountCodes": [],
"messages": {
"customer": [
{
"cotParkingTicketEndSale", "Sale"{ "Header"{ "AccountingDate": "2020-02-14T00 00 00", "DateTimeIssue": "2020-02-14T08 42 29", "IdDocument": 154775, "IdStore": 1, "IdTerminal": 1, "IdUser": 2, "Status": "sttValid" }, "ID": "001001000154775", "Total": 11.98 }, "ParkingTicket"{ "ParkingCourtesy"[ { "MinutesFreetext": 0, "Ganhou 1000 pontos nessa compra\r\n"
}
],
"SaleValueuser": 5.00, [
{
"TarifCodetext": "0" Ganhou 100 pontos nessa compra\r\n"
},
]
{ },
"MinutesFreevouchersPrint": 60, [
{
"SaleValuetext": 15.00, "TarifCode": "1" " 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"
},
{
"MinutesFreetext": 120, " CUPOM DESCONTO 2\r\n\r\n Cupom de 10% de desconto "SaleValue": 20.00, para \r\npróxima\r\ncompra, aplicado para todos os \r\nprodutos.\r\n\r\n[ImpBarra]1234567890\r\n[ImpFimBarra]\r\n"
"TarifCode": "1" }
],
} "partitionIncrease": [],
"ParkingCustpartitionDiscount": [
{
"MinutesRateprice": 600,
"PeriodCustpartnerCode": 3.00 0,
}, { "promotionCode": 300,
"MinutesRatediscountAmount": 120, 0
}
"PeriodCust": 6.00 ]
},
"pay": null,
"return": {
"code": 0,
"MinutesRatemessageText": 240, "PeriodCust": 9.00 "0"
},
"execution": "cetCompleted",
"interpret": null,
"vouchersPrint": [
{
}, { "MinutesRate": 9999, "text": " RECEBO TICKET ESTACIONAMENTO\r\n\r\n N. 12345678901234, liberado até 20:00 horas\r\n"
},
{
"PeriodCusttext": 5.00 } ] } }" RECEBO TICKET ESTACIONAMENTO\r\n\r\n N. 12345678901234, liberado até 20:00 horas\r\n"
}
]
}

Tela apresentada ao operador. 

Image AddedImagem 3 – Tela de Pagamento

JSON retornado pelo parceiro

...

{
"version": 1,

"
executionsale": {
"
cetContinueincrease", : 0,
"
interpret"{ discount": 0,
"
commandTypetotal": 0,
"
cctGetValueheader": null,
"
valuepayments"{ : [],
"
titlepaymentChange": null,
"Ticket de estacionamento", "solidaryChange": null,
"items": [],
"discountCodes": [],
"
subtitlemessages": {
"Informe o número", "customer": [
{
"
dataTypetext": "cvtString", Ganhou 1000 pontos nessa compra\r\n"
}
],
"user": [
{
"
sizetext": 14 "Ganhou 100 pontos nessa compra\r\n"
} } }

...

Image RemovedImagem 2 – Tela de Pagamento

...


]
},
"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": 300,
"discountAmount": 0
}
]
},
"pay": null,
"return": {
"code": 0,
"messageText": "0"
},
{
  "Version": 1
"Event": "cetAfter",
"Execution": "cetContinue", "ID": "001001000154775", "Operation": "cotParkingTicketEndSale", "Response": "12345678901234" }

Tela apresentada ao operador. 

Image RemovedImagem 3 – Tela de Pagamento

JSON retornado pelo parceiro

{
  "version": 1,
  "execution": "cetCompleted",

"interpret": null,
"vouchersPrint": [

{

"text": " RECEBO TICKET ESTACIONAMENTO\r\n\r\n N. 12345678901234, liberado até 20
:00 horas\r\n"
},

{

"text": " RECEBO TICKET ESTACIONAMENTO\r\n\r\n N. 12345678901234, liberado até 20
:00 horas\r\n"
}

]

}
Exemplo de texto impresso no cupom.

Image ModifiedImagem 4 – Texto Cupom