---
# System prepended metadata

title: a5000 API

---

# a5000 API
## Авторизация
Любые запросы к API возможны только при прохождении авторизации. Авторизация осуществляется путем передачи **персонального ключа** в заголовке запроса. Ключ для авторизации выдается сотрудником а5000 при настройке интеграции и может быть использован во всех доступных методах.
```
x-api-key = d9787ffe415ffd64d553e9fc88364788f4ea7a548ac297e528a6acd74eac6ed45d1707e6c64cc40eb9ea4ccf00714aaf
```

## Получение полного списка анкет 
**GET** /api/export/data/**exportID**

`exportID` - id конфигурации экспорта, выдается сотрудником а5000 при настройке интеграции

При успешном запросе сервер возвращает **status 200** и список анкет в формате JSON

Пример ответа
```
[ 
{"citizenship":"Россия","lastName":"Иванов","category":"Организатор","gender":"Мужской","firstName":"Иван","id":"522493"}, 
{"citizenship":"Индия","lastName":"Brown","category":"Участник","gender":"Мужской","firstName":"John","id":"522494"}
]
```
Все ключи JSON могут при необходимости изменяться

## Получение списка анкет с timestamp
**GET** /api/export/data/**exportID**/**timestamp**

`exportID` - id конфигурации экспорта, выдается сотрудником а5000 при настройке интеграции
`timestamp` - timestamp в **миллисекундах**

При успешном запросе сервер возвращает **status 200** и список анкет в формате JSON, измененных или созданных с момента, переданного в `timestamp`

Пример ответа
```
[ 
{"citizenship":"Россия","lastName":"Иванов","category":"Организатор","gender":"Мужской","firstName":"Иван","id":"522493"}, 
{"citizenship":"Индия","lastName":"Brown","category":"Участник","gender":"Мужской","firstName":"John","id":"522494"}
]
```
Все ключи JSON могут при необходимости изменяться

## Добавление/обновление анкеты по внешнему запросу

**PUT** /api/app/formdata/import/**importID**

`importID` - id конфигурации импорта, выдается сотрудником а5000 при настройке интеграции

Пример тела запроса
```
{
   "id":"123456",
   "email":"example@mail.ru",
   "name":"John"
}
```
также допустимо передавать массив
```
[
  {
   "id":"123456",
   "email":"example@mail.ru",
   "name":"John"
  },
  {
   "id":"123457",
   "email":"example2@mail.ru",
   "name":"Genry"
  }
]
```
В теле запроса необходимо передавать уникальный идентификатор анкеты (оговаривается при настройке интеграции), если анкета с переданным идентификатором не будет найдена, то она будет создана, если анкета с переданным идентификатором будет найдена - все переданные для неё данные будут обновлены. 

Для удаления значения поля необходимо передать в соответствующем ключе значение `null`.
Пример тела запроса
```
{
   "id":"123456",
   "email":null,
   "name":"John"
}
```

При успешном запросе сервер возвращает **status 200**