# Получение истории изменений баланса клиента
## Описание метода

Осуществляется с помощью POST-запроса. Название операции настраивается в системе Майндбокс. Подробней про вызов метода можно прочитать [здесь](https://developers.mindbox.ru/docs/v3).

```xml title="Универсальная операция"
POST https://api.mindbox.ru/v3/operations/sync?endpointId={уникальный идентификатор сайта/мобильного приложения/и т.п.}&operation={название операции}

Accept: application/xml
Content-Type: application/xml
Authorization: SecretKey {Секретный ключ, обязательность уточнить у менеджера}

<operation>
  <customer>
    <ids>
      <webSiteUserId>{Идентификатор клиента}</webSiteUserId>
    </ids>
  </customer>
  <page>
    <sinceDateTimeUtc>{необязательный узел, дата, начиная с которой будут отображаться изменения баланса}</sinceDateTimeUtc>
    <tillDateTimeUtc>{необязательный узел, дата по которую будут фильтроваться изменения баланса}</tillDateTimeUtc>
    <pageNumber>{номер страницы}</pageNumber>
    <itemsPerPage>{количество элементов на страницу}</itemsPerPage>
  </page>
</operation>
```

* sinceDateTimeUtc и tillDateTimeUtc – необязательные поля для фильтрации изменений по дате. 
* Страницы нумеруются с 1. 
* Максимальное количество действий на страницу - 1000

## Пример операции

```xml title="Экспорт изменений баланса"
POST https://api.mindbox.ru/v3/operations/sync?endpointId=MindboxRu&operation=GetBalanceAction

Accept: application/xml
Content-Type: application/xml

<operation>
  <customer>
    <ids>
      <webSiteUserId>5384275</webSiteUserId>
    </ids>
  </customer>
  <page>
    <sinceDateTimeUtc>2017-08-22 10:00:00.000</sinceDateTimeUtc>
    <tillDateTimeUtc>2017-08-22 11:00:00.000</tillDateTimeUtc>
    <pageNumber>1</pageNumber>
    <itemsPerPage>50</itemsPerPage>
  </page>
</operation>
```

Запрос вернет первые 50 действий.

## Ответ

```xml title="Экспорт изменений баланса"
<result>
  <status>Success</status>
  <customerActions>
    <customerAction>
      <ids>
        <mindboxId>{Идентификатор действия в Майндбокс}</mindboxId>
        <externalId>{Внешний идентификатор действия}</externalId>
      </ids>
      <actionTemplate>
        <systemName>{Системное имя шаблона действия в Майндбоксе}</systemName>
        <name>{Имя шаблона действия в Майндбоксе}</name>
      </actionTemplate>
      <dateTimeUtc>{Дата совершения действия клиентом}</dateTimeUtc>
      <pointOfContact>
        <ids>
          <externalId>{Внешний идентификатор точки контакта}</externalId>
        </ids>
      </pointOfContact>
      <customer>
        <ids>
          <mindboxId>{Идентификатор клиента в Майндбоксе}</mindboxId>
          <webSiteId>{Идентификатор клиента}</webSiteId>
        </ids>
      </customer>
      <customerBalanceChanges>
        <customerBalanceChange>
          <changeAmount>{Размер изменения баланса}</changeAmount>
          <expirationDateTimeUtc>{Дата сгорания баллов}</expirationDateTimeUtc>
          <isAvailable>{доступно ли изменение баланса для использования, true/false}</isAvailable>
          <balanceChangeKind>
            <systemName>{Тип изменения баланса}</systemName>
          </balanceChangeKind>
        </customerBalanceChange>
      </customerBalanceChanges>
    </customerAction>
  </customerActions>
  <customerActionsCount>{Общее количество изменений баланса клиента}</customerActionsCount>
</result>
```

## Типы изменения баланса

| Бизнес смысл                     | Тип изменения      |
| :------------------------------- | :----------------- |
| Бонус за розничный заказ         | RetailOrderBonus   |
| Оплата розничного заказа баллами | RetailOrderPayment |
| Прочее                           | Custom             |
| Списание сгоревших баллов        | Expired            |
