> For the complete documentation index, see [llms.txt](https://itgro-aly.gitbook.io/test-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://itgro-aly.gitbook.io/test-docs/custom_amo/obnovlenie-kastomizatora-v-versii-itgrix_amo-3.0.0.md).

# obnovlenie kastomizatora v versii itgrix\_amo 3.0.0

## Изменения в кастомизаторе

В обновлении Itgrix\_amo v3.0.0 осуществлен переход API amoCRM с v2 на v4. В связи с этим запросы в кастомизаторе (методы класса Amo в файле `customizer/lib/crm.php`) также переведены с v2 на v4.

Кроме этого, все запросы теперь осуществляются не напрямую из кастомизации, а через коннектор. Т.е. из кастомизации запрос идет в API коннектора, и уже коннектор отправляет запрос в API amoCRM. Это необходимо для соблюдения ограничения на количество запросов, - теперь запросы из кастомизатора будут учитываться коннектором. Ограничения со стороны amoCRM описаны в статье [Ограничения и рекомендации](https://www.amocrm.ru/developers/content/api/recommendations).

### Изменения в методах класса `Amo`

* Все методы-обертки запросов в классе Amo (`customizer/lib/crm.php`) переведены с v2 на v4. Исключение - `Amo::createLead` и `Amo::createTask`, в них и до обновления использовался API v4.
* Переименованы методы:
  * `Amo::getLeadsList` -> `Amo::getLeadList`
  * `Amo::getContactsList` -> `Amo::getContactList`
* Добавлен метод `Amo::updateLead`. Он должен был быть добавлен ранее (например, он используется в кастомизации ["Добавление данных о звонке в тег новой сделки"](https://docs.itgrix.ru/custom_amo/dobavlenie-dannykh-o-zvonke-v-teg-novoi-sdelki)), но по ошибке не был добавлен в предыдущих релизах. В данном релизе добавлен сразу с использованием API v4.

### Работа с примечаниями

Отдельного описания требуют изменения в методе `Amo::addNoteToEntities` Его исользование описано в статье по кастомизации ["Добавление звонка в несколько сущностей"](https://docs.itgrix.ru/custom_amo/dobavlenie-zvonka-v-neskolko-sushnostei).

* В API amoCRM v2 это POST-запрос `/api/v2/notes` (документация на API v2 более недоступна, но можно найти [в веб-архиве](https://web.archive.org/web/20220124171900/https://www.amocrm.com/developers/content/api/notes/))
* В API amoCRM v4 это POST-запрос `/api/v4/{entity_type}/notes` ([раздел Добавление примечаний в статье События и примечания](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#notes-add) документации amoCRM). Поменялись состав и названия полей, которые нужно отправлять при создании примечания. Но главное - в отличие от v2 в документации v4 не описаны поля `params/call_status`, `params/call_result`, а поле `created_at` описано только в методах чтения, но не записи. Без этих полей невозможно создать полноценное примечание о звонке. Экспериментально выявлено, что указанные поля по-прежнему можно отравлять при создании примечаний и в v4, однако теперь это "недокументированный функционал", т.е. его поддержка не гарантирована.

## Возможность реализации запросов по-старому

Тем не менее по-прежнему остается метод `Amo::request`, который дает возможность делать запросы напрямую из кастомизатора, причем с выбором используемой версии API (v2/v4).

Таким образом в случае крайней необходимости можно реализовывать запросы по-старому.

Однако, нужно учитывать, что при обновлениях коннектора файлы в `customizer/lib` автоматически обновляются на актуальную версию. Поэтому для сохранения старых функций нужно их вынести в другой файл - или непосредственно в файл кастомизации, или создать дополнительный библиотечный файл, который уже подключать в коде кастомизации. Например, можно сохранить целиком старый файл `crm.php`, переименовав его и поменяв название класса Amo во избежание конфликта имен.

## Итоги

При обновлении коннектора Itgrix\_amo до версии 3.0.0 необходимо учесть изменения в кастомизаторе: если использовались запросы в CRM, скорее всего потребуется внести правки в код (обновить параметры запросов, в некоторых случаях переименовать функции).

**Если вам требуется помощь, обратитесь в нашу техническую поддержку.**
