Эта библиотека предоставляет SDK на языке Go для работы с API amoCRM. Она позволяет полноценно взаимодействовать с amoCRM и работать со всеми типами сущностей.
- Поддержка OAuth 2.0 аутентификации
- Поддержка долгоживущих токенов (Long-lived tokens) для серверных интеграций
- Поддержка
context.Contextво всех публичных функциях - Работа со всеми основными сущностями amoCRM (сделки, контакты, компании, задачи, воронки, примечания, теги и т.д.)
- Поддержка пользовательских полей
- Утилиты для работы с вебхуками и URL-фильтрами
- Полная документация на русском языке
go get github.com/chudno/amo_crm_sdkSDK разделен на модули, каждый из которых отвечает за работу с определенной сущностью в amoCRM:
| Модуль | Описание | Документация |
|---|---|---|
auth |
Аутентификация в API amoCRM | Подробнее |
client |
Клиент для работы с API | Подробнее |
| Модуль | Описание | Документация |
|---|---|---|
entities/leads |
Работа с лидами | Подробнее |
entities/contacts |
Работа с контактами | Подробнее |
entities/companies |
Работа с компаниями | Подробнее |
entities/tasks |
Работа с задачами | Подробнее |
entities/notes |
Работа с примечаниями | Подробнее |
entities/pipelines |
Работа с воронками и статусами | Подробнее |
entities/users |
Работа с пользователями | Подробнее |
entities/tags |
Работа с тегами | Подробнее |
entities/catalogs |
Работа с каталогами | Подробнее |
entities/catalog_elements |
Работа с элементами пользовательских каталогов | Подробнее |
entities/unsorted |
Работа с неразобранными заявками | Подробнее |
entities/files |
Работа с файлами | Подробнее |
entities/calls |
Работа со звонками | Подробнее |
entities/events |
Работа с событиями | Подробнее |
entities/segments |
Работа с сегментами | Подробнее |
entities/widgets |
Работа с виджетами | Подробнее |
entities/access_rights |
Работа с правами доступа | Подробнее |
entities/short_links |
Работа с короткими ссылками | Подробнее |
entities/mailing |
Работа с email-рассылками | Подробнее |
entities/sources |
Работа с источниками лидов | Подробнее |
| Модуль | Описание | Документация |
|---|---|---|
utils/custom_fields |
Работа с пользовательскими полями | Подробнее |
utils/webhooks |
Работа с вебхуками | Подробнее |
utils/urlfilters |
Конвертация URL-фильтров из веб-интерфейса в SDK | Подробнее |
Примеры использования всех модулей приведены в соответствующих README.md файлах каждого модуля.
Для запуска тестов в проекте используется Docker. Все команды доступны через Makefile:
# Запуск всех проверок (unit-тесты, lint, fmt, cyclo)
make all
# Только unit-тесты
make test
# Проверка кода с помощью go vet
make lint
# Форматирование кода
make fmt
# Проверка цикломатической сложности
make cycloИнтеграционные тесты выполняют реальные запросы к API amoCRM. Для их запуска необходимо задать переменные окружения:
export AMO_BASE_URL="https://your-domain.amocrm.ru"
export AMO_ACCESS_TOKEN="your_long_lived_token"
make integration