Ошибка при интеграции с сервисом

VerifySignature Ошибка проверки подписи:
0 – проверка ЭП успешна или создание ЭП успешна или проверка сертификата открытого ключа успешна;
-1 – нет поля data или signed в json;
-2 – нет тега <ds:DigestValue> или нет хеша;
-3 – нет тега <ds:SignatureValue> или нет подписи;
-4 – нет тега <ds:X509Certificate> или нет сертификата проверки;
-5 – внутренняя ошибка libgzcryptosign.so;
-6 – электронная подпись целостная, но срок действия ключа подписи истек;
-7 – электронная подпись целостная, но в сертификате отсутствует назначение — для подписи;
-8 – ошибка каноникализации или трансформации данных, полученных для проверки подписи;
-9 – ошибка вычисления хэша;
-10 – вычисленный хэш от данных и хэш в xml не совпадают;
-11 – ошибка создания каноклизированной xml для проверки подписи;
-12 – нарушена целостность электронной подписи или данных;
-13 – алгоритм формирования подписи не является ГОСТ 34.10-2001_256 или ГОСТ 34.10-2012_256;
-14 – нет данных для подписи;
-15 – ошибка создания каноклизированной xml для создания подписи;
-16 – срок действия сертификата открытого ключа менее 10 лет
-17 – В запросе отсутствует HTTP заголовок CertificateType
-18 — Отсутствуют или имеют неправильный формат атрибуты со ссылками и значениями доказательств подлинности.
-19 — В сообщении не найден действительный штамп времени на подпись.
-20 — Значения ссылок на доказательства подлинности и сами доказательства, вложенные в сообщение, не соответствуют друг другу.
-21 – Подпись на штамп времени не действительна.
-22 – XAdES содержит не поддерживаемые атрибуты.
-23 – Тип содержимого XAdES не соответствует
1 – электронная подпись целостная, но этот сертификат или один из сертификатов в цепочке сертификатов недействителен;
4 – электронная подпись целостная, но текущий сертификат или один из сертификатов в цепочке отозван;
8 – электронная подпись целостная, но сертификат или один из сертификатов в цепочке сертификатов не имеет действительной подписи;
16 – электронная подпись целостная, но сертификат или цепочка сертификатов недействительны для предполагаемого использования;
32 – электронная подпись целостная, но сертификат или цепочка сертификатов основана на не доверенном корневом сертификате;
64 – электронная подпись целостная, но статус отзыва текущего сертификата или одного из сертификатов в цепочке сертификатов неизвестен;
128 – электронная подпись целостная, но один из сертификатов в цепочке был выдан центром сертификации, который был сертифицирован исходным сертификатом;
256 – электронная подпись целостная, но один из сертификатов имеет неправильное расширение;
512 – электронная подпись целостная, но сертификат или один из сертификатов в цепочке сертификатов имеет расширение policy constraints, а один из выпущенных сертификатов имеет запрещенное расширение сопоставления политик или не имеет необходимого расширения политик выдачи;
1024 – электронная подпись целостная, но сертификат или один из сертификатов в цепочке сертификатов имеет расширение basic constraints, и либо сертификат не может быть использован для выдачи других сертификатов, либо длина пути цепочки превышена;
2048 – электронная подпись целостная, но сертификат или один из сертификатов в цепочке сертификатов имеет недопустимое расширение name constraints;
4096 – электронная подпись целостная, но сертификат или один из сертификатов в цепочке сертификатов имеет расширение name constraints, которое содержит неподдерживаемые поля;
8192 – электронная подпись целостная, но сертификат или один из сертификатов в цепочке сертификатов имеет расширение name constraints, а name constraints отсутствует для одного из вариантов имени в конечном сертификате;
16384 – электронная подпись целостная, но сертификат или один из сертификатов в цепочке сертификатов имеет расширение name constraints, и нет разрешенного name constraint для одного из вариантов имени в конечном сертификате;
32768 – электронная подпись целостная, но сертификат или один из сертификатов в цепочке сертификатов имеет расширение name constraints, и одно из вариантов имени в конечном сертификате явно исключен;
16777216 – электронная подпись целостная, но статус отзыва сертификата или одного из сертификатов в цепочке сертификатов недоступен или устарел;
33554432 – электронная подпись целостная, но конечный сертификат не имеет каких-либо результирующих политик выдачи, а один из выдающих сертификатов центра сертификации имеет расширение policy constraints, требующее этого;
67108864 – электронная подпись целостная, но сертификат не доверенный;
134217728 – электронная подпись целостная, но сертификат не поддерживает критическое расширение;
1048576 – электронная подпись целостная, но сертификат подписан слабым алгоритмом;
65536 – электронная подпись целостная, но цепочка сертификатов не полная;
131072 – электронная подпись целостная, но список отзывов сертификатов (CTL), использованный для создания этой цепочки просрочен;
262144 – электронная подпись целостная, но список отзывов сертификатов (CTL), использованный для создания этой цепочки, не имеет действительной подписи;
524288 – электронная подпись целостная, но список отзывов сертификатов (CTL), использованный для создания этой цепочки, не имеет правильного предназначения.

Статья обновлена: 19 октября 2022
ID: 14614

Статья относится к:

  • Kaspersky Security для виртуальных сред 5.2 Легкий агент;
  • Kaspersky Security для виртуальных сред 5.1 Легкий агент.

При попытке подключения к Серверу интеграции вы можете получить ошибку, если не меняли данные для подключения по умолчанию. 

Причина

Адрес Сервера интеграции должен быть указан в формате IP или FQDN и адресом не может быть localhost или 127.0.0.0.

В большинстве инфраструктур Сервер интеграции и Сервер администрирования устанавливаются на один компьютер. Поэтому Kaspersky Security для виртуальных сред Легкий агент по умолчанию заполняет поля в интерфейсе данными для подключения к Серверу интеграции из настроек Сервера администрирования. Они могут не соответствовать корректному формату для подключения, например, при установке Сервера администрирования на компьютер вне домена.  

Решение

Убедитесь, что адрес Сервера интеграции указан в формате IP или FQDN. Чтобы ошибка подключения не повторялась, настройте адрес Сервера администрирования, который будет соответствовать корректному формату адреса Сервера интеграции:

  1. Откройте Kaspersky Security Center.
  2. Перейдите в ДополнительноУдаленная установка.
  3. В контекстном меню Инсталляционные пакеты выберите Свойства.
  4. В разделе Общие задайте адрес Сервера администрирования в формате IP или FQDN.

Настройка адреса Сервера администрирования в свойствах Инсталляционного пакета

Ошибка из-за неправильного адреса не будет появляться при подключении к Серверу интеграции. 

Спасибо за ваш отзыв, вы помогаете нам становиться лучше!

Спасибо за ваш отзыв, вы помогаете нам становиться лучше!

Как минимизировать ошибки при интеграции с внешними сервисами: опыт онлайн-брокера

Время на прочтение
6 мин

Количество просмотров 5.4K

За полтора года мы интегрировались по API с двадцатью внешними сервисами. Первые пять интеграций прошли через боль и слезы — мы допустили все возможные ошибки. По несколько раз переписывали код, расставались с партнерами перед самым релизом, потому что не смогли договориться о доработках. Теряли время и деньги.

Но при каждой новой интеграции мы придумывали решения для повторяющихся проблем. В результате последнюю интеграцию мы сделали в четыре раза быстрее, чем первую. Что теперь мы делаем иначе — читайте в статье.

Чтобы вы лучше понимали специфику наших интеграций, вкратце расскажем, чем мы занимаемся. Мы развиваем онлайн-брокера. Принцип работы: на сайт приходит пользователь, заполняет анкету, мы передаем ее микрофинансовым организациям (МФО) и получаем от них одобрение или отказ по займу. Пользователь выбирает подходящее предложение и получает деньги. Чтобы всё это работало онлайн, мы интегрируемся с МФО по API.

Оценка готовности партнера к интеграции с помощью чек-листа и спецификации

Разберем два сценария: когда у потенциального партнера уже есть API для приема заявок, и когда нет. Оба сценария предполагают, что партнер хочет с нами интегрироваться и готов потратить на это время.

У партнера нет API — отправляем спецификацию

Раньше мы объясняли партнеру устно или в переписке, что нам нужно для интеграции, а партнер на основе этих объяснений делал API для приема заявок с Finspin. Мы не согласовывали требования к моделям, объектам, полям анкеты и правилам их валидации. Бегло описывали назначения методов и возможные ответы. Результат оказывался бесконечно далеким от ожидаемого, потому что наше понимание API сильно расходилось с партнерским. Приходилось все переделывать.

Сейчас. Мы написали свою спецификацию — YAML-файл, который можно открыть в Swagger. В спецификации мы описали самое подходящее API для интеграции Finspin с МФО: поля анкеты и правила их валидации, форматы и типы запросов c ответами, названия методов, возможные ошибки и статусы. Зафиксировали статусы состояния заявки, которые планируем получать, например: «принято в обработку», «идет скоринг», «отказано в займе», «одобрение» и т. д.

Мы отправляем спецификацию партнеру, и он решает, сможет ли предоставить такое API. Если не может, отмечает проблемные пункты в спецификации, например, не все состояния заявки готовы передать в API или не хватает полей в анкете. И мы уже обсуждаем конкретные моменты, а не абстрактные сущности. Партнер не тратит время на написание своей документации, а корректирует нашу.

Мы потратили на создание спецификации два дня, зато сейчас экономим десятки часов на согласованиях и доработках API. Также с помощью спецификации мы быстро отсеиваем не готовых к интеграции партнеров. На ранних этапах становится понятно, что наши процессы обработки заявок в онлайне сильно отличаются: интегрироваться невыгодно.

У партнера есть API — прогоняем по чек-листу

Раньше мы получали спецификацию партнера и задавали по ней вопросы на ходу. Часто забывали уточнить что-нибудь важное, а потом это важное всплывало на финальных этапах разработки и тестирования, когда исправлять и переписывать становилось особенно затратно. Как-то под конец интеграции с одним партнером выяснилось, что он будет передавать статусы займов по API с задержкой в несколько дней. Для нас это недопустимо. От партнерства пришлось отказаться.

Сейчас. Мы написали чек-лист для оценки API и процессов, которые оно обслуживает. В чек-листе собрали вопросы, на которые нужно обязательно получить ответы. Сначала наш менеджер ищет ответы в спецификации. Если не находит, адресует вопросы партнеру.

Чек-лист помогает найти узкие места до начала разработки, а не после — когда приходится править код, а клиенты страдают из-за плохого обслуживания.

Мы постоянно пополняем чек-лист, когда сталкиваемся с новыми ситуациями. Чем детальнее чек-лист, тем ниже риск пропустить ошибки в разработку.


Фрагмент чек-листа для оценки API

Словарик терминов

Раньше нам казалось, что в сфере онлайн-кредитования все понимают профтермины одинаково, разночтений быть не может. Практика показала, что мы ошибались.

Например, с одним МФО мы по-разному трактовали первичных и повторных клиентов. Для нас первичный клиент — это клиент, анкета которого впервые попала в базу МФО через Finspin, а повторный клиент уже был в базе. Партнер считал повторными клиентов по количеству выданных займов: повторные получили два займа и пришли за третьим. Такая терминологическая путаница могла привести к нестыковкам при финансовых сверках.

Сейчас мы используем небольшой словарик терминов, по которому сверяемся с партнерами. Как правило, достаточно уточнить пять-шесть основных терминов, чтобы синхронизировать представления об интеграции и оценить перспективы совместной работы.

Однажды словарик терминов помог нам избежать невыгодной интеграции. Наша трактовка «одобрения» сильно отличалась от партнерской. У партнера «одобрение» включало в себя много разных аспектов, требующих ручной обработки. Мы же стремимся к максимальной автоматизации, поэтому сразу отказались от сотрудничества.


Уточняем термин “Одобрение”

Сначала бизнес, потом разработка

Раньше были случаи, когда мы начинали работу с потенциальным партнером со спецификации. Наш менеджер получал спецификацию, внимательно ее штудировал, уточнял у партнера детали для интеграции, обсуждали спорные моменты с разработчиками. А потом от руководства прилетало сообщение: «Отбой, интеграция отменяется, не договорились по условиям». Сотрудники впустую потратили время.


Когда передумали, а работа сделана

Сейчас действует железное правило: менеджер приступает к изучению спецификации только тогда, когда получает от руководства однозначное решение об интеграции.

Готовность к интеграции: урлы, реквизиты, окружение

Раньше первое обращение к API партнера происходило во время тестирования нашего приложения, с dev серверов. Часто первые запросы получали ошибки на этапе установки соединения: can not connect to server или просто таймаут. Самые популярные причины:

  • неправильные названия методов (опечатались или перепутали),
  • неверный домен,
  • ошибочные реквизиты подключения,
  • не добавили в white-лист IP наших серверов.

На исправление таких мелких ошибок уходили часы, потому что они шли друг за другом: пока не исправишь одну, не увидишь следующую.

Сейчас, перед тем как взять задачу в план разработки, мы уточняем все особенности обращения к API по небольшому чек-листу. В чек-листе перечислены пункты, которые нужно прояснить, например:

  • ограничения по нагрузке на сервис,
  • количество запросов в единицу времени,
  • реквизиты подключения,
  • white-list по ip-адресам,
  • валидация SSL-сертификата,
  • требования к шифрованию трафика,
  • наличие особых заголовков в запросах,
  • наличие тестового сервера с API или возможности отправлять тестовые запросы на боевой сервер

Если есть тестовое API, мы обязательно узнаем, в чем разница при обращении к боевому серверу и тестовому. Мы учитываем различия при построении запросов от нашего приложения к партнерам в dev и prod окружении. Такие меры помогают нам понять, готова ли системы к нашим запросам или нужны донастройки.

Отправка запросов в API вручную

Раньше мы сразу писали код согласно спецификации партнера, составляли ТЗ, ревьювили, тестировали. А на этапе интеграционных тестов выяснялось, что не все написанное в спецификации соответствует действительности — начиная от формата запросов, заканчивая процессом прохождения заявки.

Например, согласно спеке, при обращении на некий метод мы ожидаем в ответе строку в определенном формате, вешаем обработку на валидность полученного ответа, выходим в тесты, и вдруг получаем в ответе массив. Выясняем причины у разработчиков партнера. Они ссылаются на устаревшую документацию. Снова круг доработок, ревью и тестов.

Сейчас, как только мы получаем документацию и реквизиты подключения, мы прогоняем процесс через API-клиент. Как правило, тестировщик загружает спецификацию в Postman и имитирует полный бизнес-процесс отправки заявки на займ, проверяет самые популярные кейсы с разными наборами данных для запроса. То есть вручную делает то, что потом будет делать приложение.

На этапе ручного прогона вскрывается 80% неточностей в документации. Мы описываем ошибки и передаем партнеру. Партнер либо устраняет неточности у себя, либо дорабатывает спецификацию. В результате к моменту старта работы над кодом разработчики получают рабочую документацию.

Самые популярные расхождения:

  • неверный формат запросов, обещают принимать json, оказалась нужна form-data;
  • ошибки в названиях полей, которые надо передать в запросе;
  • ошибки в форматах полей;
  • не указаны или указаны ошибочно правила валидации полей;
  • могут быть вообще забыты некоторые поля;
  • отсутствуют или отличаются от фактических описания формата ответа метода;
  • ошибочные отметки об обязательности полей — “звездочки” могут стоять там, где поле по факту не обязательное, и наоборот;
  • часто не задокументированы все состояния и статусы, в которых может находиться объект;
  • расхождения между ожидаемыми и получаемыми состояниями объектов. Например, в какой-то момент ждем, что заявка должна находиться в состоянии X — а по API по факту получаем Y.

Рецепт счастья: как избежать ошибок при интеграции по API

Напишите спецификацию по интеграции с вашим сервисом. Мы потратили на разработку спецификации в YAML два дня, зато сейчас экономим десятки часов на доработках и согласованиях.

Если партнер присылает свою спецификацию, проверьте ее по чек-листу. В чек-листе соберите вопросы, на которые нужно обязательно получить ответы. Не полагайтесь на опыт и память, все равно что-нибудь упустите.

Заведите словарик терминов, чтобы избежать разночтений с партнером. Наш опыт показал, что отличия могут быть даже в очевидных терминах.

Не берите задачу в разработку, пока не получите от руководства принципиального одобрения интеграции с партнером. Мысль очевидная, но нам помогает избежать напрасной работы.

Заведите чек-лист для уточнения особенностей обращения к API партнера: реквизиты подключения, white-list, валидация SSL-сертификата, требования к шифрованию трафика и т. д. Сверьтесь по чек-листу как можно раньше, чтобы избежать пробуксовок на финальных этапах.

Получили спецификацию — не спешите сразу писать код. Сперва вручную прогоните процесс через API-клиент, например через Postman. Так вы на раннем этапе и небольшими ресурсами найдете ошибки в спецификации. А они будут.

После обновления типовой конфигурации 1С:ЗУП на релиз Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.18.337) при очередном обменен в рамках типой интеграции с 1С:Документооборот вылезла следующая ошибка:

DMGetChangesRequest

{ОбщийМодуль.ИнтеграцияС1СДокументооборотОбмен.Модуль(428)}: Поле объекта не обнаружено (skipMessages)

Ошибка бесшовной интеграции с 1С:Документооборот
Фрагмент чек-листа для оценки API

Словарик терминов

Раньше нам казалось, что в сфере онлайн-кредитования все понимают профтермины одинаково, разночтений быть не может. Практика показала, что мы ошибались.

Например, с одним МФО мы по-разному трактовали первичных и повторных клиентов. Для нас первичный клиент — это клиент, анкета которого впервые попала в базу МФО через Finspin, а повторный клиент уже был в базе. Партнер считал повторными клиентов по количеству выданных займов: повторные получили два займа и пришли за третьим. Такая терминологическая путаница могла привести к нестыковкам при финансовых сверках.

Сейчас мы используем небольшой словарик терминов, по которому сверяемся с партнерами. Как правило, достаточно уточнить пять-шесть основных терминов, чтобы синхронизировать представления об интеграции и оценить перспективы совместной работы.

Однажды словарик терминов помог нам избежать невыгодной интеграции. Наша трактовка «одобрения» сильно отличалась от партнерской. У партнера «одобрение» включало в себя много разных аспектов, требующих ручной обработки. Мы же стремимся к максимальной автоматизации, поэтому сразу отказались от сотрудничества.


Уточняем термин “Одобрение”

Сначала бизнес, потом разработка

Раньше были случаи, когда мы начинали работу с потенциальным партнером со спецификации. Наш менеджер получал спецификацию, внимательно ее штудировал, уточнял у партнера детали для интеграции, обсуждали спорные моменты с разработчиками. А потом от руководства прилетало сообщение: «Отбой, интеграция отменяется, не договорились по условиям». Сотрудники впустую потратили время.


Когда передумали, а работа сделана

Сейчас действует железное правило: менеджер приступает к изучению спецификации только тогда, когда получает от руководства однозначное решение об интеграции.

Готовность к интеграции: урлы, реквизиты, окружение

Раньше первое обращение к API партнера происходило во время тестирования нашего приложения, с dev серверов. Часто первые запросы получали ошибки на этапе установки соединения: can not connect to server или просто таймаут. Самые популярные причины:

  • неправильные названия методов (опечатались или перепутали),
  • неверный домен,
  • ошибочные реквизиты подключения,
  • не добавили в white-лист IP наших серверов.

На исправление таких мелких ошибок уходили часы, потому что они шли друг за другом: пока не исправишь одну, не увидишь следующую.

Сейчас, перед тем как взять задачу в план разработки, мы уточняем все особенности обращения к API по небольшому чек-листу. В чек-листе перечислены пункты, которые нужно прояснить, например:

  • ограничения по нагрузке на сервис,
  • количество запросов в единицу времени,
  • реквизиты подключения,
  • white-list по ip-адресам,
  • валидация SSL-сертификата,
  • требования к шифрованию трафика,
  • наличие особых заголовков в запросах,
  • наличие тестового сервера с API или возможности отправлять тестовые запросы на боевой сервер

Если есть тестовое API, мы обязательно узнаем, в чем разница при обращении к боевому серверу и тестовому. Мы учитываем различия при построении запросов от нашего приложения к партнерам в dev и prod окружении. Такие меры помогают нам понять, готова ли системы к нашим запросам или нужны донастройки.

Отправка запросов в API вручную

Раньше мы сразу писали код согласно спецификации партнера, составляли ТЗ, ревьювили, тестировали. А на этапе интеграционных тестов выяснялось, что не все написанное в спецификации соответствует действительности — начиная от формата запросов, заканчивая процессом прохождения заявки.

Например, согласно спеке, при обращении на некий метод мы ожидаем в ответе строку в определенном формате, вешаем обработку на валидность полученного ответа, выходим в тесты, и вдруг получаем в ответе массив. Выясняем причины у разработчиков партнера. Они ссылаются на устаревшую документацию. Снова круг доработок, ревью и тестов.

Сейчас, как только мы получаем документацию и реквизиты подключения, мы прогоняем процесс через API-клиент. Как правило, тестировщик загружает спецификацию в Postman и имитирует полный бизнес-процесс отправки заявки на займ, проверяет самые популярные кейсы с разными наборами данных для запроса. То есть вручную делает то, что потом будет делать приложение.

На этапе ручного прогона вскрывается 80% неточностей в документации. Мы описываем ошибки и передаем партнеру. Партнер либо устраняет неточности у себя, либо дорабатывает спецификацию. В результате к моменту старта работы над кодом разработчики получают рабочую документацию.

Самые популярные расхождения:

  • неверный формат запросов, обещают принимать json, оказалась нужна form-data;
  • ошибки в названиях полей, которые надо передать в запросе;
  • ошибки в форматах полей;
  • не указаны или указаны ошибочно правила валидации полей;
  • могут быть вообще забыты некоторые поля;
  • отсутствуют или отличаются от фактических описания формата ответа метода;
  • ошибочные отметки об обязательности полей — “звездочки” могут стоять там, где поле по факту не обязательное, и наоборот;
  • часто не задокументированы все состояния и статусы, в которых может находиться объект;
  • расхождения между ожидаемыми и получаемыми состояниями объектов. Например, в какой-то момент ждем, что заявка должна находиться в состоянии X — а по API по факту получаем Y.

Рецепт счастья: как избежать ошибок при интеграции по API

Напишите спецификацию по интеграции с вашим сервисом. Мы потратили на разработку спецификации в YAML два дня, зато сейчас экономим десятки часов на доработках и согласованиях.

Если партнер присылает свою спецификацию, проверьте ее по чек-листу. В чек-листе соберите вопросы, на которые нужно обязательно получить ответы. Не полагайтесь на опыт и память, все равно что-нибудь упустите.

Заведите словарик терминов, чтобы избежать разночтений с партнером. Наш опыт показал, что отличия могут быть даже в очевидных терминах.

Не берите задачу в разработку, пока не получите от руководства принципиального одобрения интеграции с партнером. Мысль очевидная, но нам помогает избежать напрасной работы.

Заведите чек-лист для уточнения особенностей обращения к API партнера: реквизиты подключения, white-list, валидация SSL-сертификата, требования к шифрованию трафика и т. д. Сверьтесь по чек-листу как можно раньше, чтобы избежать пробуксовок на финальных этапах.

Получили спецификацию — не спешите сразу писать код. Сперва вручную прогоните процесс через API-клиент, например через Postman. Так вы на раннем этапе и небольшими ресурсами найдете ошибки в спецификации. А они будут.

После обновления типовой конфигурации 1С:ЗУП на релиз Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.18.337) при очередном обменен в рамках типой интеграции с 1С:Документооборот вылезла следующая ошибка:

DMGetChangesRequest

{ОбщийМодуль.ИнтеграцияС1СДокументооборотОбмен.Модуль(428)}: Поле объекта не обнаружено (skipMessages)

Ошибка бесшовной интеграции с 1С:Документооборот

Окно записи журнала 1С с ошибкой

Поиск в тексте модуля по указанной в сообщении об ошибке строке привел к следующей конструкции:

ПропускаемыеСообщения = Запрос.skipMessages; // СписокXDTO

Чуть выше была так же обнаружена новая вставка по сравнению с предыдущими релизами:

ПоддерживаетсяПропускСообщенийСОшибкой = ИнтеграцияС1СДокументооборот.ДоступенФункционалВерсииСервиса(«2.1.28.12.CORP»);

То есть фирма 1С обновила программный интерфейс web-сервиса интеграции с 1С:Документооборт и в номом релизе 1С:ЗУП решила его использовать. Однако похоже забыла поставить проверку на то используется ли в конкретном случае новая версия 1С:Документооборт. В нашем случае как раз используется конфигурация 1С:Документооборт релиза 2.1.10.2 и поэтому при обращении к новой фиче происходит ошибка, так как ее просто нет в старой версии сервиса.

Приступаем к исправлению

Добавляем общий модуль ИнтеграцияС1СДокументооборотОбмен в расширение. Делаем вызов исправленной процедуры ПолучитьДанные.

В ней перенесем обращение к новому свойству объекта сервиса в условие с проверкой а доступен ли новый функционал:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

&Вместо(«ПолучитьДанные»)

Процедура маг_ПолучитьДанные()

Попытка

ПоддерживаетсяПропускСообщенийСОшибкой = ИнтеграцияС1СДокументооборот.ДоступенФункционалВерсииСервиса(«2.1.28.12.CORP»);

Пока Не ПрочитаныВсеСообщения Цикл

Запрос = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, «DMGetChangesRequest»);

Запрос.lastMessageID = НомерПоследнегоСообщения;

//В Типовой была здесь и получали ошибку, так как нет проверки на доступность нового функционала

//ПропускаемыеСообщения = Запрос.skipMessages; // СписокXDTO

Если ПоддерживаетсяПропускСообщенийСОшибкой Тогда

//++Наша вставка

ПропускаемыеСообщения = Запрос.skipMessages; // СписокXDTO

//—Наша вставка

Запрос.lastMessageWasReceived = СообщениеБылоПринято;

После этого исправления все заработало как надо. Обмен с интегрированной системой стал проходить без ошибок.

Настройка интеграции магазина и портала Битрикс24

Интегрируем магазин с Битрикс24

Если у вас уже есть CRM от «1С-Битрикс», то вы можете сразу настроить интеграцию на специально для этого созданной странице административного режима Магазин > CRM:

Внимание! Если у вас нет CRM, то вы можете создать аккаунт в «Битрикс24», нажав на этой же странице кнопку Получить CRM в Битрикс24 (бесплатно).

Настройка интеграции

Нажмите кнопку Настроить интеграцию с CRM. В полях

формы настройки




укажите адрес корпоративного портала или «Битрикс24», а также логин и пароль администратора CRM. Уточните

тип протокола




.

В процессе настройки интеграции автоматически создается специальный пользователь (с особыми правами), из-под которого CRM обращается к интернет магазину. Снимите галочку в

опции




Автоматически создать пользователя и настроить права доступа (рекомендуется), чтобы самостоятельно ввести логин и пароль этого пользователя.

После введения всех данных, нажмите Настроить интеграцию. Система проверит параметры синхронизации и страница перезагрузится. В случае успешной интеграции, вы увидите сообщение:

Нажмите кнопку Настроить параметры и импортировать данные. Перейдем к интеграции со стороны CRM, где Мастер настройки автоматически возьмет все

основные данные




. Переходим к

третьему шагу




настройки.

Внимание! Если система выдает ошибку соединения, в поле Адрес интернет-магазина укажите его ip-адрес и не забудьте про порт.

Укажите параметры

первичного импорта

Внимание! Данные параметры будут применены для первого импорта, для регулярного импорта настройки будут производиться на пятом шаге Мастера.


из интернет-магазина:

  • Выбрать данные за последние (дней) — промежуток времени, за который следует импортировать данные в CRM;
  • Вероятность сделок (%) — вероятность успешного завершения

    сделок

    Сделки являются конечной целью и желаемым результатом работы с контактами и фирмами.
    Подробнее в курсе Пользователь корпоративного портала (дизайн Lite)



    из первичного импорта;
  • Ответственный для новых сделок — укажите сотрудника в структуре компании, ответственного за сделки, импортированные из магазина;
  • Сделки доступны для всех — оставьте галочку, если хотите, чтобы сделки по умолчанию были

    открытыми

    О том, как влияет, открыта сделка или нет, на доступ к ней, читайте в курсе Пользователь корпоративного портала (дизайн Lite).


    .

После указания всех настроек запустится первичный импорт. По окончании выведется

статистика




по первому импорту.

Примечание: если заказ в интернет-магазине был оформлен на физическое лицо, то в CRM автоматически создастся контакт, если на юридическое — компания.

Переходим к настройкам параметров

регулярной синхронизации CRM




с интернет-магазином. Отметим те поля, которые еще не рассматривались выше:

  • Частота синхронизации — укажите в минутах промежуток между синхронизациями;
  • Направлять уведомления в группу — выберите группу, в которую направятся сообщения об импорте новых сделок.

Нажмите Далее, появится окно с информацией

об успешной синхронизации




.

Вы можете посмотреть список интеграций и

статистику




по каждой из них на странице административной части Магазин > CRM:

Важно! Интеграция будет невозможна без наличия

английского языка в административном интерфейсе

Управление языками интерфейса системы выполняется на странице Языки интерфейса (Настройки > Настройки продукта > Языковые параметры > Языки интерфейса).
Подробнее…



интернет-магазина и CRM. Это замечание не касается CRM облачного «Битрикс24».

Назад в раздел

Понравилась статья? Поделить с друзьями:
  • Ошибка при интеграции в еис
  • Ошибка при интеграции 1с и сбис
  • Ошибка при инсталяции игры что это
  • Ошибка при инсталляции криптографической сессии
  • Ошибка при инсталляции конфигурации 1с