> ## Documentation Index
> Fetch the complete documentation index at: https://developers.bonifiq.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks - Transações de Pontos

> Payloads de webhook para transações de pontos do sistema de Fidelidade

Este documento descreve os payloads de webhook relacionados a transações de pontos.

## Transações de Pontos

<AccordionGroup>
  <Accordion title="Point_Add / Point_Update / Point_Removed" icon="database">
    Alterações no registro de pontos.

    ```json theme={null}
    {
      "Points": 150,
      "PointType": 0,
      "PointAction": 1,
      "Customer": { ... },
      "PointsBalance": {
        "PointsBalance": 1650,
        "CashbackBalance": 16.50
      },
      "Cashback": 1.50,
      "ValidDate": "2025-05-20T00:00:00Z",
      "ValidDateFormatted": "20/05/2025",
      "PointId": 98765,
      "EventDate": "2025-04-15T10:05:10Z",
      "Origins": [
        {
          "PointId": 12345,
          "UsedPoints": 100,
          "UsedCashback": 1.00
        }
      ]
    }
    ```

    <ResponseField name="Points" type="number" required>
      Pontos da transação
    </ResponseField>

    <ResponseField name="PointType" type="number" required>
      Tipo/razão. Veja [PointType](./01-introducao#definições-de-enum)
    </ResponseField>

    <ResponseField name="PointAction" type="number" required>
      Ação. Veja [PointAction](./01-introducao#definições-de-enum)
    </ResponseField>

    <ResponseField name="Customer" type="object" required>
      [Objeto Cliente](./01-introducao#objetos-de-dados-comuns)
    </ResponseField>

    <ResponseField name="PointsBalance" type="object" required>
      [Objeto Saldo de Pontos](./01-introducao#objetos-de-dados-comuns)
    </ResponseField>

    <ResponseField name="Cashback" type="number">
      Equivalente em cashback deste registro de pontos. Pode ser negativo quando a transação remover pontos.
    </ResponseField>

    <ResponseField name="ValidDate" type="string">
      Data/hora de validade (ISO 8601) para registros com pontos positivos. Pode ser `null`.
    </ResponseField>

    <ResponseField name="ValidDateFormatted" type="string">
      Data de validade formatada em `dd/MM/yyyy`. Vem vazia quando `ValidDate` for `null`.
    </ResponseField>

    <ResponseField name="PointId" type="number" required>
      ID interno da transação
    </ResponseField>

    <ResponseField name="EventDate" type="string" required>
      Data/hora do evento (ISO 8601)
    </ResponseField>

    <ResponseField name="Origins" type="array" required>
      Lista de pontos de origem utilizados na transação. Cada item contém:

      * `PointId`: ID do ponto de origem
      * `UsedPoints`: Pontos utilizados deste registro
      * `UsedCashback`: Cashback utilizado deste registro
    </ResponseField>
  </Accordion>
</AccordionGroup>

***

## Tópicos Disponíveis

| Tópico          | Descrição        |
| --------------- | ---------------- |
| `Point_Add`     | Ponto adicionado |
| `Point_Update`  | Ponto atualizado |
| `Point_Removed` | Ponto removido   |

***

<Info>
  Documentação atualizada em Dezembro de 2025.
</Info>
