Если источник уже пометил обращение как переданное, а менеджер не видит пригодной карточки, заявка может потеряться незаметно. Поэтому успешной следует считать не отправку запроса, а заранее согласованное состояние: CRM подтвердила создание, процесс сохранил ID и проверил значимые для работы поля.
Ниже — способ описать такую операцию до разработки или приёмки. Конкретные методы, права, поля и формат ответа нужно сверить с используемой CRM.
Почему отправка запроса ещё не завершает операцию
В одной операции есть как минимум четыре разных события:
- Автоматизация сформировала запрос.
- CRM приняла вызов.
- CRM сообщила о создании сущности и вернула ожидаемый результат.
- Созданная карточка соответствует правилам отдела и готова к работе.
Эти события нельзя объединять в один статус «успешно». Например, документированный метод crm.item.add в Битрикс24 при создании элемента проверяет права и обязательные поля, применяет значения по умолчанию и запускает предусмотренные автоматические действия. Но проверки CRM не доказывают, что карточка соответствует внутренним правилам конкретного отдела продаж.
Исходное обращение можно закрыть как переданное только после достижения состояния, которое команда заранее определила в требованиях. Для одного процесса достаточно подтверждения создания и сохранённого ID; для другого дополнительно требуется чтение карточки и сверка ответственного, стадии или связанного контакта.
Как определить подтверждение создания карточки
Для выбранного метода зафиксируйте контракт ответа:
| Что описать | Что проверить |
|---|---|
| Успешный ответ | Какой статус и структура ответа допустимы |
| ID сущности | В каком поле находится ID и какого он типа |
| Явная ошибка | Какие коды и признаки означают отказ |
| Неполный ответ | Что делать, если ожидаемого ID нет |
| Версия метода | Какая документация и версия API используются |
- Что описать
- Успешный ответ
- Что проверить
- Какой статус и структура ответа допустимы
- Что описать
- ID сущности
- Что проверить
- В каком поле находится ID и какого он типа
- Что описать
- Явная ошибка
- Что проверить
- Какие коды и признаки означают отказ
- Что описать
- Неполный ответ
- Что проверить
- Что делать, если ожидаемого ID нет
- Что описать
- Версия метода
- Что проверить
- Какая документация и версия API используются
Документация устаревающего метода crm.lead.add Битрикс24 показывает ID созданного лида в успешном результате. Сам метод помечен как устаревший, поэтому его формат нельзя переносить на актуальный универсальный метод или другую CRM. Документация API v4 amoCRM для добавления сделок также описывает числовой ID созданной сделки в ответе.
Это примеры поведения конкретных методов, а не универсальный формат. Для запуска нужно сверить актуальный метод, его версию и права интеграционной учётной записи. Сам по себе HTTP-ответ без ожидаемого результата метода не доказывает ни создание сущности, ни пригодность её полей.

Разберём ваш рабочий пример и покажем согласованный фрагмент решения до договора и предоплаты.
Где сохранить ID и связь с исходным обращением
После получения ID сохраните связь между исходным событием и карточкой CRM. Для этого можно спроектировать реестр операций:
| Поле реестра | Зачем оно нужно |
|---|---|
| ID исходного обращения | Найти первичные данные и распознать повторную доставку |
| Тип сущности CRM | Отличить лид, сделку или другую карточку |
| ID карточки CRM | Открыть или прочитать конкретную сущность без поиска по имени |
| Время операции | Восстановить последовательность событий |
| Состояние | Понять, какой шаг подтверждён |
| Версия правил | Узнать, по каким требованиям проверяли карточку |
| Диагностический указатель | Передать сотруднику безопасный контекст без секретов и лишних персональных данных |
- Поле реестра
- ID исходного обращения
- Зачем оно нужно
- Найти первичные данные и распознать повторную доставку
- Поле реестра
- Тип сущности CRM
- Зачем оно нужно
- Отличить лид, сделку или другую карточку
- Поле реестра
- ID карточки CRM
- Зачем оно нужно
- Открыть или прочитать конкретную сущность без поиска по имени
- Поле реестра
- Время операции
- Зачем оно нужно
- Восстановить последовательность событий
- Поле реестра
- Состояние
- Зачем оно нужно
- Понять, какой шаг подтверждён
- Поле реестра
- Версия правил
- Зачем оно нужно
- Узнать, по каким требованиям проверяли карточку
- Поле реестра
- Диагностический указатель
- Зачем оно нужно
- Передать сотруднику безопасный контекст без секретов и лишних персональных данных
Реестр можно хранить в источнике обращений, отдельном рабочем хранилище или предусмотренном поле системы. Выбор зависит от архитектуры. Нельзя заранее считать, что CRM сама поддерживает нужную сквозную связь.
Сохранённая пара идентификаторов помогает продолжить процесс после сбоя, отличить повторную доставку от нового обращения и передать сотруднику проверяемый контекст.
Как проверить карточку после получения ID
Получив ID, автоматизация читает созданную сущность и сравнивает фактические значения с правилами процесса. Проверять нужно не все поля подряд, а только те, без которых сотрудник не сможет продолжить работу:
- тип сущности;
- воронку и стадию;
- ответственного;
- нужные контактные данные;
- источник;
- связь с контактом или компанией.
Состав проверки определяет владелец процесса. В документации crm.item.add Битрикс24 указано, что некорректное поле в объекте fields может быть проигнорировано. Поэтому существование карточки ещё не доказывает перенос каждого отправленного значения.
API v4 amoCRM документирует получение конкретной сделки по ID при наличии нужных прав. Это позволяет спроектировать повторное чтение, но не означает, что CRM автоматически проверяет качество записи после создания. Такой шаг должна выполнять и испытывать сама автоматизация.
Как различать явную ошибку и неизвестный результат
У ошибки и неизвестного результата разные маршруты.
Явная ошибка. CRM вернула распознаваемый отказ. Процесс сохраняет безопасный код, этап и диагностический контекст, не отмечает обращение переданным и направляет его в предусмотренную очередь. Секреты доступа и лишние персональные данные в журнал не записывают.
Неизвестный результат. Соединение оборвалось, ответ повреждён или обработчик не успел сохранить ID. Карточка могла появиться, поэтому повторное создание вслепую опасно. Сначала процесс пытается установить результат по устойчивой связи либо передаёт событие сотруднику.
Поиск результата, идемпотентность и очередь исключений — проектные требования. Приведённые источники не подтверждают их как встроенную защиту любой CRM по умолчанию. Механизм нужно выбрать и испытать для конкретной системы.
Как организовать повтор, ручную проверку и восстановление
Карточка исключения для сотрудника должна отвечать на четыре вопроса: что пришло, какой шаг подтверждён, чего ожидала система и что получилось фактически.
| Данные исключения | Пример назначения |
|---|---|
| Исходное обращение | Проверить первичные сведения |
| Последняя подтверждённая стадия | Не повторять уже доказанный шаг |
| ID CRM, если он известен | Открыть существующую карточку |
| Ожидаемые и фактические значения | Найти конкретное расхождение |
| Безопасное описание ошибки | Разобрать сбой без раскрытия секрета |
| Разрешённые действия | Проверить карточку, исправить данные, безопасно повторить шаг или закрыть вручную |
- Данные исключения
- Исходное обращение
- Пример назначения
- Проверить первичные сведения
- Данные исключения
- Последняя подтверждённая стадия
- Пример назначения
- Не повторять уже доказанный шаг
- Данные исключения
- ID CRM, если он известен
- Пример назначения
- Открыть существующую карточку
- Данные исключения
- Ожидаемые и фактические значения
- Пример назначения
- Найти конкретное расхождение
- Данные исключения
- Безопасное описание ошибки
- Пример назначения
- Разобрать сбой без раскрытия секрета
- Данные исключения
- Разрешённые действия
- Пример назначения
- Проверить карточку, исправить данные, безопасно повторить шаг или закрыть вручную
Автоматический повтор разрешают только для заранее классифицированных ситуаций и при защите от второго создания. Универсальное число попыток и время ожидания задавать нельзя: их выбирают по последствиям ошибки, возможностям CRM и правилам процесса.
Повторная доставка исходного обращения должна сначала проверить сохранённую связь. Если для обращения уже известен ID карточки, процесс продолжает проверку этой карточки или направляет событие сотруднику, а не создаёт новую сущность вслепую.
Условный пример одной заявки
Ниже синтетическая демонстрация проектируемого поведения. Это не клиентский кейс, не выполненный тест и не результат внедрения Switch On AI. Номера и данные вымышлены.
Обращение R-104 содержит имя, телефон и вопрос об интеграции. Автоматизация сохраняет исходник, отправляет запрос на создание сделки и получает ID 7812. Затем она сохраняет пару R-104 ↔ 7812, читает карточку 7812 и сравнивает ответственного с согласованным правилом.
| Шаг | Доказательство | Состояние и следующий шаг |
|---|---|---|
| Исходник сохранён | Есть R-104 и полученные данные | Можно формировать запрос |
CRM вернула 7812 | Ответ соответствует контракту выбранного метода | Создание подтверждено; сохранить связь |
Карточка 7812 прочитана | Получены фактические поля | Сравнить значимые значения |
| Ответственный не соответствует правилу | Сохранены ожидаемое и фактическое значения | Статус «нужна проверка»; передать сотруднику |
| CRM вернула явный отказ | Есть распознаваемый код и этап | Не отмечать передачу успешной; направить в очередь |
| Связь оборвалась после отправки | ID и достоверный итог отсутствуют | Статус «результат неизвестен»; искать по устойчивой связи или передать человеку |
R-104 пришло повторно | В реестре найдена прежняя операция | Не создавать вторую карточку вслепую |
- Шаг
- Исходник сохранён
- Доказательство
- Есть
R-104и полученные данные - Состояние и следующий шаг
- Можно формировать запрос
- Шаг
- CRM вернула
7812 - Доказательство
- Ответ соответствует контракту выбранного метода
- Состояние и следующий шаг
- Создание подтверждено; сохранить связь
- Шаг
- Карточка
7812прочитана - Доказательство
- Получены фактические поля
- Состояние и следующий шаг
- Сравнить значимые значения
- Шаг
- Ответственный не соответствует правилу
- Доказательство
- Сохранены ожидаемое и фактическое значения
- Состояние и следующий шаг
- Статус «нужна проверка»; передать сотруднику
- Шаг
- CRM вернула явный отказ
- Доказательство
- Есть распознаваемый код и этап
- Состояние и следующий шаг
- Не отмечать передачу успешной; направить в очередь
- Шаг
- Связь оборвалась после отправки
- Доказательство
- ID и достоверный итог отсутствуют
- Состояние и следующий шаг
- Статус «результат неизвестен»; искать по устойчивой связи или передать человеку
- Шаг
R-104пришло повторно- Доказательство
- В реестре найдена прежняя операция
- Состояние и следующий шаг
- Не создавать вторую карточку вслепую
Пример показывает разницу между двумя состояниями: карточка существует, но ещё не готова к работе. Исходное обращение остаётся доступным, а сотрудник получает ID карточки, ожидаемого ответственного и фактическое значение.
Альтернативная ветка начинается с обрыва соединения после отправки. Автоматизация не знает, создала ли CRM карточку, поэтому не повторяет создание автоматически. Она сначала пытается установить результат по сохранённому ключу. Если предусмотренного и испытанного способа нет, событие получает сотрудник.
Приёмка, ограничения и подготовка внедрения
Перед запуском проверьте все смысловые ветки. Для каждой зафиксируйте вход, доступное доказательство, ожидаемое состояние, допустимый следующий шаг и данные для разбора.
| Проверочная ситуация | Ожидаемый результат |
|---|---|
| Успешное создание | Ответ соответствует контракту, ID сохранён |
| Непригодное рабочее поле | Карточка прочитана, расхождение передано сотруднику |
| Явный отказ CRM | Ложного успеха нет, ошибка доступна ответственному |
| Обрыв связи | Результат отмечен как неизвестный, слепого создания нет |
| Повторная доставка | Прежняя операция распознана, вторая карточка вслепую не создаётся |
- Проверочная ситуация
- Успешное создание
- Ожидаемый результат
- Ответ соответствует контракту, ID сохранён
- Проверочная ситуация
- Непригодное рабочее поле
- Ожидаемый результат
- Карточка прочитана, расхождение передано сотруднику
- Проверочная ситуация
- Явный отказ CRM
- Ожидаемый результат
- Ложного успеха нет, ошибка доступна ответственному
- Проверочная ситуация
- Обрыв связи
- Ожидаемый результат
- Результат отмечен как неизвестный, слепого создания нет
- Проверочная ситуация
- Повторная доставка
- Ожидаемый результат
- Прежняя операция распознана, вторая карточка вслепую не создаётся
Карта состояний может выглядеть так:
| Состояние | Доказательство | Следующий шаг |
|---|---|---|
| Не отправлено | Запрос ещё не передан | Подготовить разрешённую операцию |
| Отправлено | Зафиксирована попытка вызова | Ждать и разобрать ответ |
| Создание подтверждено | Ответ метода содержит ожидаемый ID | Сохранить связь и при необходимости прочитать карточку |
| Карточка прочитана и проверена | Значимые поля совпали с правилами | Передать карточку в дальнейшую работу |
| Явная ошибка | Получен распознаваемый отказ | Направить в очередь или безопасный повтор |
| Результат неизвестен | Нет достаточного доказательства успеха или отказа | Установить результат без слепого создания |
| Передано сотруднику | Есть карточка исключения и ответственный | Проверить, исправить или закрыть вручную |
- Состояние
- Не отправлено
- Доказательство
- Запрос ещё не передан
- Следующий шаг
- Подготовить разрешённую операцию
- Состояние
- Отправлено
- Доказательство
- Зафиксирована попытка вызова
- Следующий шаг
- Ждать и разобрать ответ
- Состояние
- Создание подтверждено
- Доказательство
- Ответ метода содержит ожидаемый ID
- Следующий шаг
- Сохранить связь и при необходимости прочитать карточку
- Состояние
- Карточка прочитана и проверена
- Доказательство
- Значимые поля совпали с правилами
- Следующий шаг
- Передать карточку в дальнейшую работу
- Состояние
- Явная ошибка
- Доказательство
- Получен распознаваемый отказ
- Следующий шаг
- Направить в очередь или безопасный повтор
- Состояние
- Результат неизвестен
- Доказательство
- Нет достаточного доказательства успеха или отказа
- Следующий шаг
- Установить результат без слепого создания
- Состояние
- Передано сотруднику
- Доказательство
- Есть карточка исключения и ответственный
- Следующий шаг
- Проверить, исправить или закрыть вручную
Статья не гарантирует совместимость с любой CRM, наличие доступа к API, одинаковые поля и ответы, встроенную дедупликацию, автоматическое восстановление или автоматическое сохранение внешнего ID. До запуска нужно проверить актуальный метод, права интеграционной учётной записи, тарифные и продуктовые ограничения, правила обработки персональных данных и отсутствие секретов в журнале.
Для обсуждения подготовьте:
- источник обращений;
- CRM и тип создаваемой сущности;
- карту обязательных рабочих полей;
- обезличенные примеры успешного и ошибочного ответов;
- правила обработки дублей;
- ответственного за исключения;
- последствия потери заявки и повторного создания карточки.
Switch On AI разрабатывает и внедряет автоматизацию отдельных операций и интеграции между рабочими системами. На странице услуг можно посмотреть доступные форматы работы. Для этой задачи первым предметом обсуждения станет одна операция создания карточки: подтверждение результата, хранение ID, проверка полей и маршрут неопределённого исхода. После разбора процесса можно согласовать состав бесплатного прототипа и критерии приёмки; прототип не равен готовому внедрению.
Вопросы по этой задаче
Достаточно ли ответа HTTP 200, чтобы считать карточку созданной?
Нет. Нужно проверить, что ответ соответствует контракту выбранного метода и содержит ожидаемый ID. Если процесс требует пригодную для работы карточку, после этого её читают по ID и сверяют значимые поля.
Нужно ли читать карточку повторно, если CRM уже вернула её ID?
Это зависит от правил процесса. Повторное чтение нужно, если важно подтвердить ответственного, стадию, воронку, контактные данные или связи. Набор полей определяют до разработки.
Где хранить соответствие между ID обращения и ID карточки CRM?
В источнике обращений, отдельном рабочем хранилище или предусмотренном поле системы — в зависимости от архитектуры. Важно, чтобы связь переживала сбой и помогала распознавать повторную доставку.
Что делать, если запрос мог выполниться, но ответ CRM не был получен?
Отметить результат как неизвестный и не создавать карточку повторно вслепую. Сначала нужно попытаться установить итог по устойчивой связи либо передать событие сотруднику.
Как повторить создание после ошибки и не получить вторую карточку?
Автоматический повтор допускают только для заранее классифицированной ошибки и при испытанной защите от повторного создания. В остальных случаях сначала проверяют существующую операцию или направляют исключение человеку.
