Ошибка `NotSupportedChoice`, возникающая при попытке добавить `custom_fields_values` в сущность Lead, действительно указывает на то, что указанный `field_id` не признан системой как допустимый выбор. Вот несколько шагов, которые вы можете предпринять, чтобы устранить эту ошибку:
1. **Проверьте существование поля:** Убедитесь, что поле с ID `618311` действительно существует в вашей аккаунте amoCRM. Это можно сделать через интерфейс amoCRM, перейдя в настройки полей и проверив, что поле с нужным ID доступно и активно.
2. **Проверьте тип поля:** Убедитесь, что значение, которое вы передаете (в данном случае `'test'`), соответствует ожидаемому типу для этого поля. Например, если поле является выпадающим списком, то должно быть передано одно из значений этого списка. Вам нужно проверить, какие значения поддерживаются для данного `field_id`.
3. **Проверьте настройки доступа:** Если вы работаете с несколько аккаунтами или используете разные интеграции, проверьте, есть ли ограничения на доступ к полям, которые могут вызвать подобные ошибки.
4. **Используйте API для проверки полей:** Вы можете использовать метод API `GET /api/v4/leads/custom_fields` для получения списка всех пользовательских полей и их ID в вашей учетной записи. Это поможет вам убедиться, что `field_id` правильный и у вас есть доступ к нему.
Пример запроса:
```javascript
const customFields = await this.client.customFields.getAll();
console.log(customFields);
```
5. **Удалите и заново создайте поле:** Если вы по-прежнему не можете найти проблему, попробуйте удалить это поле и создать его заново, чтобы обновить все связанные настройки.
6. **Логи и отладка:** Пройдите через остальные настройки и зависимости, которые могут быть связаны с тестируемой сделкой. Иногда другие поля могут вызывать конфликты или ошибки валидации.
Вот пример того, как можно получить пользовательские поля и их настройки:
```javascript
const fields = await this.client.customFields.getAll();
console.log(fields); // Вывод всех полей, включая их ID и типы
```
Если проблема все еще остается после проверки всех вышеперечисленных пунктов, рекомендую обратиться к поддержке amoCRM, предоставив им детали вашей проблемы и ID поля, которое вызывает ошибку.