🎫 Documentação de Vouchers
📋 Visão Geral
Um voucher é um crédito promocional vinculado diretamente a um cliente, adicionado automaticamente à sua carteira no momento da criação.
Diferente de cupons, o voucher não exige código: o saldo é creditado de forma imediata e pode ser utilizado pelo cliente em suas próximas compras.
🔄 Entidades Envolvidas
Cada voucher está obrigatoriamente vinculado a um Cliente (customerId), que receberá o crédito em sua carteira.
O voucher também registra o usuário autenticado que realizou a criação — identificado pelos campos userId, userName e userEmail — garantindo rastreabilidade operacional.
O objeto customer é retornado preenchido na listagem e como null na resposta de criação.
📌 Notas e Considerações
- O campo
hashé gerado automaticamente pelo sistema com 8 caracteres alfanuméricos em minúsculo. Não é possível informá-lo manualmente. - Ao criar um voucher, o sistema registra uma transação na carteira do cliente com a ação
add, creditando o valor informado de forma imediata. - Os campos
userId,userNameeuserEmailsão preenchidos automaticamente a partir da sessão do usuário autenticado, sem necessidade de envio na requisição. - O evento
CREATE_PROMOTIONAL_VOUCHERé disparado após a criação bem-sucedida do voucher.
📋 Listagem de Vouchers
/promotionals/vouchers
Retorna a listagem paginada de vouchers cadastrados na loja
📋 Descrição
Endpoint utilizado para listar todos os vouchers cadastrados na loja, com suporte a paginação, filtros e ordenação.
O objeto customer é retornado preenchido em cada registro, com os dados resumidos do cliente vinculado ao voucher.
Requer o escopo VOUCHER_READ.
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
| Content-Type | application/json | Tipo de conteúdo |
| Authorization | Bearer SEU_TOKEN_AQUI | Token de autenticação |
🔍 Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| customerId | integer | ID do cliente vinculado ao voucher |
| userId | integer | ID do usuário que criou o voucher |
| hash | string | Código único do voucher |
| value | number | Valor do crédito concedido |
| userName | string | Nome do usuário que criou o voucher |
| createdAt | datetime | Data de criação |
| customerName | string | Nome do cliente (alias de customer.name_corporate_name) |
🔃 Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| id | ID do voucher |
| hash | Código do voucher |
| value | Valor do crédito |
| userName | Nome do usuário criador |
| createdAt | Data de criação |
💡 Exemplo de Requisição
> Nota: esta API aceita corpo JSON em requisições GET, seguindo a convenção da plataforma. Utilize o header Content-Type: application/json e envie os parâmetros no corpo da requisição.
1curl --request GET \2 --url {{MAIN_URL}}/promotionals/vouchers \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --header "Content-Type: application/json" \5 --data '{6 "limit": 10,7 "offset": 08 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "registers": [5 {6 "id": 1,7 "customerId": 3,8 "userId": 2,9 "userName": "Admin uappi",10 "userEmail": "admin@uappi.com.br",11 "hash": "daiuysbh",12 "value": 123,13 "observation": null,14 "customer": {15 "id": 3,16 "tradePolicyId": 1,17 "email": "customeruappi@email.com",18 "nameCorporateName": "Customer teste",19 "tradeName": "",20 "phone": "+12345678912",21 "active": true,22 "masked": false23 },24 "createdAt": "2026-04-27 14:20:03"25 }26 ],27 "pagination": {28 "limit": 10,29 "offset": 0,30 "pages": 1,31 "registers": 132 }33 }34}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
| Código Interno | HTTP | Descrição |
|---|---|---|
| UAPPI_AUTH_INVALID | 401 | ❌ O token de autenticação é inválido ou está ausente. |
| UAPPI_AUTH_DISABLED | 403 | ❌ O usuário não possui a permissão VOUCHER_READ. |
➕ Criação de Voucher
/promotionals/vouchers
Permite criar um novo voucher e creditar o valor na carteira do cliente
📋 Descrição
Endpoint responsável por criar um novo voucher e creditá-lo automaticamente na carteira do cliente informado.
Ao criar um voucher, o sistema valida a existência do cliente, gera um hash único de 8 caracteres alfanuméricos em minúsculo e registra uma transação de crédito na carteira do cliente com o valor informado.
Os campos hash, userId, userName e userEmail são preenchidos automaticamente pelo sistema — não devem ser enviados na requisição. O objeto customer retorna como null na resposta de criação.
Requer os escopos VOUCHER_READ e VOUCHER_WRITE.
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
| Content-Type | application/json | Tipo de conteúdo |
| Authorization | Bearer SEU_TOKEN_AQUI | Token de autenticação |
📦 Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| customerId | integer | ✅ Sim | ID do cliente que receberá o voucher |
| value | number | ✅ Sim | Valor do crédito a ser concedido (aceita até 6 casas decimais) |
| observation | string | ❌ Não | Observação opcional sobre o voucher |
💡 Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/promotionals/vouchers \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --header "Content-Type: application/json" \5 --data '{6 "customerId": 3,7 "value": 50,8 "observation": "Voucher de boas-vindas"9 }'✅ Resposta de Sucesso
HTTP Status: 201 Created
1{2 "status": true,3 "data": {4 "id": 2,5 "customerId": 3,6 "userId": 2,7 "userName": "Admin uappi",8 "userEmail": "admin@uappi.com.br",9 "hash": "dlhs9t3y",10 "value": 50,11 "observation": "Voucher de boas-vindas",12 "customer": null,13 "createdAt": "2026-05-06 17:22:22"14 }15}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
| Código Interno | HTTP | Descrição |
|---|---|---|
| UAPPI_AUTH_INVALID | 401 | ❌ O token de autenticação é inválido ou está ausente. |
| UAPPI_AUTH_DISABLED | 403 | ❌ O usuário não possui a permissão VOUCHER_WRITE. |
| UAPPI_STORE_CUSTOMER_NOT_FOUND | 400 | ❌ O cliente informado não foi encontrado. |