normdev / laravel-amocrm
Laravel package for AmoCRM OAuth and lead creation with UTM support
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
pkg:composer/normdev/laravel-amocrm
Requires
- php: ^8.1
- amocrm/amocrm-api-library: ^1.14.1
- illuminate/contracts: ^10.0|^11.0|^12.0
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
This package is not auto-updated.
Last update: 2026-02-06 19:15:40 UTC
README
Пакет для Laravel с интеграцией AmoCRM:
- OAuth (получение/обновление токена)
- отправка лида из формы
- UTM и
_ym_uid - заметки (message, vacancy, product, file)
Установка
composer require normdev/laravel-amocrm
php artisan vendor:publish --tag=amocrm-config
ENV (полный список)
Ниже все переменные, которые читает пакет из config/amocrm.php, с вымышленными значениями.
# Обязательные для OAuth
AMOCRM_CLIENT_ID=demo_client_id_12345
AMOCRM_CLIENT_SECRET=demo_client_secret_67890
AMOCRM_REDIRECT_URI=https://demo.example.com/amo/get_token
# Токен
AMOCRM_TOKEN_PATH=/var/www/demo-project/storage/app/amocrm
AMOCRM_TOKEN_FILE=demo-project-token.json
# Воронка и ответственный
AMOCRM_PIPELINE_ID=999001
AMOCRM_RESPONSIBLE_ID=999002
# Теги и имя лида
AMOCRM_PROJECT_TAG=demo.example.com
AMOCRM_DEFAULT_SITE_TAG=Заявка с сайта
AMOCRM_DEFAULT_LEAD_NAME=Заявка с сайта
# ID кастомных полей AmoCRM
AMOCRM_CF_UTM_MEDIUM=111111
AMOCRM_CF_UTM_TERM=111112
AMOCRM_CF_UTM_SOURCE=111113
AMOCRM_CF_UTM_CONTENT=111114
AMOCRM_CF_UTM_CAMPAIGN=111115
AMOCRM_CF_UTM_REFERRER=111116
AMOCRM_CF_COMPANY=111117
AMOCRM_CF_PRODUCT=111118
AMOCRM_CF_YID=111119
# Маршруты пакета
AMOCRM_ROUTES_ENABLED=true
AMOCRM_ROUTES_PREFIX=amo
Что реально обязательно заполнить
- Обязательно:
AMOCRM_CLIENT_ID,AMOCRM_CLIENT_SECRET,AMOCRM_REDIRECT_URI. - Обычно обязательно для продаж:
AMOCRM_PIPELINE_ID,AMOCRM_RESPONSIBLE_ID. - Для передачи UTM/продукта/компании/YID: соответствующие
AMOCRM_CF_*ID. - Если
AMOCRM_TOKEN_PATHпустой, токен сохраняется в/tokens/<app-name>.json. - Если
AMOCRM_TOKEN_FILEпустой, имя файла будет<app-name>.json.
OAuth маршрут
По умолчанию пакет регистрирует:
GET /amo/get_token(amocrm.getToken)
Можно изменить префикс через AMOCRM_ROUTES_PREFIX.
Использование в контроллере форм
use Illuminate\Http\Request;
use NormDev\LaravelAmoCRM\Services\AmoCRMService;
use NormDev\LaravelAmoCRM\Support\UtmResolver;
public function submit(Request $request, AmoCRMService $amoCRMService, UtmResolver $utmResolver)
{
$data = $request->validate([
'name' => ['nullable', 'string'],
'phone' => ['nullable', 'string'],
'email' => ['nullable', 'email'],
'message' => ['nullable', 'string'],
'product' => ['nullable', 'string'],
'company' => ['nullable', 'string'],
'vacancy' => ['nullable', 'string'],
]);
$amoCRMService->sendLead($data, $utmResolver->fromCookies($request), 'Обратный звонок');
}
Локальная разработка (path repository)
В проекте-потребителе добавьте:
{
"repositories": [
{
"type": "path",
"url": "../laravel-amocrm"
}
]
}
Далее:
composer require normdev/laravel-amocrm