Checklist de homologação em staging
Cada frente está pronta para produção quando os itens dela passam em staging. As frentes de venda usam uma máquina de teste da ETech; combine o uso com o seu contato.
Faça só as frentes do seu projeto. Acesso vale para todas, e os benefícios e a NFC-e pedem o webhook pronto antes.
Acesso
- Credenciais recebidas: API key,
client_ideclient_secret - Token obtido no
POST /oauth2/tokene reaproveitado até vencer
Verificação de maioridade
- App abre pelo QR code e lê
verificationIdedocument - Resultado aprovado enviado: resposta
200comApproved, e a máquina recebe o resultado - Resultado reprovado enviado: resposta
200comRejected, e a máquina recebe o resultado - O mesmo resultado reenviado responde
200, sem efeito novo - Resultado enviado depois de 10 minutos responde
410 - CPF diferente do digitado na máquina responde
422
Webhook de venda
- URL, e-mail técnico e eventos cadastrados, e segredo de assinatura recebido
- O botão "Testar" do painel termina como entregue
- Uma venda na máquina de teste chega como
sale.completedcom assinatura válida - Um
POSTcom assinatura alterada ou timestamp de mais de 5 minutos é recusado com401 - Um evento reenviado pelo painel responde
2xxsem efeito novo - Um estorno chega como
sale.canceled, comsequencemaior que o da venda - Com a NFC-e emitida pela ETech, chega
sale.invoice_issuedcom a chave de acesso - O feed devolve os mesmos eventos a partir de um
afterantigo, e onextavança
Produto e estoque
- Um EAN novo cadastrado responde
created: truee aparece no catálogo da ETech, sem preço - O mesmo EAN enviado de novo só com
namemuda o nome e mantém o resto - Um EAN com dígito verificador errado responde
400 INTEGRATION_PRODUCT.INVALID_EAN - Uma carga de 3 linhas com
unitCostterminaApplied, e o depósito sobe nas 3 quantidades - A mesma carga reenviada com a mesma
Idempotency-Keyresponde200e não soma de novo - Uma carga com um EAN desconhecido termina
Rejected, com o erro na linha e nada aplicado - Uma carga de produto sem custo médio e sem
unitCostterminaRejectedcomUNIT_COST_REQUIRED - A consulta de estoque mostra o depósito e as máquinas da empresa, e o
nextavança até uma página vazia
Benefícios do consumidor
- URL e header cadastrados, e "Programa do ERP externo" escolhido nas configurações
- O
quotede um CPF com saldo devolve saldo e regra, e a máquina mostra o valor máximo - O
quotede um CPF desconhecido responde404, e a máquina segue sem benefício - Com
requiresConfirmationCode, o consumidor recebe o código, e o código certo libera o desconto - O mesmo pedido de código com a mesma
idempotencyKeynão envia um segundo código - A venda concluída chega no
sale.completedcomloyalty, e o saldo é debitado uma vez só - O estorno da venda chega no
sale.canceled, e débito e crédito são desfeitos - Com a API fora do ar, a máquina vende sem benefício em até 3 s
NFC-e pelo ERP externo
- "Pelo ERP externo" escolhido em Configurações → Operação
- Uma venda na máquina de teste chega como
sale.completed, cominvoice.issuerigual aExternalErpechanneligual aVendingMachine - A NFC-e é emitida com os itens e os pagamentos do evento, e com o CNPJ da credenciadora
- O mesmo evento recebido duas vezes não emite uma segunda nota
- O pedido de e-mail na máquina chega como
sale.receipt_requested, e o consumidor recebe a nota - Um estorno chega como
sale.canceled, e a nota é cancelada - O
PUT .../invoiceresponde204, e o painel mostra a chave no detalhe da venda