Сценарий из mcp-everything. Актуально на 2026-10-24.
Перед созданием сделки проверить, есть ли клиент в базе, и привязать сделку к нему.
# Поиск по телефону
curl -G "https://<поддомен>.amocrm.ru/api/v4/contacts" \
-H "Authorization: Bearer $AMO_TOKEN" \
--data-urlencode 'query=+79990001122'
# Сделка с привязкой к контакту
curl -X POST "https://<поддомен>.amocrm.ru/api/v4/leads" \
-H "Authorization: Bearer $AMO_TOKEN" \
-H 'Content-Type: application/json' \
-d '[{"name": "Повторный заказ", "price": 9900, "_embedded": {"contacts": [{"id": 19663157}]}}]'
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"
}
Тело — массив сделок; обязательных полей нет.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
name |
body | string | нет | Название сделки |
price |
body | int | нет | Бюджет |
status_id |
body | int | нет | Этап; по умолчанию первый этап главной воронки |
pipeline_id |
body | int | нет | Воронка |
created_by |
body | int | нет | Создатель; 0 — робот |
updated_by |
body | int | нет | Изменивший; 0 — робот |
closed_at |
body | int | нет | Дата закрытия (Unix Timestamp) |
created_at |
body | int | нет | Дата создания (Unix Timestamp) |
updated_at |
body | int | нет | Дата изменения (Unix Timestamp) |
loss_reason_id |
body | int | нет | Причина отказа |
responsible_user_id |
body | int | нет | Ответственный |
custom_fields_values |
body | array | нет | Значения дополнительных полей |
tags_to_add |
body | array | нет | Теги для добавления: id или name |
_embedded[tags] |
body | array | нет | Привязываемые теги |
_embedded[contacts][0][id] |
body | int | нет | Привязываемый контакт |
_embedded[contacts][0][is_main] |
body | string | нет | Главный контакт |
_embedded[companies][0][id] |
body | int | нет | Привязываемая компания |
_embedded[source][external_id] |
body | string | нет | Внешний ID источника |
_embedded[source][type] |
body | string | нет | Тип источника; для интеграций — widget |
Пример запроса:
[
{
"name": "Сделка для примера 1",
"created_by": 0,
"price": 20000,
"custom_fields_values": [
{
"field_id": 294471,
"values": [
{
"value": "Наш первый клиент"
}
]
}
],
"tags_to_add": [
{
"name": "Первый тег"
}
]
}
]
Пример ответа:
{
"_links": {
"self": {
"href": "https://example.amocrm.ru/api/v4/leads"
}
},
"_embedded": {
"leads": [
{
"id": 10185151,
"request_id": "0",
"_links": {
"self": {
"href": "https://example.amocrm.ru/api/v4/leads/10185151"
}
}
}
]
}
}
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
with |
query | string | нет | Доп. связанные сущности через запятую |
page |
query | int | нет | Страница |
limit |
query | int | нет | Записей на страницу, максимум 250 |
query |
query | string | нет | Поиск по заполненным полям |
filter |
query | object | нет | Фильтр |
order |
query | object | нет | Сортировка по updated_at или id: asc/desc |
Тело — массив контактов.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
name |
body | string | нет | Название контакта |
first_name |
body | string | нет | Имя |
last_name |
body | string | нет | Фамилия |
responsible_user_id |
body | int | нет | Ответственный |
created_by |
body | int | нет | Создатель |
custom_fields_values |
body | array | нет | Доп. поля (телефон, email и др.) |
tags_to_add |
body | array | нет | Теги для добавления |
_embedded[tags] |
body | array | нет | Привязанные теги |
request_id |
body | string | нет | Возвращается в ответе без изменений |
Пример запроса:
[
{
"first_name": "Петр",
"last_name": "Смирнов",
"custom_fields_values": [
{
"field_id": 271316,
"values": [
{
"value": "Директор"
}
]
}
]
},
{
"name": "Владимир Смирнов",
"created_by": 47272,
"tags_to_add": [
{
"name": "Тег контакта"
}
]
}
]
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