> For the complete documentation index, see [llms.txt](https://docs.eventos42.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eventos42.ru/kak-nastroit-otpravku-dannykh-so-svoei-formy-registracii.md).

# Как настроить отправку данных со своей формы регистрации

Если вы хотите, чтобы участники мероприятия регистрировались через форму на вашем сайте, то можно настроить передачу данных о зарегистрированных участниках в Eventos. Это позволит не закрывать регистрацию перед мероприятием и не мучаться с переносом базы участников из вашей системы в Eventos.

Для этого необходимо:&#x20;

**1.** В настройках полей создать те же поля, которые есть на вашей форме регистрации. \
Подробнее в[ ](/kak-dobavit-pole-dlya-posetitelya.md#dobavlenie-polya)[Как добавить поле для посетителя](/kak-dobavit-pole-dlya-posetitelya.md#dobavlenie-polya).

{% hint style="info" %}
Обязательные поля в Eventos должны соответствовать обязательным полям на вашей форме. \
Если поле является обязательным, но у него в Eventos задано значение по-умолчанию, то передавать его не обязательно. Например, для поля Группа по-умолчанию проставляется Участник и посетитель это поле может не заполнять.
{% endhint %}

**2.** При нажатии пользователем зарегистрироваться на вашей форме настроить отправку данных в API системы Eventos.

Метод: **POST**\
URL API: <https://app.eventos42.ru/api/form/{token}>

### Откуда взять токен&#x20;

* открываем в левом меню вкладку Регистрация
* открываем в верхнем меню вкладку Онлайн, нажимаем на "Форма онлайн регистрации"
* в новой вкладке откроется страница с адресом вида <https://form.eventos42.ru/?token=9be1bf5c-631c-4252-9b52-d1406896d647>\
  Всё, что после знака равно и есть токен, который необходимо подставить в URL вместо {token}.

![](/files/-MSfeu5OSkLAJ-UNwp2C)

### Как сформировать тело запроса

В настройках полей под каждым полем есть имя переменной - это и есть имя параметра, которое надо передать.\
В качестве значения передаются данные, которые ввел пользователь в вашей форме в соответствующем поле.

![](/files/-MSffBGou7jah1gjOP5d)

Для системных полей, на которые завязана логика имя переменной изменять нельзя. Для текстовых кастомных полей имя переменной можно изменять. \
Все кастомные поля передаются в объекте "extended".

### Пример запроса

```
POST https://app.eventos42.ru/api/form/9be1bf5c-631c-4252-9b52-d1406896d647
Content-Type: application/json
{
    "firstName": "Иван",
    "lastName": "Иванович",
    "extended": {
        "company": "Eventos",
        "jobPosition": "тестировщик"
    },
    "phoneNumber": "89217771111"
}
```

Ответ с http кодом 200 означает, что данные были успешно сохранены в системе.

### Возможные ошибки

HTTP код 400:

&#x20;**"error": "VISITOR\_DUPLICATE"** - пользователь с набором уникальных полей уже есть в системе. Уникальность задаётся в настройках полей.&#x20;

**"error": "VALIDATION\_MUST\_NOT\_BE\_NULL"** - не заполнено обязательное поле. \
Обязательность так же указывается в настройках полей.&#x20;

**"error": "VALIDATION\_PHONE"** - некорректный формат номера телефона.

{% hint style="info" %}
В поле телефон можно вводить номера, подходящие под формат российских мобильных операторов. \
Система разпознает номера вида: \
+79119998877 \
79119998877 \
89119998877 \
9119998877 \
+7-(911)-999-88-77 \
Все они будут приведены к единому виду +7(911)999-88-77. На номера не подходящие под этот формат вернется ошибка.

Во избежании ошибок такую же валидацию лучше настроить и на своей форме. В случае если валидация данного поля не требуется можно создать обычное текстовое поле для телефонного номера.
{% endhint %}

**"error": "VALIDATION\_EMAIL"** - некорректный формат почтового адреса.

{% hint style="info" %}
В поле email должно быть введено значение, удовлетворяющее формату <x@y.z>,\
где x, y, z – строки произвольной длины из непробельных ASCII-символов.\
\
Во избежании ошибок такую же валидацию лучше настроить и на своей форме. В случае если валидация данного поля не требуется можно создать обычное текстовое поле для электронной почты.
{% endhint %}
