Referência
Material de consulta rápida — enums, status e comportamentos comuns a todos os módulos.
Coleção do Postman
Todos os endpoints do PINPDV já configurados para importar e testar estão na página dedicada: Coleção do Postman.
As respostas de consulta trazem três status independentes, um por nível hierárquico — leia de fora para dentro: a Requisição, a Venda e cada Transação.
Status da Requisição
Andamento do processamento da solicitação — campos status e situacao no nível raiz da resposta.
| Valor | Descrição |
|---|---|
0 — Aguardando | Aguardando ação no Smart POS |
1 — Processando | Transação em andamento |
2 — Concluido | Processamento encerrado |
Status de Venda
Presente em vendas[].status.
| Valor | Descrição |
|---|---|
0 — Realizada | Venda concluída com sucesso |
8 — Cancelada | Venda cancelada |
9 — Error | Erro no processamento |
Status de Transação
Resultado de cada tentativa de pagamento — presente em vendas[].transacoes[].status.
| Valor | Descrição |
|---|---|
0 — Aprovada | Pagamento aprovado |
5 — Negado | Tentativa negada |
78 — CanceladaOperador | Cancelada pelo operador no Smart POS |
| outras | Qualquer transação que não esteja aprovada, entenda como não pago |
Como identificar um pagamento confirmado
Considere o pagamento confirmado apenas quando houver uma transação com status = Aprovada (venda Realizada). Qualquer outro status representa “não pago”, e o código exato pode variar conforme a adquirente — não faça hardcode de um valor específico de falha.
Boa prática (recomendada, não obrigatória): some o valor das transações aprovadas e confira se bate com o valor solicitado antes de concluir a venda. É uma verificação válida para qualquer meio de pagamento e protege contra pagamento parcial, split inesperado ou reprocessamento — mas não é exigida pela integração.
Tipos de Pagamento
Indica a modalidade utilizada em cada tentativa de pagamento. Presente em vendas[].transacoes[].tipoPagamento nas respostas de consulta de status do TEF Mobile e da Pré-venda.
| Valor | Descrição |
|---|---|
0 — None | Não definido |
1 — Dinheiro | Dinheiro |
2 — Credito | Cartão de crédito |
3 — Debito | Cartão de débito |
4 — Pix | Pix |
6 — ValeRefeicao | Vale refeição |
7 — ValeAlimentacao | Vale alimentação |
5 — Crediario | Crediário |
Paginação e ordenação
Listagens que retornam múltiplos registros aceitam os mesmos parâmetros na query string:
| Parâmetro | Padrão | Regra |
|---|---|---|
paginaNumero | 1 | mínimo 1 |
qtdRegistro | 100 | de 1 a 1000 |
ordenarPor | Id | campo de ordenação — varia por recurso |
ordenarTipo | ASC | ASC (crescente) ou DESC (decrescente) |
E respondem no mesmo envelope:
{
"paginaAtual": 1,
"itensPorPagina": 100,
"quantidadeDePaginas": 3,
"quantidadeTotalDeItens": 214,
"primeiroRegistro": 1,
"ultimoRegistro": 100,
"paginaAnterior": false,
"paginaProxima": true,
"data": []
}Os registros ficam em data. Use paginaProxima para saber se ainda há páginas a buscar.
Rate Limit
Rate Limit — 1 requisição por segundo
A API aceita no máximo 1 requisição por segundo por token.
Ultrapassado esse limite, a requisição pode ser ignorada ou retornar HTTP 429 – Too Many Requests.
Implemente retry com espera: ao receber 429, aguarde pelo menos 1 segundo antes de tentar novamente. Retentativas imediatas agravam o problema e podem resultar em bloqueio prolongado.