Skip to content

Cupons

Endpoints para gestão de cupons de desconto e benefícios.

Listar Cupons

GET /api/coupons

Retorna uma lista paginada de cupons com opções de filtro. Os resultados são limitados a um máximo de 100 cupons por requisição. Funciona com integrações de franquia e empresa.

Casos de uso:

  • Consultar cupons emitidos
  • Gerar relatórios de utilização
  • Monitorar cupons vencendo

Parâmetros de Query

ParâmetroTipoObrigatórioDescrição
date_startstringSimData de início para filtrar por data de criação (YYYY-MM-DD)
date_endstringSimData de fim para filtrar por data de criação (YYYY-MM-DD)
date_of_use_startstringNãoData de início para filtrar por data de uso (YYYY-MM-DD)
date_of_use_endstringNãoData de fim para filtrar por data de uso (YYYY-MM-DD)
expiration_date_startstringNãoData de início para filtrar por data de expiração (YYYY-MM-DD)
expiration_date_endstringNãoData de fim para filtrar por data de expiração (YYYY-MM-DD)
coupon_statusstringNãoStatus do cupom: Utilizado, Não Utilizado, Vencido, Vencendo
limitintegerSimNúmero de cupons por requisição (máximo 100)
offsetintegerSimNúmero de cupons a pular (mínimo 1)
searchstringNãoTermo de busca por código ou informação do cliente
order_columnstringSimColuna para ordenação (ex: created_at)
order_typestringSimDireção da ordenação: ASC ou DESC
modulestringSimContexto do módulo: premiado ou falae

Exemplo de Requisição

bash
curl -X GET "https://api-b2s.experienciab2s.com/api/coupons?date_start=2024-01-01&date_end=2024-12-31&limit=10&offset=1&order_column=created_at&order_type=DESC&module=falae" \
     -H "Authorization: Bearer SEU_TOKEN"

Resposta de Sucesso (200)

json
{
  "limit": 10,
  "offset": 1,
  "total": 45,
  "coupons": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "code": "WELCOME2024",
      "status": true,
      "date_of_use": "2024-03-15",
      "expiration_date": "2024-12-31",
      "created_at": "2024-01-15T10:30:00.000Z",
      "bonus": {
        "id": "bonus-uuid",
        "name": "5% Cashback",
        "type": "answer"
      },
      "client": {
        "id": "client-uuid",
        "name": "João Silva",
        "email": "joao@example.com",
        "phone": "(11) 99999-9999"
      }
    }
  ]
}

Tipos de Bônus Disponíveis

TipoDescrição
answerResposta de pesquisa
birthdayAniversário
defaultPadrão
createCriação
fidelityProgramPrograma de fidelidade
prizeDrawSorteio
marketingMarketing
rouletteRoleta
winning_registration_rouletteRegistro vencedor de roleta
infinityInfinito

Buscar Cupons por Cliente

GET /api/coupons/clients/{company_id}

Retorna uma lista de cupons vinculados a um cliente específico, utilizando telefone, e-mail ou CPF como critério de busca. É necessário informar o company_id no caminho da requisição.

Casos de uso:

  • Consultar cupons de um cliente no atendimento
  • Verificar benefícios disponíveis
  • Validar cupom antes do resgate

Parâmetros de Caminho

ParâmetroTipoObrigatórioDescrição
company_idstringSimID da empresa

Parâmetros de Query

ParâmetroTipoObrigatórioDescrição
phonestringNão*Telefone no formato internacional E.164 (ex: 551199999999)
emailstringNão*Endereço de e-mail do cliente
cpfstringNão*CPF do cliente no formato 000.000.000-00

Nota: Pelo menos um parâmetro de busca (phone, email ou cpf) deve ser fornecido.

Exemplo de Requisição

bash
curl -X GET "https://api-b2s.experienciab2s.com/api/coupons/clients/103a525c-0ce3-4182-a504-aad595425233?email=cliente@exemplo.com" \
     -H "Authorization: Bearer SEU_TOKEN"

Resposta de Sucesso (200)

json
[
  {
    "id": "103a525c-0ce3-4182-a504-aad595425233",
    "status": true,
    "expiration_date": "2024-12-31",
    "date_of_use": "2024-05-10",
    "created_at": "2024-01-01T12:00:00.000Z",
    "code": "ABCDEF123",
    "bonus": {
      "name": "5% Cashback"
    }
  },
  {
    "id": "303a525c-0ce3-4182-a504-aad595425233",
    "status": false,
    "expiration_date": "2024-11-30",
    "date_of_use": null,
    "created_at": "2024-02-15",
    "code": "XYZ789",
    "bonus": {
      "name": "10% Cashback"
    }
  }
]

Estrutura da Resposta

CampoTipoDescrição
idstringID único do cupom
codestringCódigo do cupom
statusbooleantrue = utilizado, false = não utilizado
expiration_datestringData de expiração
date_of_usestringData de utilização (null se não usado)
created_atstringData de criação
bonus.namestringNome do benefício

Códigos de Resposta

CódigoDescrição
200Cupons encontrados
400Parâmetros inválidos
401Token ausente ou inválido
404Cliente não encontrado

Marcar Cupom como Utilizado

PATCH /api/coupons/status/{id}

Atualiza o status de um cupom, marcando-o como utilizado. O sistema valida se o cupom existe, se não foi utilizado anteriormente e se não está expirado (data de expiração deve ser maior que 3 horas do horário atual).

Validações automáticas:

  • Se o cupom existe
  • Se não foi utilizado anteriormente
  • Se todavia está dentro da validade (ao menos 3 horas antes da expiração)

Parâmetros de Caminho

ParâmetroTipoObrigatórioDescrição
idstringSimID único do cupom a ser atualizado

Exemplo de Requisição

bash
curl -X PATCH "https://api-b2s.experienciab2s.com/api/coupons/status/abc123-cupom-id" \
     -H "Authorization: Bearer SEU_TOKEN"

Resposta de Sucesso (204)

O status do cupom foi atualizado com sucesso. Nenhum conteúdo é retornado na resposta.

Respostas de Erro (400)

json
{
  "status": "error",
  "message": "Coupon already used"
}
json
{
  "status": "error",
  "message": "Coupon expired"
}

Códigos de Resposta

CódigoDescrição
204Cupom atualizado com sucesso
400Cupom já utilizado ou expirado
401Token ausente ou inválido
404Cupom não encontrado

Integration Documentation