Árvore de páginas

Versões comparadas

Chave

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

Objetivo

Integrar o PDV com cancelas de estacionamento para abono de tickets. No fnal da venda o PDV poderá imprimir o comprovante de abono, esta impressão é opcional.

O parceiro pode configurar uma mensagem, por exemplo, solicitando o número do ticket de estacionamento e realizar todo o processo para liberação da cancela.

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.

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

Os outros parâmetros são encontrados no Comando Desconto na VendaClique aqui e acesse a documentação.

Informações adicionais sobre o ticket de estacionamento podem ser encontradas no Comando Cupom Desconto na VendaClique aqui e acesse a documentação.

Tags de Impressão

Será possível a utilização de tags de impressão, que poderão ser envidas no Response nos parâmetros “vouchersPrint” e “text”, sendo elas:

  • [ImpExpandidoUmaLinha] – Início da impressão de texto estendido;
  • [ImpFimExpandido] – Fim da impressão de texto estendido;
  • [ImpNegrito] – Fim da impressão em negrito;
  • [ImpFimNegrito] – Início da impressão em negrito;
  • [ImpBarra] – Início da impressão de código de barras;
  • [ImpFimBarra] – Fim da impressão de código de barras.

Response Example

{
"version": 1,
"execution": "cetCompleted",
"vouchersPrint": [
   {
    "text": " RECEBO TICKET ESTACIONAMENTOrnrn N. 12345678901234, liberado até 20 00 horasrn"    
},
{ "text": " RECEBO TICKET ESTACIONAMENTOrnrn N. 12345678901234, liberado até 20 00 horasrn"
} ] }

Exemplo Fluxo de Abono no Ticket de Estacionamento

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.

Imagem 1 – Tela Pagamento

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”, informações sobre a venda com “Header”, “ID” e “Total”. Em “ParkingTicket” haverá duas informações opcionais, que são, “ParkingCourtesy” e “ParkingCust”.

ParkingCourtesy trará as informações de cortesia do ticket, por exemplo, se a venda do cliente for acima de R$15,00 ele tem estacionamento livre por 60 minutos, conforme JSON abaixo.
ParkingCust trará as informações de valores do ticket, por exemplo, se o cliente permanecer até
60 minutos o valor do ticket será de R$3,00, conforme JSON abaixo.
Lembrando que essas informações são configuradas pelo sistema do cliente e são OPCIONAIS.

JSON enviado ao parceiro
{

  "Version": 1,
  "Event": "cetAfter",
  "Execution": "cetContinue",
  "ID": "001001000154775",
  "Operation": "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"[
      {
        "MinutesFree": 0,
        "SaleValue": 5.00,
        "TarifCode": "0"
      },
      {
        "MinutesFree": 60,
        "SaleValue": 15.00,
        "TarifCode": "1"
      },
      {
        "MinutesFree": 120,
        "SaleValue": 20.00,
        "TarifCode": "1"
      }
    ],
    "ParkingCust"[
      {
        "MinutesRate": 60,
        "PeriodCust": 3.00
      },
      {
        "MinutesRate": 120,
        "PeriodCust": 6.00
      },
      {
        "MinutesRate": 240,
        "PeriodCust": 9.00
      },
      {
        "MinutesRate": 9999,
        "PeriodCust": 5.00
      }
    ]
  }
}


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

  "version": 1,
  "execution": "cetContinue",
  "interpret"{
    "commandType": "cctGetValue",
    "value"{
      "title": "Ticket de estacionamento",
      "subtitle": "Informe o número",
      "dataType": "cvtString",
      "size": 14
    }
  }
}


Tela apresentada ao operador. 

Imagem 2 – Tela de Pagamento

JSON enviado ao parceiro

{
  "Version": 1
"Event": "cetAfter",
"Execution": "cetContinue", "ID": "001001000154775", "Operation": "cotParkingTicketEndSale", "Response": "12345678901234" }

Tela apresentada ao operador. 

Imagem 3 – Tela de Pagamento

JSON retornado pelo parceiro

{
  "version": 1,
  "execution": "cetCompleted",
  "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.

Imagem 4 – Texto Cupom