Árvore de páginas

Objetivo

Solicitar para a aplicação de PDV que exiba uma caixa de diálogo ao operador contendo uma lista com as opções predefinidas, após a exibição, será devolvido ao parceiro a opção selecionada pelo operador. A seguir exemplos de como executar esta operação e os parâmetros necessários.

PARÂMETROTIPOOBRIGATÓRIODESCRIÇÃO
ExecutionstringtrueTipo da execução: cetContinue, cetInterrupt, cetFailed
VersionstringtrueVersão da API
CommandTypestringtrueTipo do comando: cctMessage, cctGetOption, cctGetValue
TitlestringfalseTítulo da caixa de diálogo
SubtitlestringfalseSubtítulo da caixa de diálogo
Optionsstring listtrueOpções para o menu

Início da venda

Com o PDV na operação “Início da venda”, a requisição da API trará o “Operation” com valor “cotStartSale”.

Request Example

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": "001212000628836",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-29T00:00:00",
"DateTimeIssue": "2020-12-29T08:43:41",
"IdDocument": 628836,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [],
"Status": "sttValid"
},
"ID": "001212000628836",
"Increase": 0.0,
"Items": [],
"Messages": {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [],
"SolidaryChange": null,
"Total": 0.0,
"VouchersPrint": []
},
"Version": 1
}

Response Example

O integrador (parceiro) responderá para API PDV executar o comando de Menu de opções (neste exemplo) “commandType: cctGetOptions”, informando o título e subtítulo para a caixa de diálogo e quais serão as opções e as respostas de acordo com a opção que foi selecionada pelo operador. “Cartão da loja : 1” e “Cartão clube especial : 2”.

{
"version": 1,
"sale": {
"increase": 0,
"discount": 0,
"total": 0,
"header": null,
"payments": [],
"paymentChange": null,
"solidaryChange": null,
"items": [],
"discountCodes": [],
"messages": {
"customer": [],
"user": []
},
"vouchersPrint": [],
"partitionIncrease": [],
"partitionDiscount": [
{
"price": 0,
"partnerCode": 0,
"promotionCode": 21,
"discountAmount": 0
}
]
},
"pay": null,
"return": {
"code": 0
},
"execution": "cetContinue",
"interpret": {
"commandType": "cctGetOption",
"messageCommand": null,
"options": {
"title": "Cliente fidelidade",
"subtitle": "Tipo do cartão fidelidade",
"options": [
"Cartão da loja",
"Cartão clube especial"
],
"response": [
"1",
"2"
]
},
"value": null
},
"vouchersPrint": []
}

Request Example

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 selecionado a opção “Cartão da loja”, informado no “Response” o valor “1”.

{
"Event": "cetBefore",
"Execution": "cetContinue",
"ID": "001212000628836",
"Operation": "cotStartSale",
"ParkingTicket": null,
"Pay": null,
"Response": "1",
"Sale": {
"Discount": 0.0,
"DiscountCodes": [],
"Header": {
"AccountingDate": "2020-12-29T00:00:00",
"DateTimeIssue": "2020-12-29T08:43:41",
"IdDocument": 628836,
"IdStore": 1,
"IdTerminal": 212,
"IdUser": 2,
"Identification": [],
"Status": "sttValid"
},
"ID": "001212000628836",
"Increase": 0.0,
"Items": [],
"Messages": {
"Customer": [],
"User": []
},
"PartitionDiscount": [],
"PartitionIncrease": [],
"PaymentChange": null,
"Payments": [],
"SolidaryChange": null,
"Total": 0.0,
"VouchersPrint": []
},
"Version": 1
}

Subtotal da venda

Com o PDV na operação “Subtotal da venda”, a requisição da API trará o “Operation” com valor “cotSubtotalSale”.

Request Example

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": "cetBefore",
  "Execution": "cetContinue",
  "ID": "001600000590853",
  "Operation": "cotSubtotalSale",
  "Sale": {
    "Header": {
      "AccountingDate": "2020-01-22T00:00:00",
      "DateTimeIssue": "2020-01-22T14:15:36",
      "IdDocument": 590853
    },
    "ID": "001600000590853",
    "Items": [
      {
       "CaptionPacking": "UN",
       "Description": "COCA COLA",
       "InternalCode": "3988",
       "ItemNumber": 1,
       "PackingQuantity": 1.000,
       "Quantity": 5.000,
       "Status": "sttValid"
      }
    ]
  }
}

Finalização da venda

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.

Request Example

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,
       "Identification": [
          {
           "Document": "12345678909",
           "PartnerCode": "10",
           "DocumentType": "cdtCPF"
          }
        ],
     },
    "ID": "001600000590853",
    "Items": [
       {
        "CaptionPacking": "UN",
        "Description": "COCA COLA",
        "InternalCode": "3988",
        "ItemNumber": 1,
        "PackingQuantity": 1.000,
        "Quantity": 5.000"Status": "sttValid",
        "TotalPrice": 9.89,
        "UnitPrice": 1.00
       }
     ],
    "PaymentChange": {
       "PaymentType": "cptMoney",
       "Total": 0.00
     },
    "Payments": [
       {
        "ItemNumber": 1,
        "PaymentNumber": 1,
        "PaymentType": "cptMoney",
        "Total": 9.89
       }
     ],
    "Total": 0.000
  },
 "Version": 1
}