# 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**