Сценарий из mcp-everything. Актуально на 2026-10-24.
Для интеграции, которую ставят другие аккаунты: обменять код на токены и вовремя их обновлять.
# Обмен кода на токены
curl -X POST "https://<поддомен>.amocrm.ru/oauth2/access_token" \
-H 'Content-Type: application/json' \
-d '{
"client_id": "<ID интеграции>",
"client_secret": "<секрет>",
"grant_type": "authorization_code",
"code": "<код из redirect>",
"redirect_uri": "https://example.ru/amo/callback"
}'
# Обновление (refresh_token после этого недействителен — сохрани новый)
curl -X POST "https://<поддомен>.amocrm.ru/oauth2/access_token" \
-H 'Content-Type: application/json' \
-d '{"client_id": "<ID интеграции>", "client_secret": "<секрет>", "grant_type": "refresh_token", "refresh_token": "<refresh_token>", "redirect_uri": "https://example.ru/amo/callback"}'
https://{subdomain}.amocrm.ru/api/v4/https://www.amocrm.ru/oauthТип: OAuth 2.0
Два способа:
https://www.amocrm.ru/oauth?client_id={Integration ID}&state={state}&mode={popup или post_message}, интеграция получает код (живёт 20 минут) и обменивает его на токены запросом POST /oauth2/access_token к поддомену аккаунта. Refresh token можно использовать только один раз; без использования он истекает через 3 месяца.Токен передаётся в заголовке Authorization: Bearer {access token}.
Пример запроса токена:
Пример ответа:
{
"client_id": "xxxx",
"client_secret": "xxxx",
"grant_type": "authorization_code",
"code": "xxxxxxx",
"redirect_uri": "https://test.test"
}
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
client_id |
body | string | да | ID интеграции |
client_secret |
body | string | да | Секрет интеграции (для refresh_token — необязателен) |
grant_type |
body | string | да | authorization_code или refresh_token |
code |
body | string | нет | Код авторизации (для authorization_code) |
refresh_token |
body | string | нет | Refresh token (для refresh_token) |
redirect_uri |
body | string | да | Redirect URI интеграции |
Content-Type: application/hal+json, ошибки — application/problem+json; в запросах с телом указывайте Content-Type: application/json.204 без тела, а не 404.validation-errors с request_id и списком errors (code, path, detail).402, доступ к данным закрывается через 30 дней.403.Если этого недостаточно — официальная документация: https://www.amocrm.ru/developers/content/crm_platform/api-reference Вся интеграция одним документом: https://mcp-everything.ru/integrations/amocrm.md