Интеграция: описание и порядок действий

Введение:

Для осуществления интеграции DMS дилера с Dealer Mobility клиентам необходимо:
  • Использовать Integration сервис (для отправки запросов)
  • Предоставлять свой dms сервис (для получения запросов)

Интеграция с использованием только одного из сервисов временно недоступна.


Доступные методы интеграционного сервиса:


Новости

Опубликовать список новостей PublishNews
Опубликовать новость PublishNewsItem
Удалить новость DeleteNewsItem

Специальные акции

Метод для публикации специальных предложений PublishSpecialAction
Удаление специального предложения DeleteSpecialAction
Метод для публикации персональных предложений PublishPersonalAction
Удаление персональной акции DeletePersonalAction

Справочники

Получение каталога брендов GetBrands
Получение каталога моделей GetModels
Получение каталога модификаций GetModelModifications
Получение списка дилеров GetDealers
Цвета GetColorDictionary
Типы кузова GetBodyTypesDictionary
Проверка доступности платформы CheckAvailability

Заявки

Утвердить заявку на ТО AcceptPlanServiceRequest
Утвердить заявку на сервис AcceptServiceRequest
Утвердить заявку на тестдрайв AcceptTestDriveRequest
Отменить заявку на ТО CancelPlanServiceRequest
Отменить заявку на сервис CancelServiceRequest
Отменить заявку на тестдрайв CancelTestDriveRequest

Сток

Добавить сток авто PublishStockCar
Добавить список сток авто PublishStockCars
Обновить сток авто UpdateStockCar
Удалить сток авто у дилера DeleteStockCar
Добавить сток бу авто PublishStockUsedCar
Добавить список сток бу авто PublishStockUsedCars
Обновить сток бу авто UpdateStockUsedCar
Удалить сток бу авто у дилера DeleteStockUsedCar
Очистить список сток авто для указанного дилера DeleteStockCarAll
Очистить список сток бу авто для указанного дилера DeleteStockUsedCarAll


С чего начать интеграцию?:

Все действия производятся на тестовом сервере: http://dvc.brightbox.ru и его портах.

1) Клиент настраивает DMS-сервис

У клиента должен быть сайт реализованный по описанию DMS сервис: http://dvc.brightbox.ru:8090/dmsservice.svc (тестовый адрес). Сайт должен быть доступен в интернете с basic/certificate/none аутентификацией и использовать протокол http или https.

Клиент сам выбирает уровень безопасности в данном случае (http или https, будет ли аутентификация или нет).

2) Контент-менджер заводит базовые сущности в ПУ Dealer Mobility

Клиент (или контент менеджер) должен завести бренды / модели / модификации и дилеров в ПУ вручную. Управление этими сущностями временно отсутствует в интеграции.

3) Контент-менджер отдает клиенту идентификаторы дилеров

Далее клиенту необходимо получить идентификаторы дилеров. Клиент использует эти идентификаторы для сопоставления дилеров в своей базе данных с дилерами на стороне Bright Box.

Эти идентификаторы необходимо сначала создать в ГПУ:

Dashboard=>Dealers=>Select=>Edit Dealer=>Save

На странице редактирования дилера необходимо обновить страницу, нажав F5 в браузере (обновлять обязательно) и посмотреть поле SourceId - оно и является идентификатором дилера, который нужно сообщить клиенту. Этот же идентификатор можно увидть на странице списка дилеров в ГПУ.

4) Контент-менджер настраивает интеграцию в ГПУ Dealer Mobility

Dashboard=>Подписки=>Select=>(Create) Integration Settings

- Proxy type: GenericDmsServiceProxy

- Int Login / Int Password: Логин / Пароль для входа клиента в интеграционный сервис

- Integration Enabled: Включить

- Login for external service / Password for external service: клиент должен сообщить сотрудникам Bright Box Логин / Пароль для входа в DMS-сервис на стороне клиента.

- Configuration Settings: {"ConnectionString":"%адрес сайта DMS-сервиса клиента%"}

- Поля сертификата (если необходимо)

Клиенту необходимо сообщить Int Login / Int Password. Запросить Логин / Пароль и адрес DMS-сервиса.


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

Клиент должен использовать следующий адрес интеграционнго сервиса для запросов: http://dvc.brightbox.ru:8090/api/v1/publish (тестовый, на production-server используется протокол https).

По этому же адресу можно найти и описание сервиса. Более удобное описание здесь: http://dvc.brightbox.ru:1880/DocsGenerator/CreateIntegrationServiceDescription

Принцип аутентификации описан здесь.

Общий принцип работы интеграции такой:

1. Клиент присылает данные в => integration service
2. Система Dealer Mobility присылает данные в => dms service клиента

3. Клиент присылает изменения в интеграционный сервис по следущим сущностям (клиент => integration service):

  • Новости
  • Акции
  • Заявки
  • Сток

4. Система Dealer Mobility присылает изменения в DMS-сервис по:

  • Заявкам
  • Забираем статусы заказ-нарядов

Для того, чтобы синхронизировать объекты базы клиента и наши объекты, у обеих систем для каждой сущности должен быть "общий" идентификатор.

Например, у объекта Дилер таким идентификатором явлется поле SourceId.

Далее приведена таблица сущностей и их "общих" идентификаторов:


Объект

Возможное название поля идентификатора в запросах интеграции

Указание для клиента

Дилер

Id, DealerId

забрать у контент-менджера

Новость

Id

создавать

Перс. пред-ие

Id

создавать

Спец. пред-ие

Id

создавать

Портерт поль-ля

Id

создавать

Сток авто (бу)

ReferenceNumber

создавать

Заявка TO

Id

брать из запроса к DMS-сервису

Заявка на сервис

Id

брать из запроса к DMS-сервису

Заявка ТД

Id

брать из запроса к DMS-сервису

Пример: при создании новости на стороне клиента он также создает для нее идентификатор, связывает его с новостью (скорее всего как дополнительное поле в базе) и высылает нам в запросах. Этот идентификатор клиент будет использовать для обновления-удаления новости. Аналогично система работает и для других объектов.

Проверить, что объект создался / удалился / изменился после отправки запроса на интеграционный сервис клиент может в ПУ http://dvc.brightbox.ru/

По этому же адресу клиент может изменить заявку, чтобы инициировать отправку запроса на DMS-сервис.


Что учесть клиенту:

1. DMS-сервис клиента может вызываться нашей системой для обновления заявок, которые еще не существуют у него в системе (но уже были у нас). Т.е. в своей реализации DMS-сервиса он должен предусмотреть, что будет присылаться несуществующий идентификатор заявки.

2. "Общие" идентификаторы чаще всего имеют тип Guid

3. Интеграционный сервис валидирует входящие данные и может отдавать ответ в виде ошибки со статусом 400 и текстовым описанием.

4. Клиент временно не может увидеть описание ошибки в случаях когда:

а) Система Dealer Mobility отправила запрос в DMS-сервис, но сервис по какой-либо причине не смог его обработать. В этом случае клиент должен отслеживать любые запросы к его сервису самостоятельно.

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

Эта статья помогла вам?

Сервис поддержки клиентов работает на платформе UserEcho