# Передача бонусных баллов

#### Передача данных

Данные о количестве бонусов покупателя передаются клиентом через API по адресу https://track-api.leadhit.io/client/multilead_bonus

Метод - POST

В **заголовках** нужно передать "api-key" и "leadhit-site-id" со значениями API ключа и id сайта. Значение для **api-key** запросите у своего аккаунт-менеджера.


**Параметры** - json с полями "email", "bonus".
В поле ```bonus``` передается количество бонусов покупателя, в формате ```float```.


**Заголовок запроса**:  
```
api-key: <api-key> 
leadhit-site-id: <your_site_id>
```


**Тело запроса**:  
```json
[{
 "email": "exists_lead@mail.ru",
 "bonus": 123.00
},
{
 "email": "not_exists_lead@mail.ru",
 "bonus": 10.00
}]

```
#### Примеры ответов на запрос



**Response 200 (application/json)**

При успешной передаче списка будет выдаваться статус 200 с ответом в виде списка со статусами по каждому обновлению бонусов у лида. Все обновления, которые не были сделаны будут в конце списка со статусом “error”:

```json
[{
 "status": "success",
 "message": "Bonuses for multilead with email exists_lead@mail.ru  updated."
},
{
 "status": "error",
 "message": "multilead with email not_exists_lead@mail.ru not found"
}]

```

**Response 400 (application/json):**
```json
{
   "detail": Body is empty"
}
```

При передачи списка с любыми невалидными данными будет выдаваться ошибка 422 c описанием полей, где данные некорректны

**Response 422 (application/json)**
```json
{
       "detail": [
    	{
      	"loc": ["string"],
      	"msg": "string",
      	"type": "string"
    	}
       ]
}
```
**Response 500 (application/json)**

При получении ошибки 500 необходимо проверить данные на корректность и повторить запрос через несколько минут. Если ошибка повторяется, то уведомить с примерами данных, с которыми возникает ошибка для последующего анализа

```json
{
	“detail”: “Internal error”
 }
```