Как добавить примечание в сделку AMOcrm через API
При работе с интеграцией сайта и CRM-системы AMOcrm часто возникает задача не только создать сделку, но и сразу добавить к ней текстовое примечание. В стандартном методе /api/v4/leads/complex нет возможности указать заметки внутри массива сделки. Разберём, как правильно решить эту задачу с помощью отдельного запроса.
Почему notes не работают в комплексном методе
Метод /api/v4/leads/complex предназначен для одновременного создания сделки, контакта и компании. Примечания к сделке - это отдельная сущность. Они не входят в структуру _embedded для leads. Поэтому попытка добавить ключ notes внутрь массива сделки игнорируется или вызывает ошибку.
Правильный алгоритм: два шага
Чтобы создать сделку с заметкой, выполните последовательно два запроса:
- Создайте сделку через
/api/v4/leads/complex(как в вашем исходном коде). - Добавьте примечание к уже существующей сделке через метод
/api/v4/leads/{id}/notes.
Пример кода для добавления примечания
$leadId = 123456; // ID только что созданной сделки
$noteData = [
[
'entity_id' => $leadId,
'note_type' => 'common',
'params' => [
'text' => 'Текст примечания 2'
]
]
];
$method = '/api/v4/leads/' . $leadId . '/notes';
// Выполните POST-запрос с $noteDataТипичные ошибки при добавлении заметок
- Неправильный URL: путь должен быть
/api/v4/leads/{id}/notes, а не/api/v4/leads/complex. - Отсутствие entity_id: каждый элемент массива заметок должен содержать
entity_id(ID сделки). - Неверный формат params: для типа
commonобязательно полеtextвнутриparams.
Другие типы примечаний в AMOcrm
Кроме текстовых заметок (common) вы можете создавать:
call_in- входящий звонокcall_out- исходящий звонокsms_in/sms_out- SMS-сообщенияservice_message- служебные уведомления
Для каждого типа требуется свой набор параметров. Подробнее смотрите в официальной документации AMOcrm.
Оптимизация: один запрос или несколько
Если вам критично создать сделку и заметку одним запросом, это невозможно через стандартный REST API. Однако вы можете написать обёртку на стороне сервера, которая последовательно выполнит оба запроса и вернёт клиенту единый ответ. Такой подход не нарушает логику AMOcrm и позволяет сохранить атомарность операции на вашем уровне.
Используя описанный двухшаговый метод, вы легко добавите примечание к сделке. Главное - запоминать ID созданной сделки и отправлять заметки отдельным запросом.