amoCRM + SNABZHENETS+
Категория: S+ усиливает эффект с CRM и продажами.
amoCRM удобно оставлять для воронок продаж, сделок, контактов, компаний, задач, покупателей и Digital Pipeline. SNABZHENETS+ добавляет к сделке закупочную часть: поставщики, RFQ, КП поставщика, входящие счета, оплаты, приход и себестоимость.
Когда S+ нужен рядом с amoCRM
- сделка не может закрыться без закупки у внешнего поставщика;
- продавец знает потребность клиента, но не знает закупочную цену;
- нужно сравнить несколько поставщиков и объяснить выбор;
- клиент ждёт срок поставки, зависящий от поставщика;
- руководитель хочет видеть не только бюджет сделки, но и маржу.
Сценарий продажа → закупка
- В amoCRM появляется сделка с клиентом, контактами и потребностью.
- Сделка попадает в настроенную воронку и этап, после чего webhook создаёт или обновляет заявку в S+.
- S+ берёт файл заявки из выбранного file-поля сделки amoCRM либо из ручной загрузки в виджете и импортирует строки: наименование, количество, желаемый срок, бюджет, комментарий.
- Снабженец собирает предложения поставщиков.
- После выбора поставщика S+ возвращает в amoCRM подтверждённую цену, срок и статус закупки.
- Продавец продолжает коммуникацию с клиентом в amoCRM.
- Бухгалтер и снабжение закрывают счёт поставщика в S+.
Как подключить
- Установите интеграцию amoCRM в маркете S+.
- Подключите аккаунт amoCRM через OAuth: S+ откроет popup amoCRM для amoMarket-виджета SNABZHENETS+, закроет его после выдачи доступа и обновит страницу управления интеграцией.
- Нажмите Включить. S+ автоматически получит воронки, этапы и поля amoCRM, подготовит группу сделки SNABZHENETS+, создаст стандартные поля обмена, сопоставит их с настройками интеграции и зарегистрирует webhook.
- Проверьте file-поле сделки amoCRM, из которого S+ будет брать файл заявки. Если поле не выбрано, S+ использует созданное поле S+ файл заявки либо самый свежий файл сделки.
- Выберите, кому назначать заявки из amoCRM: интеграционному пользователю, конкретному сотруднику S+ или первому активному сотруднику выбранной роли S+.
- При необходимости скорректируйте воронки и этапы, по которым нужно автоматически создавать заявки. После первичного включения S+ выбирает основную воронку и первый этап как стартовое правило.
- При необходимости настройте карту статусов S+ → этапы amoCRM.
Если работа начинается из установленного amoMarket-виджета в amoCRM, кнопка Подключить SNABZHENETS+ открывает страницу управления amoCRM в S+ с параметром автостарта. S+ создаёт установку интеграции для текущего портала, сохраняет пустую конфигурацию amoCRM, формирует подписанный OAuth state и открывает настоящий OAuth popup amoCRM. После выдачи доступа исходная страница S+ обновляется и показывает состояние подключения. Виджет не хранит OAuth-секреты и не пытается привязать аккаунт без S+ сессии пользователя.
Единый справочник amoCRM
Для интеграционной синхронизации используйте один endpoint S+, а не прямые вызовы amoCRM из второй системы:
GET /api/v1/integrations/amocrm/bootstrapS+ сам обновляет справочники amoCRM и возвращает единый объект: аккаунт, все воронки с вложенными этапами, плоский список этапов, поля сделок, контактов, компаний и покупателей, а также map-индексы по ID и кодам полей. Этапы берутся из _embedded.statuses ответа amoCRM по воронкам, поэтому одинаковые системные ID этапов безопасно различаются ключом pipelineId:statusId.
Поля и пользователи amoCRM дочитываются постранично до конца по ссылкам amoCRM, поэтому в ответ попадают не только первые 250 записей. Пользователи amoCRM сопоставляются с активными сотрудниками S+ по email/login, затем по точному нормализованному имени. Если имя неоднозначно, S+ не назначает сотрудника автоматически. Временные ошибки amoCRM, включая rate limit, S+ повторяет внутри своего backend-клиента; внешний сервис при этом продолжает работать с одним стабильным endpoint S+.
Справочник кешируется до 5 минут. Для принудительного обновления перед настройкой используйте синхронизацию amoCRM в интерфейсе интеграции.
Этот endpoint требует прав на чтение интеграций и использует уже подключённый OAuth-токен amoCRM. Внешнему сервису не нужно знать структуру методов amoCRM или хранить amoCRM OAuth-секреты.
Импорт файла заявки
S+ импортирует самый свежий поддерживаемый файл из выбранного file-поля сделки. Если поле не выбрано, S+ попробует взять созданное поле S+ файл заявки или самый свежий файл, прикреплённый к сделке.
Найденные файлы сделки amoCRM и файл, переданный через виджет, также добавляются в раздел Файлы / Комментарии связанной заявки с пометкой amoCRM. Снабженец может открыть или скачать такой документ из карточки заявки даже тогда, когда формат не подходит для автоматического разбора строк.
При OAuth-подключении и при включении интеграции S+ автоматически создаёт или находит в amoCRM группу полей SNABZHENETS+, создаёт file-поле S+ файл заявки, переносит уже созданные S+ поля из других групп в эту группу и сразу выбирает поле заявки как источник, если другой источник ещё не настроен. На стороне S+ интеграция также заводит дополнительные поля заявки для amoCRM: ID/ссылка сделки, файл заявки, номер и ссылка заявки, статус закупки, плановая сумма, себестоимость, выбранный поставщик, срок, ссылка на файл результата и последняя заметка S+. Эти поля доступны как custom.amocrm... через Variable API и обновляются при импорте или обратной передаче.
В карточке сделки amoCRM группа SNABZHENETS+ показывает быстрые действия Открыть S+ и Обновить вручную. Открыть S+ выводит модальное окно S+ прямо в карточке сделки: там можно увидеть связанную заявки, открыть её в S+, выбрать файл или вставить табличный текст и нажать Создать/обновить заявку. Обновить вручную без открытия окна повторно запускает импорт по текущей сделке. Ручной файл имеет приоритет над вставленным текстом. Если файл и текст не переданы, используется стандартный импорт из поля сделки amoCRM.
В этой же группе есть блок Номенклатура S+. Продавец может найти позицию по названию, SKU, бренду или производителю, увидеть доступный остаток, количество на складах и товары в пути, указать количество и добавить найденный товар отдельной строкой в связанную заявку. Если по товару есть остатки на нескольких складах, в виджете можно выбрать склад-источник; S+ сохранит его в строке заявки. Если заявка ещё не создана, S+ сначала создаёт её из сделки amoCRM, затем добавляет выбранную позицию и возвращает обновлённые данные в карточку сделки.
S+ остаётся главным источником складской информации: остатки, резервы, товары в пути и склады берутся из каталога и складского учёта S+. Штатный каталог товаров amoCRM используется как входящий источник состава сделки. Когда в сделке amoCRM уже прикреплены товары через catalog_elements, S+ при импорте сделки сопоставляет их с номенклатурой S+ по сохранённой связи, SKU/артикулу или названию. Если совпадения нет, S+ создаёт активную позицию каталога с пометкой amoCRM, связывает её с элементом каталога amoCRM и добавляет строку в заявку. Повторные webhook-события обновляют уже связанную строку, а не создают дубль.
Поддерживаются форматы:
- XLSX и XLS;
- CSV и TSV;
- XML 1C;
- PDF с распознаваемой таблицей.
- TXT для ручной загрузки или вставки табличного текста через виджет.
Если файл отсутствует, заявка создаётся без строк, а в amoCRM добавляется заметка. Если файл найден, но формат или данные не подходят, S+ не меняет строки заявки и пишет ошибку в заметку сделки.
Ответственный за заявки из amoCRM
Webhook amoCRM выполняется сервером S+ через уже подключённую OAuth-интеграцию, поэтому продавцу не обязательно быть авторизованным в S+ в браузере. В настройках интеграции можно выбрать маршрут назначения:
- интеграционный пользователь S+ — заявка назначается пользователю, который подключал интеграцию;
- конкретный сотрудник S+ — все заявки из amoCRM назначаются выбранному пользователю;
- роль S+ — S+ выбирает первого активного сотрудника с этой ролью и назначает ему заявки.
Ручные кнопки в виджете работают без активной S+ сессии менеджера amoCRM. При открытии карточки S+ выдаёт короткоживущий token, привязанный к текущей установке amoCRM, аккаунту, домену, сделке и пользователю amoCRM. По этому token можно только импортировать текущую сделку, загрузить файл или текст, искать номенклатуру S+, добавить позицию в связанную заявку и передать эту связанную заявку обратно в текущую сделку amoCRM.
Все такие действия технически выполняются от интеграционного пользователя S+, чтобы права и аудит оставались стабильными. Если текущий менеджер amoCRM найден среди активных пользователей S+, S+ добавляет его в заявку как участника с ролью Инициатор. Если этот пользователь уже является основным ответственным заявки, отдельная строка участника не создаётся.
Обратная передача в amoCRM
S+ может обновлять только те поля amoCRM, которые вы сопоставили в настройках интеграции. По умолчанию S+ не перетирает карточки контактов и компаний amoCRM.
В сделку можно вернуть:
- номер и ссылку на заявка;
- статус закупки;
- плановую сумму и себестоимость;
- выбранного поставщика;
- срок поставки;
- заполненный файл заявки: S+ загружает файл в файловый сервис amoCRM, привязывает его к сделке и записывает объект
file_uuidв сопоставленное file-поле; - заметку со строками товаров, ценами и итогами.
Перевод сделки на другой этап выполняется только при включённой карте статусов.
В заметку сделки и в группу SNABZHENETS+ виджета также передаются связанные документы заявки: КП клиенту, счета клиенту, входящие счета, запросы КП поставщикам, КП поставщиков и сгенерированные документы S+. Для КП и счетов клиенту S+ показывает прямую ссылку на PDF-export; для остальных документов ссылка ведёт на страницу S+, где файл можно скачать по правам пользователя.
Что синхронизировать
| Из amoCRM в S+ | Из S+ в amoCRM |
|---|---|
| ID сделки | Номер заявки |
| Контакт и компания | Статус закупки |
| Воронка и этап | Подтверждённый срок |
| Позиции из файла, текста и каталога amoCRM | Выбранный поставщик |
| Ответственный продавец | Риск по сроку или цене |
| Файлы клиента | Готовность КП/счёта клиенту |
| File-поле S+ файл заявки | File-поле S+ файл заявки |
Для повторных покупателей
Если в amoCRM используются “Покупатели” для повторяющихся покупок, S+ помогает не потерять закупочную историю:
- подтягивайте прошлые цены поставщиков;
- фиксируйте поставщиков, которые уже закрывали такие позиции;
- сравнивайте текущую закупочную цену с прошлой;
- не создавайте новые RFQ, если есть действующий прайс поставщика.
Ограничения
- amoCRM должна оставаться владельцем клиентской коммуникации.
- S+ не должен дублировать все задачи продавца.
- Если сделка в amoCRM закрыта как проигранная, связанную заявка в S+ нужно отменить или перевести в архивный статус.
- Если закупка уже оплачена, продавец не должен менять состав клиентской сделки без согласования со снабжением.