Ресурсы

Обмен данными

Создание сервисного заказа

При создании или изменении сервисного заказа в системе eVHC автоматически создаются релевантные опросные листы, в соответствии с настройками системы.

PUT /system-clients/(system_client_id)/service-orders/(id)

Передаем JSON объект вида Сервисный заказ

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – ID заказа.

Возвращает статус операции в виде HTTP кода и подробную информацию о проблеме с запросом при её наличии.

Создание анкеты VC и QC

Делаем запрос, как в разделе Создание сервисного заказа. Запрос может быть сделан как на этапе создания заказа, так и после.

PUT /system-clients/(system_client_id)/service-orders/(id)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – ID заказа.

Сервисный заказ должен содержать следующие параметры:

{
  ...
  "technicianSurveyRelease": true,
  "qcSurveyRelease": true,
  ...
}
Request JSON Object:
  • technicianSurveyRelease (boolean) – Флаг указывающий на то, что требуется создать VC анкету.

  • qcSurveyRelease (boolean) – Флаг указывающий на то, что требуется создать QC анкету.

  • defaultSurveyReleaseDisabled (boolean) – Флаг указывающий на то, что не надо создавать анкеты по умолчанию (eVHC).

Для создания только анкеты VC без eVHC передаем следующие параметры:

{
  ...
  "technicianSurveyRelease": true,
  "defaultSurveyReleaseDisabled": true,
  ...
}

Для создания только анкеты QC без eVHC передаем следующие параметры:

{
  ...
  "qcSurveyRelease": true,
  "defaultSurveyReleaseDisabled": true,
  ...
}

Получение данных о сервисном заказе

GET https://api.powervhc.com/v1/system-clients/inchcape/service-orders/D2000000009
#В поле X-API-KEY заголовка запроса указан действительный ключ API
GET /system-clients/(system_client_id)/service-orders/(id)

Возвращает JSON объект вида Сервисный заказ

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – ID заказа.

{
  "branchId": "landrover",
  "closed": false,
  "currency": "RUB",
  "externalBranchId": "5010",
  "externalId": "D2000000009",
  "id": "D2000000009",
  "plannedStartTimestamp": "2016-02-22T05:00:00Z",
  "rejected": false,
  "serviceOrderType": "ZS01",
  "siteId": "musa-center",
  "siteName": "Musa Motors",
  "customer": {
      "category": "person",
      ...
  },
  "serviceAdvisor": {
      "firstName": "Павел",
      "id": "10204",
      "lastName": "Смирнов",
      "middleName": "Владимирович"
  },
  "surveys": [
      {
          "id": "YCPcgeDxvYT3mS5pWqgG",
          "surveyType": "eVHC",
          "templateId": "standard",
          ...
      },
      ...
  ],
  "vehicle": {...},
  "contents": [
      {
          "id": "10",
          "itemCategory": "labour",
          "itemCode": "1234567890",
          "unitOfMeasure": "hour",
          "quantity": 2,
          "amountExVat": 1000,
          "amountIncVat": 1180,
          "soldQuantity": 0,
          "soldAmountExVat": 0,
          "soldAmountIncVat": 0,
          "deferredQuantity": 0,
          "deferredAmountExVat": 0,
          "deferredAmountIncVat": 0,
          "deferralDateTime": "",
          "evhcSurveyId": "",
          "evhcAnswerId": "",
          "evhcPackageId": "",
          "evhcPackageVariantId": ""
      },
      ...
  ],
  ...
}
Response JSON Object:
  • id (string) – Идентификатор заказа. Используется для идентификации заказа в рамках системы eVHC. Присутствует в URL ресурсов. Рекомендуется использовать длиной идентификаторы длиной до 40 символов.

  • externalId (string) – Внешний идентификатор заказа. Используется в пользовательском интерфейсе и для печати форм.

  • serviceOrderType (string) – Тип сервисного заказа в ДМС. Информационное поле без управляющего значения.

  • externalBranchId (string) – Код дилера OEM. Поле является обязательным и определяет привязку заказа к ДЦ.

  • plannedStartTimestamp (string) – Плановая дата начала работ в формате ISO8601.

  • сlosed (boolean) – Флаг указывающий на то, что заказ закрыт. При установке данного флага все связанные анкеты автоматически закрываются.

  • rejected (boolean) – Флаг указывающий на то, что заказ отменен без выполнения работ (например клиент не приехал). Отмененные заказы учитываются в статистике в отдельной графе. При установке данного флага все связанные анкеты автоматически закрываются.

  • parentOrderId (string) – Ссылка на ID основного/вышестоящего заказа. Используется для корректного отображения и учета ситуаций с открытием нескольких сервисных заказов на один визит клиента. Опросный лист создается только по основному заказу. Если поле отсутствует или пусто — заказ считается основным.

  • orderText (string) – Краткий текст заказа. (Отображается в интерфейсах. Может быть использован для передачи заявки клиента.)

  • currency (string) – Код валюты заказа в соответствии с ISO4217. Поле необходимо при передаче любых сумм по заказу.

  • customer (object) – Клиент. Передаётся JSON объект вида Бизнес партнёр.

  • payer (object) – Плательщик. Передаётся JSON объект вида Бизнес партнёр.

  • serviceAdvisor (object) – Мастер-консультант. Передаётся JSON объект вида Персона.

  • vehicle (object) – Автомобиль. Клиент. Передаётся JSON объект вида Автомобиль.

  • surveys (array) – Возвращается список листов проверок по заказу. Формат данных аналогичен интерфейсу Получение списка листов проверок по заказу, однако доступно меньшее число полей.

  • contents (array) – Список позиций заказа в виде списка из JSON объектов Позиция заказа.

Получение списка листов проверок по заказу

Данный интерфейс позволяет получить список опросных листов по заказу в виде списка из JSON объектов Лист проверок (в данном интерфейсе передаются только некоторые поля заголовка листа проверок). По одному заказу может существовать и возвращаться более одного листа проверок.

GET /system-clients/(system_client_id)/service-orders/(id)/surveys
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – ID заказа.

Query Parameters:
Response JSON Array of Objects:
  • Survey – Формат данных описан разделе Лист проверок (в данном интерфейсе передаются только некотрые поля заголовка листа проверок).

Пример. Следующий запрос вернёт все чеклисты для заказа с идентификатором 2000001011 и типом опросного листа eVHC (данный тип опросного листа по используется по умолчанию для проверок eVHC):

$ curl -v -H "X-API-KEY: 70QVm7hf8owpaM-0kYQLyzwiXLIO_1yVHYn3GiVD7L8" https://api.powervhc.com/v1/system-clients/1/service-orders/2000001011/surveys?survey-type=eVHC
[
  {
      "id": "q1n8G8UF7iQxHPb0YLY7",
      "surveyType": "eVHC",
      "externalBranchId": "5010",
      "completed": false,
      "closed": false,
      "currency": "RUB",
      "plannedStartTimestamp": "2015-12-30T09:00:00Z",
      "customer": {BusinessPartner},
      "requester": {BusinessPartner},
      "surveyObject": {...},
      "referenceObject": {...},
      ...
  },
  ...
]

Получение листа проверок

Данный интерфейс позволяет получить полную информацию по листу проверок. Формат данных описан разделе Лист проверок.

Пример просмотра информации о Листе проверок по его идентификатору:

GET https://api.powervhc.com/v1/system-clients/inchcape/surveys/q1n8G8UF7iQxHPb0YLY7
#В поле X-API-KEY заголовка запроса указан действительный ключ API
GET /system-clients/(system_client_id)/surveys/(id)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор листа проверок.

Пример листа проверок:

{
  "id": "q1n8G8UF7iQxHPb0YLY7",
  "externalId": "D2000000001",
  "externalBranchId": "5010",
  "serviceOrderType": "ZS01",
  "closed": false,
  "currency":"RUB",
  "plannedStartTimestamp": "2015-12-30T09:00:00Z",
  "serviceAdvisor": {
      "category": "person",
      "id": "10204",
      "firstName": "Павел",
      "middleName": "Владимирович",
      "lastName": "Смирнов"
  },
  "customer": {
      "category": "person",
      "id": "10302",
      "firstName": "Василий",
      "middleName": "Андреевич",
      "lastName": "Сидоров",
      "landline": "+7(495)123-12-13",
      "mobilePhone": "+7(916)123-11-42",
      "address": "123300, г.Москва, ул. Ленина, д.1",
      "email": "some@email.com"
  },
  "vehicle": {
      "vin": "VIN45678901234111",
      "numberPlate": "C711AC 177",
      "numberPlateCountry": "RU",
      "make": "Land Rover",
      "modelCode": "L550",
      "engineCapacity": 2.0,
      "modelYear": 2015,
      "fuelType": "petrol",
      "model": "Discovery Sport",
      "engineType": "2.0SC",
      "engineNumber": "432314",
      "gearboxType": "6 HP ZF",
      "colour": "Зеленый",
      "recordedMileage": 12345.6,
      "mileageUnit": "km",
      "warrantyEndDate": "2016-10-30",
      "owner": {
          "category": "person",
          "id": "10302",
          "firstName": "Василий",
          "middleName": "Андреевич",
          "lastName": "Сидоров",
          "landline": "+7(495)123-32-23",
          "mobilePhone": "+7(916)123-32-42",
          "address": "123300, г.Москва, ул. Ленина, д.1",
          "email": "some@email.com"
      }
  },
  "contents": [
      {
          "category": "section",
          "allowSelectAll": false,
          "contents": [
              {
                  "category": "question",
                  "answerCategory": "textAndComment",
                  "answerSigned": false,
                  "answerVideoMandatory": false,
                  "answers": [
                      {
                          "custom": false,
                          "default": false,
                          "id": "OK",
                          "markColour": 0,
                          "photosAllowed": false,
                          "selected": true,
                          "status": "green",
                          "value": "OK",
                          "videoMandatory": false
                      },
                      ...
                  ],
                  "clientSettings": false,
                  "fastAnswer": "OK",
                  "id": "installSeatCover",
                  "mandatory": true,
                  "multipleValueAnswer": true,
                  "photosAllowed": false,
                  "questionCategory": "valueSelection",
                  "stickyAnswers": false,
                  "text": "Установить защитные чехлы на сиденье/руль/рычаг КПП",
                  "videoAllowed": false,
                  "visible": true
              },
              ...
          ],
          ...
      },
      ...
  ],
  ...
}

Добавление ответа

Лист проверок должен быть не завершен.

POST /system-clients/(system_client_id)/surveys/(survey_id)/questions/(question_id)/answers

Передаем JSON объект вида Ответ.

Parameters:
  • system_client_id – идентификатор системного клиента;

  • survey_id – идентификатор листа проверок;

  • question_id – идентификатор вопроса.

Status Codes:

Пример:

{
  "value": "Название неисправности",
  "status": "amber",
  "comment": "Внутренний комментарий",
  "selected": true
}
Request JSON Object:
  • value (string) – Значение ответа (текст).

  • status (string) – Статус. Одно из значений: "green", "amber" или "red".

  • comment (string) – Внутренний комментарий к ответу.

  • selected (boolean) – Ответ выбран. Поле указывает, что данный ответ является действительным.

Редактирование ответа

Редактировать возможно только ответы, у которых значение поля "custom" = true. Лист проверок должен быть не завершен.

PUT /system-clients/(system_client_id)/surveys/(survey_id)/questions/(question_id)/answers/(answer_id)

Передаем JSON объект вида Ответ.

Parameters:
  • system_client_id – идентификатор системного клиента;

  • survey_id – идентификатор листа проверок;

  • question_id – идентификатор вопроса;

  • answer_id – идентификатор ответа.

Status Codes:

Удаление ответа

Удалить возможно только ответы, у которых значение поля "custom" = true. Лист проверок должен быть не завершен.

DELETE /system-clients/(system_client_id)/surveys/(survey_id)/questions/(question_id)/answers/(answer_id)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • survey_id – идентификатор листа проверок;

  • question_id – идентификатор вопроса;

  • answer_id – идентификатор ответа.

Status Codes:

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

Данный интерфейс позволяет получить выходные формы подготовленные системой eVHC в формате PDF. Возвращается документ в формате PDF.

GET /system-clients/(system_client_id)/surveys/(id)/pdf-forms/(form)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор листа проверок.

  • form – тип формы. Принимает значения: survey-summary для листа с результатами проверки; handover-act для акта приема-передачи; handover-pack для акта и результатов проверки в одном PDF документе; damage-report для получения рисунка автомобиля с отметками повреждений.

Status Codes:
  • 200 OK – Операция успешна. В теле ответа содержится запрашиваемый PDF документ.

Пример получения PDF формы листа с результатами проверки:

GET https://api.powervhc.com/v1/system-clients/inchcape/surveys/C464ImPi4NCl6ATpnuo9/pdf-forms/survey-summary
#В поле X-API-KEY заголовка запроса указан действительный ключ API

Ответ от сервера содержит код статуса HTTP 200 OK (поле Status на скриншотах). В теле ответа содержится запрашиваемый PDF документ.

Получение файлов с повреждениями

Данный интерфейс позволяет получить рисунок автомобиля с отметками повреждений в формате PDF.

GET /system-clients/(system_client_id)/surveys/(id)/pdf-forms/damage-report
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор листа проверок.

Status Codes:
  • 200 OK – Операция успешна. В теле ответа содержится запрашиваемый PDF документ.

Получение предложения для клиента по проверке

Данный интерфейс позволяет получать предложение для клиента по идентификатору. Формате возвращаемых данных описан разделе Предложение для клиента.

GET /system-clients/(system_client_id)/surveys/(id)/quotes/(quote_id)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор листа проверок.

  • quote_id – идентификатор предложения для клиента.

Status Codes:
  • 200 OK – Операция успешна.

Пример списка предложений:

{
  "id": "RubberMats-quote",
  "category": "quote",
  "description": "Резиновые коврики в салон",
  "currency": "RUB",
  "questionId": "floorMats",
  "answerId": "floorMatsAbsent",
  "packageId": "floorMats",
  "variantId": "L494",
  "approvalStatus": "approved",
  "approvalMedium": "customerPortal",
  "approvalDate": "2017-10-05T16:30:40Z",
  "contents": [
      {
          "id": "1",
          "description": "Резиновые коврики – установка",
          "itemCategory": "labour",
          "itemCode": "06.10.36",
          "amountExVat": 406.78,
          "amountIncVat": 480.0,
          "quantity": 0.1,
          "unitOfMeasure": "hour"
      },
      {
          "id": "2",
          "description": "Резиновые коврики",
          "itemCategory": "material",
          "itemCode": "LR002483",
          "amountExVat": 2406.78,
          "amountIncVat": 2880.0,
          "quantity": 1,
          "unitOfMeasure": "ea"
      }
  ]
}

Получение списка предложений для клиента по проверке

Данный интерфейс позволяет получить список всех предложений для клиента по проверке. В данный список включаются все выбранные в анкете пакеты. Формат данных описан разделе Предложение для клиента.

GET /system-clients/(system_client_id)/surveys/(id)/quotes
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор листа проверок.

Status Codes:
  • 200 OK – Операция успешна. В теле ответа содержится запрашиваемый список предложений для клиента по проверке.

Создание и обновление предложений для клиента по проверке

Данный интерфейс позволяет создавать и обновлять предложения для клиента по проверке. В теле запроса необходимо передать предложение в формате описаном разделе Предложение для клиента. Предложения сформированные на основе пакетов изменяются через данный интерфейс нельзя, для из изменения необходимо создать новое предложение со ссылкой на исходный пакет (category - "quote" с заполненными полями packageId и variantId). Новое предложение заменит собой пакет в анкете; исходный пакет станет неактивным.

PUT /system-clients/(system_client_id)/surveys/(id)/quotes/(quote_id)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор листа проверок.

  • quote_id – идентификатор предложения для клиента.

Status Codes:
  • 200 OK – Операция успешна.

Пример передаваемого JSON объекта:

{
  "id": "_d86e64c-quotes",
  "category": "quote",
  "description": "Замена лобового стекла",
  "currency": "RUB",
  "questionId": "videoCapture",
  "answerId": "_d86e64c",
  "contents": [
      {
          "id": "1",
          "description": "Лобовое стекло - Замена",
          "itemCategory": "labour",
          "itemCode": "12.60.26",
          "amountExVat": 10000.0,
          "amountIncVat": 11800.0,
          "quantity": 6.7,
          "unitOfMeasure": "hour"
      },
      {
          "id": "2",
          "description": "Лобовое стекло LR",
          "itemCategory": "material",
          "itemCode": "C3324157",
          "amountExVat": 11864.0,
          "amountIncVat": 13999.52,
          "quantity": 1,
          "unitOfMeasure": "ea"
      }
  ]
}

Примечание

Поля currency, amountExVat и amountIncVat необходимы для корректного расчета статистики.

Удаление предложения для клиента по проверке

DELETE /system-clients/(system_client_id)/surveys/(id)/quotes/(quote_id)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор листа проверок.

  • quote_id – идентификатор предложения для клиента.

Status Codes:
  • 200 OK – Операция успешна.

Получение фотографий

Данный интерфейс позволяет получить фотографию, привязанную к опросному листу.

GET /system-clients/(system_client_id)/surveys/(survey_id)/photos/(photo_id)/(thumbnail_size)

Требуется обрабатывать перенаправления на новый URL-адрес.

Parameters:
  • system_client_id – идентификатор системного клиента;

  • survey_id – идентификатор листа проверок;

  • photo_id – Id фотографии;

  • thumbnail_size – размер фото. Принимает значения: [small-square, medium-square, small, medium, large, huge]. Если thumbnail_size не указан - фотография передается без дополнительной компрессии.

Таблица размеров:

thumbnail_size

ШxВ, px

small-square

90x90

crop to square

medium-square

160x160

crop to square

small

160x160

keep aspect ratio

medium

320x320

keep aspect ratio

large

640x640

keep aspect ratio

huge

1024x1024

keep aspect ratio

Существующие значения photo_id содержатся в данных опросного листа, поле photos (в зависимости от того, к чему привязана фотография): опросного листа, вопроса, ответа

Примечание

Id фотографии уникален в рамках опросного листа.

Пример:

GET https://api.powervhc.com/v1/system-clients/inchcape/surveys/q1n8G8UF7iQxHPb0YLY7/photos/201609021023/small-square
#В поле X-API-KEY заголовка запроса указан действительный ключ API

Получение списка пакетов

Данный ресурс позволяет получить список пакетов доступных в программе eVHC. Формат возвращаемых данных описан в разделе Пакет (в данном интерфейсе передаются только некотрые поля заголовка пакета).

GET /system-clients/(system_client_id)/packages
Parameters:
  • system_client_id – идентификатор системного клиента;

Response JSON Array of Objects:
  • Package – Формат данных описан разделе Пакет (в данном интерфейсе передаются только некотрые поля заголовка пакета).

Пример получения списка пакетов ведущихся централизованно:

GET https://api.powervhc.com/v1/system-clients/inchcape/packages
#В поле X-API-KEY заголовка запроса указан действительный ключ API
[
  {
      "id": "RadiatorWash",
      "masterClient": "inchcape",
      "description": "Мойка радиаторов"
  },
  {
      "id": "LuggageNet",
      "masterClient": "inchcape",
      "description": "Сетка крепления багажа на пол"
  },
  {
      "id": "FrontMudGuards",
      "masterClient": "inchcape",
      "description": "Брызговики передние"
  },
  ...
]

Ответ от сервера содержит код статуса HTTP 200 OK и список доступных пакетов (состоящих из id пакета, клиента в котором ведется пакет и описания пакета):

Получение пакета

Данный ресурс позволяет получить полную информацию по пакету, используемому в программе eVHC. Формат возвращаемых данных описан в разделе Пакет.

GET /system-clients/(system_client_id)/packages/(id)

Возвращает JSON объект вида Пакет с дополнительными полями

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор пакета.

GET /system-clients/(system_client_id)/packages/(id)/master

Возвращает JSON объект вида Пакет без дополнений

Пример получения информации о пакете:

GET https://api.powervhc.com/v1/system-clients/inchcape/packages/FrontMudGuards
#В поле X-API-KEY заголовка запроса указан действительный ключ API
#Ответ от сервера содержит код статуса HTTP 200 OK и содержание пакета.

Создание и изменение пакета

Данный ресурс позволяет создавать или изменять пакеты используемые в программе eVHC. Формат принимаемых данных описан в разделе Пакет.

PUT /system-clients/(system_client_id)/packages/(id)

Передается JSON объект вида Пакет

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор пакета. В идентификаторе пакета созданного самостоятельно недопустимо использовать символ !, данный символ присутствует в идентификаторах пакетов ведущихся централизованно.

Пример отправки пакета (для создания или изменения):

PUT https://api.powervhc.com/v1/system-clients/inchcape/packages/customFilterPackage
#В поле X-API-KEY заголовка запроса указан действительный ключ API

В теле запроса:

{
  "description": "Фильтр салона",
  "currency": "RUB", //обязательно для собственного пакета
  "variants": [
      {
          "contents": [
              {
                  "description": "Фильтр салона - замена",
                  "id": "1",
                  "itemCategory": "labour",
                  "labourCode": "80.15.42",
                  "quantity": 0.1,
                  "unitOfMeasure": "hour",
                  "amountExVat": 500, //обязательно для собственного пакета
                  "amountIncVat": 590 //обязательно для собственного пакета
              },
              {
                  "description": "Фильтр салона",
                  "id": "2",
                  "itemCategory": "material",
                  "materialNumber": "LR056138",
                  "quantity": 1,
                  "unitOfMeasure": "ea",
                  "amountExVat": 1000, //обязательно для собственного пакета
                  "amountIncVat": 1180 //обязательно для собственного пакета
              }
          ],
          "description": "Freelander 2",
          "id": "1",
          "longText": "",
          "modelCodeApplicabilityList": [
              "L359"
          ]
      },
      {
          "contents": [
              {
                  "description": "Фильтр салона - замена",
                  "id": "1",
                  "itemCategory": "labour",
                  "labourCode": "80.15.42",
                  "quantity": 0.1,
                  "unitOfMeasure": "hour",
                  "amountExVat": 500, //обязательно для собственного пакета
                  "amountIncVat": 590 //обязательно для собственного пакета
              },
              {
                  "description": "Фильтр салона",
                  "id": "2",
                  "itemCategory": "material",
                  "materialNumber": "LR023977",
                  "quantity": 1,
                  "unitOfMeasure": "ea",
                  "amountExVat": 1200, //обязательно для собственного пакета
                  "amountIncVat": 1416 //обязательно для собственного пакета
              }
          ],
          "description": "Discovery / RR Sport",
          "id": "2",
          "longText": "",
          "modelCodeApplicabilityList": [
              "L319",
              "L320"
          ]
      }
  ]
}

Внимание

Пакеты ведущиеся централизованно изменять нельзя, для таких пакетов доступен только метод GET. Для определения цен по таким пакетам используется отдельный интерфейс Задание цен для централизованных пакетов

Задание цен для централизованных пакетов

Данный ресурс позволяет задавать цены для позиций вариантов пакета.

Цены на уровне вариантов пакета и пакетов обновляются автоматически исходя из сумм, переданных по позициям.

PUT /system-clients/(system_client_id)/packages/(id)/prices

Передаем JSON объект вида Пакет

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор пакета.

Примечание

Используются только цены на уровне позиций (amountExVat и amountIncVat), идентификаторы и поле currency, остальные поля игнорируются. Все 3 поля необходимы для корректного расчета статистики.

Пример передаваемого JSON объекта:

{
  "id": "идентификатор пакета",
  "currency": "RUB",
  "variants": [
      {
          "id": "идентификатор варианта пакета",
          "contents": [
              {
                  "id": "идентификатор позиции варианта пакета",
                  "amountExVat": 1000,
                  "amountIncVat": 1180
              },
              ...
          ]
      },
      ...
  ]
}

Пример отправки информации о пакете с измененной ценой:

PUT https://api.powervhc.com/v1/system-clients/inchcape/packages/radiatorWash/prices
#В поле X-API-KEY заголовка запроса указан действительный ключ API

Примечание

Для обновления цен в eVHC обычно применяется следующая последовательность операций периодически выполняющаяся на стороне DMS:

  1. Получить список доступных пакетов запросом GET /system-clients/(system_client_id)/packages/

  2. Для каждого пакета:

  • получить его содержание запросом GET /system-clients/(system_client_id)/packages/(id)/master;

  • рассчитать цены для всех вариантов пакета на основании данных DMS;

  • передать цены по позициям в eVHC запросом PUT /system-clients/(system_client_id)/packages/(id)/prices

Получение списка шаблонов анкет

GET /system-clients/(system_client_id)/survey-templates

Возвращает список JSON объектов

Parameters:
  • system_client_id – идентификатор системного клиента;

Response JSON Array of Objects:
  • id (string) – Идентификатор шаблона. Для централизованных шаблонов JLR id будет начинаться с jlr! и masterClientId равен "jlr";

  • text (string) – Название шаблона;

  • masterClientId (string) – Идентификатор системного клиента, в котором задан шаблон.

Пример получения списка шаблонов анкет:

GET https://api.powervhc.com/v1/system-clients/inchcape/survey-templates
#В поле X-API-KEY заголовка запроса указан действительный ключ API
[
  {
      "id": "jlr!jlr-standard",
      "text": "Диагностическая карта",
      "masterClientId": "jlr"
  },
  ...
]

Получение шаблона анкеты

Данный ресурс позволяет получить полную информацию по шаблону анкеты (листа проверок). Формат возвращаемых данных описан в разделе Лист проверок.

GET /system-clients/(system_client_id)/survey-templates/(id)

Возвращает JSON объект вида Лист проверок

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор шаблона.

Пример получения информации о шаблоне анкеты с id jlr!jlr-standard:

GET https://api.powervhc.com/v1/system-clients/inchcape/survey-templates/jlr!jlr-standard
#В поле X-API-KEY заголовка запроса указан действительный ключ API
#Ответ от сервера содержит код статуса HTTP 200 OK и содержание шаблона анкеты.

Привязка пакетов к анкетам

Данный ресурс позволяет привязать/отвязать собсвенные пакеты к ответам шаблона анкеты.

Внимание

Данный API временный и может поменяться.

PUT /system-clients/(system_client_id)/survey-templates/(id)/package-assignment

Передаем список инструкций в виде JSON объектов

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор шаблона анкеты.

Request JSON Array of Objects:
  • questionId (string) – Идентификатор вопроса;

  • answerId (string) – Идентификатор ответа;

  • packageIds (array) – Список идентификаторов пакетов;

  • siteId (string) – (Опционно) Индентификатор Дилерского центра. Задается для органичения применимости пакетов только к анкетам дилера с заданным siteId;

  • branchId (string) – (Опционно) Индентификатор Кода дилера. Задается совместно с siteId для органичения применимости пакетов только к анкетам дилера с заданными siteId и branchId.

Пример привязки пакетов к шаблону анкеты с id jlr!jlr-standard:

PUT https://api.powervhc.com/v1/system-clients/inchcape/survey-templates/jlr!jlr-standard
#В поле X-API-KEY заголовка запроса указан действительный ключ API

В теле запроса:

[
  {
      "answerId": "diagnostics",
      "packageIds": [
          "jlr!CabinAirFilter"
      ],
      "questionId": "fluidLeaks",
      "siteId": "musa-center"
  },
  {
      "answerId": "diagnostics",
      "branchId": "landrover",
      "packageIds": [
          "101001"
      ],
      "questionId": "fluidLeaks",
      "siteId": "musa-east"
  }
]

Получение информации о привязанных пакетах к анкетам

Данный ресурс позволяет получить информации о привязанных к шаблону анкеты пакетах.

Внимание

Данный API временный и может поменяться.

GET /system-clients/(system_client_id)/survey-templates/(id)/package-assignment

Возвращает список инструкций в виде JSON объектов

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – идентификатор шаблона анкеты.

Response JSON Array of Objects:
  • questionId (string) – Идентификатор вопроса;

  • answerId (string) – Идентификатор ответа;

  • packageIds (array) – Список идентификаторов пакетов;

  • siteId (string) – (Опционно) Индентификатор Дилерского центра, к которому применима данная инструкция;

  • branchId (string) – (Опционно) Индентификатор Кода дилера, к которому применима данная инструкция.

Пример получения информации о привязки пакетов к шаблону анкеты с id jlr!jlr-standard:

GET https://api.powervhc.com/v1/system-clients/inchcape/survey-templates/jlr!jlr-standard
#В поле X-API-KEY заголовка запроса указан действительный ключ API
[
  {
      "answerId": "diagnostics",
      "packageIds": [
          "jlr!CabinAirFilter"
      ],
      "questionId": "fluidLeaks",
      "siteId": "musa-center"
  },
  {
      "answerId": "diagnostics",
      "branchId": "landrover",
      "packageIds": [
          "101001"
      ],
      "questionId": "fluidLeaks",
      "siteId": "musa-east"
  }
]

Получение информации по АМ

Данный ресурс позволяет получить общую информацию по АМ

GET /system-clients/(system_client_id)/vehicle-info/(VIN)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • VIN – VIN автомобиля.

Возвращает JSON объект вида Информация об АМ

Пример получения информации об АМ по VIN:

GET https://api.powervhc.com/v1/system-clients/inchcape/vehicle-info/SALGA2HF7EA185593
#В поле X-API-KEY заголовка запроса указан действительный ключ API

Ответ сервера:

{
  "airIntakeType": "Turbo SC",
  "colour": "Loire Blue",
  "engineCapacity": 4.4,
  "engineType": "4.4 Litre SDV8 Diesel",
  "fuelType": "diesel",
  "gearboxType": "Auto 8 Speed Trans ZF 8H70",
  "make": "Land Rover",
  "model": "Range Rover L405 4.4 Litre SDV8 Diesel Vogue",
  "modelCode": "L405",
  "modelYear": 2014,
  "vin": "SALGA2HF7EA185593"
}

Примечание

Данный интерфейс не предназначен для массового запроса данных по всем АМ. Существуют автоматические ограничения на частоту запросов. В случае превышения максимально допустимой частоты запросов сервер ответит кодом 429 Too Many Requests.

Получение скорректированного email/телефона

В системе есть возможно изменять данные клиента. Для получения скорректированного email или мобильного телефона требуется:

  1. Получить с сервера Лист проверок (см. Получение листа проверок)

  2. Найти поле modifiedEmail или modifiedMobilePhone в объектах, хранящих информацию о клиенте:

  • customer

  • driver в surveyObject

  • owner в surveyObject

Webhook на отправку сообщений

Webhook – механизм получения уведомлений об определённых событиях.

В PowerVHC есть webhook, который вывзывается каждый раз при отправке сообщений клиенту. Данный webhook вызывается для 2 типов событий: отправка результов eVHC проверки, отправка видео-результатов проверки (VC). Если при отправке сообщения возникли ошибки, webhook не будет вызван.

Для использования достаточно прописать в настройках организации URL ресурса, на который будет отправляться PUT-запрос и X-Api-Key - ключ авторизации на указанном ресурсе. Необходимые настройки можно сделать через службу технической поддержки support@powervhc.com.

PowerVHC посылает хук методом PUT с JSON-объектом в теле запроса вида Информация об отправке:

PUT (resource_url)/(id)
Parameters:
  • resource_url – URL ресурса;

  • id – Уникальный идентификатор сообщения.

Status Codes:

Пример содержания запроса:

{
  "id": "bc91148ff3ddab8a59fe168a4de86534", //Уникальный идентификатор сообщения
  "systemClientId": "inchcape-test", //Идентификатор системного клиента
  "referenceObjectCategory": "serviceOrder", //Категория ссылочного объекта
  "referenceObjectId": "test-output", //ID ссылочного объекта
  "surveyId": "LYBh0iea897T3nvnwyzO", //Идентификатор опросного листа
  "outputId": "jEDz0f", //Идентификатор сообщения в опросном листе
  "outputCategory": "sms", //Способ отправки сообщения
  "outputType": "vcApproval", //Тип сообщения для видео-результатов проверки (VC)
  "outputTimestamp": "2018-10-04T12:25:28Z", //Дата отправки сообщения в формате ISO8601.
  "destinations": [ //Получатели сообщения
     {
        "address": "+7(926)111-11-11", //Адрес отправки сообщения
        "id": "1",
        "name": "Иванов Иван Иванович", //Наименование получателя
        "sourcePartnerType": "customer", //Тип получателя
        ...
     }
  ],
  "linkUrl": "https://vhc.re/GIAqdbwCkK-RLBIGN3L6pA", //URL ссылки для просмотра результатов проверки.
  "linkValidUntil": "2018-12-04T12:25:28Z", //Дата завершения действия ссылки в формате ISO8601.
  "vin": "SALGA2HF7EA185593", // VIN автомобиля
  "customer": { //Клиент
     "category": "person", //Персона
     "address": "123300, г.Москва, ул. Ленина, д.1", //Почтовый адрес
     "email": "test@gmail.com", //E-mail
     "firstName": "Иван", //Имя
     "gender": "male",
     "id": "10302D", //Идентификатор клиента в ДМС
     "landline": "+7(495)123-22-22", //Стационарный телефон
     "lastName": "Иванов", //Фамилия
     "middleName": "Иванович", //Отчество
     "mobilePhone": "+7(911)111-11-11", //Мобильный телефон
     "modifiedMobilePhone": "+7(926)111-11-11" //Мобильный телефон, заданный в системе PowerVHC
  },
  "owner": { //Владелец АМ
     "category": "person",
     "address": "123300, г.Москва, ул. Ленина, д.1",
     "email": "test@gmail.com",
     "firstName": "Иван",
     "gender": "male",
     "id": "10302D",
     "landline": "+7(495)123-22-22",
     "lastName": "Иванов",
     "middleName": "Иванович",
     "mobilePhone": "+7(911)111-11-11"
  },
  "driver": { //Водитель/Доверенное лицо
     "address": "123300, г.Москва, ул. Ленина, д.1",
     "email": "test@gmail.com",
     "firstName": "Иван",
     "gender": "male",
     "id": "10302D",
     "landline": "+7(495)123-22-22",
     "lastName": "Иванов",
     "middleName": "Иванович",
     "mobilePhone": "+7(911)111-11-11"
  }
}

Принимающий хуки скрипт в случае успеха должен отвечать http-кодом 2XX. При получении кода ошибки попытка отправки данных считается неудачной.

В таких случаях запрос будет отправлен на этот же адрес с теми же данными через 10 минут. После 5 попыток отправки запрос будет удалён из очереди, даже если доставка так и не состоялась.

Создание потенциального клиента

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

PUT /system-clients/(system_client_id)/leads/(id)

Передаем JSON объект вида Запрос на обзор для клиента

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – ID потенциального клиента (запроса на обзор для клиента).

Возвращает статус операции в виде HTTP кода и подробную информацию о проблеме с запросом при её наличии.

Создание анкеты CVR

Делаем запрос, как в разделе Создание потенциального клиента. Запрос может быть сделан как на этапе создания потенциального клиента, так и после.

PUT /system-clients/(system_client_id)/leads/(id)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – ID потенциального клиента (запроса на обзор для клиента).

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

{
  ...
  "reviewSurveyRelease": true,
  ...
}
Request JSON Object:
  • reviewSurveyRelease (boolean) – Флаг указывающий на то, что требуется создать CVR анкету.

Получение данных потенциального клиента

GET /system-clients/(system_client_id)/leads/(id)

Возвращает JSON объект вида Запрос на обзор для клиента

Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – ID потенциального клиента (запроса на обзор для клиента).

Получение списка видеообзоров по потенциальному клиенту

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

GET /system-clients/(system_client_id)/leads/(id)/surveys
Parameters:
  • system_client_id – идентификатор системного клиента;

  • id – ID потенциального клиента (запроса на обзор для клиента).

Response JSON Array of Objects:
  • Survey – Формат данных описан разделе Лист проверок (в данном интерфейсе передаются только некотрые поля заголовка листа проверок).

Получение списка потенциальных клиентов

Данный интерфейс позволяет получить список потенциальных клиентов в виде списка из JSON объектов Запрос на обзор для клиента (в данном интерфейсе передается только краткая информация).

GET /system-clients/(system_client_id)/leads
Parameters:
  • system_client_id – идентификатор системного клиента;

Query Parameters:
  • dateFrom (string) – dateFrom <= plannedStartTimestamp;

  • dateTo (string) – dateTo >= plannedStartTimestamp;

  • branch (string) – Код дилера. Можно задать несколько кодов дилера: branch=R2020&branch=R2021&branch=R2022;

  • list (string) – принимает значение "outstanding", если требуется вывести только активных потенциальных клиентов, для которых поле "closed"=false.

Response JSON Array of Objects:

Редактирование данных о сделке с клиентом

Данные о всех сделках с клиентом можно передать через интерфейс Создание потенциального клиента.

Добавить или изменить данные о конкретной сделке можно через следующий запрос:

PUT /system-clients/(system_client_id)/leads/(lead_id)/deals/(id)

Передаем JSON объект вида Сделка

Parameters:
  • system_client_id – идентификатор системного клиента;

  • lead_id – ID потенциального клиента (запроса на обзор для клиента);

  • id – ID сделки.

Status Codes:
  • 200 OK – Операция успешна.

Удаление данных о сделке с клиентом

DELETE /system-clients/(system_client_id)/leads/(lead_id)/deals/(id)
Parameters:
  • system_client_id – идентификатор системного клиента;

  • lead_id – ID потенциального клиента (запроса на обзор для клиента);

  • id – ID сделки.

Status Codes:

Описание форматов передаваемых данных

Единицы измерения

Код (возвращаемое значение)

Принимаемое значение (если отличается)

Описание

mm

мм

m

м

km

км

mi

мили

mi

mile

мили

in

дюймы

in

inch

дюймы

%

проценты

hour

часы

hour

hr

часы

ea

штуки

ea

pc

штуки

pac

пачки

l

литры

l

liter

литры

ml

мл

kg

кг

g

граммы

Cel

°C

Fa

°F

K

°Кельвина

Сервисный заказ

ServiceOrder
Object Properties:
  • id (string) – Идентификатор заказа. Используется для идентификации заказа в рамках системы eVHC. Присутствует в URL ресурсов. Рекомендуется использовать длинные идентификаторы длиной до 40 символов.

  • externalId (string) – Внешний идентификатор заказа. Используется в пользовательском интерфейсе и для печати форм.

  • serviceOrderType (string) – Тип сервисного заказа в ДМС. Информационное поле без управляющего значения.

  • externalBranchId (string) – Код дилера OEM. Поле является обязательным и определяет привязку заказа к ДЦ.

  • departmentId (string) – Идентификатор отдела.

  • plannedStartTimestamp (string) – Плановая дата начала работ в формате ISO8601.

  • сlosed (boolean) – Флаг указывающий на то, что заказ закрыт. При установке данного флага все связанные анкеты автоматически закрываются.

  • rejected (boolean) – Флаг указывающий на то, что заказ отменен без выполнения работ (например клиент не приехал). Отмененные заказы учитываются в статистике в отдельной графе. При установке данного флага все связанные анкеты автоматически закрываются.

  • parentOrderId (string) – Ссылка на ID основного/вышестоящего заказа. Используется для корректного отображения и учета ситуаций с открытием нескольких сервисных заказов на один визит клиента. Опросный лист создается только по основному заказу. Если поле отсутствует или пусто — заказ считается основным.

  • description (string) – Краткий текст заказа. (Отображается в интерфейсах. Может быть использован для передачи заявки клиента.)

  • currency (string) – Код валюты заказа в соответствии с ISO4217. Поле необходимо при передаче любых сумм по заказу.

  • customer (object) – Клиент. Передаётся JSON объект вида Бизнес партнёр.

  • payer (object) – Плательщик. Передаётся JSON объект вида Бизнес партнёр.

  • serviceAdvisor (object) – Мастер-консультант. Передаётся JSON объект вида Персона.

  • technicians (array) – Список механиков (для проверок QC). Передаётся в виде списка JSON объектов Персона.

  • technician (object) – Механик (плановый проверяющий для VC). Передаётся JSON объект вида Персона.

  • vehicle (object) – Автомобиль. Передаётся JSON объект вида Автомобиль.

  • surveys (array) – Список листов проверок по данному заказу. Возвращает список объектов содержащих идентификаторы и типы листов проверок.

  • contents (array) – Список позиций заказа в виде списка из JSON объектов Позиция заказа.

  • defaultSurveyReleaseDisabled (boolean) – Флаг указывающий на то, что не надо создавать анкеты по умолчанию (eVHC).

Запрос на обзор для клиента

CustomerReviewRequest
Object Properties:
  • id (string) – Идентификатор запроса. Используется для идентификации запроса в рамках системы eVHC. Присутствует в URL ресурсов. Рекомендуется использовать длинные идентификаторы длиной до 40 символов.

  • externalId (string) – Внешний идентификатор. Используется в пользовательском интерфейсе.

  • externalBranchId (string) – Код дилера OEM. Поле является обязательным и определяет привязку запроса к ДЦ.

  • departmentId (string) – Идентификатор отдела.

  • plannedStartTimestamp (string) – Плановая дата начала работ в формате ISO8601. Если значение не задано, то используется дата содания запроса.

  • сlosed (boolean) – Флаг указывающий на то, что запрос закрыт. При установке данного флага все связанные анкеты автоматически закрываются.

  • rejected (boolean) – Флаг указывающий на то, что запрос отменен без выполнения работ. Отмененные запросы учитываются в статистике в отдельной графе. При установке данного флага все связанные анкеты автоматически закрываются.

  • description (string) – Краткий текст заказа. (Отображается в интерфейсах. Может быть использован для передачи заявки клиента.)

  • customer (object) – Клиент. Передаётся JSON объект вида Бизнес партнёр.

  • responsiblePerson (object) – Ответственный сотрудник. Передаётся JSON объект вида Персона.

  • vehicle (object) – Автомобиль. Передаётся JSON объект вида Автомобиль.

  • surveys (array) – Список листов проверок по данному запросу. Возвращает список объектов содержащих идентификаторы и типы листов проверок.

  • deals (array) – Список сделок по запросу в виде списка из JSON объектов Сделка.

Бизнес партнёр

Объект бизнес партнёр представляет собой объект вида либо Персона либо Компания с дополнительным полем category имеющим значение "person" или "legalEntity" в зависимости от типа содержащегося в нем объекта.

Персона

Person
Object Properties:
  • id (string) – Идентификатор клиента в ДМС

  • title (string) – Обращение

  • firstName (string) – Имя

  • middleName (string) – Отчество

  • lastName (string) – Фамилия

  • gender (string) – Одно из значений: "male", "female" или null (в случае если пол не известен).

  • landline (string) – Стационарный телефон

  • mobilePhone (string) – Мобильный телефон

  • modifiedMobilePhone (string) – Мобильный телефон, заданный в системе PowerVHC

  • email (string) – E-mail

  • modifiedEmail (string) – E-mail, заданный в системе PowerVHC

  • address (string) – Почтовый адрес

Компания

Company
Object Properties:
  • id (string) – Идентификатор клиента в ДМС

  • name (string) – Название

  • landline (string) – Телефон

  • mobilePhone (string) – Мобильный телефон

  • modifiedMobilePhone (string) – Мобильный телефон, заданный в системе PowerVHC

  • email (string) – E-mail

  • modifiedEmail (string) – E-mail, заданный в системе PowerVHC

  • address (string) – Почтовый адрес

  • contactPersons (array) – Контактные лица. Список объектов вида Персона.

Автомобиль

Vehicle
Object Properties:
  • id (string) – Идентификатор автомобиля в ДМС

  • vin (string) – VIN

  • numberPlate (string) – Государственный регистрационный номер

  • numberPlateCountry (string) – Код страны выдавшей гос.номер

  • make (string) – Марка. Может использоваться для определения применимости варианта пакета и для выбора изображения контура АМ для описания повреждений. Допустимые значения "Jaguar", "Land Rover" или "Range Rover", "Mercedes", "Toyota", "Lexus", "Porsche". Другие значения возможны, однако изображение АМ и пакеты могут быть определены неверно.

  • derivativeCode (string) – Производный код. Задается из ДМС. Может использоваться для определения применимости варианта пакета. Может определять модификацию кузова АМ, характиристики двигателя, тип КП и тд.

  • model (string) – Модель (текстовое представление)

  • modelCode (string) – Код модели OEM. Может использоваться для определения применимости варианта пакета и для выбора изображения контура АМ для описания повреждений. Например «L359» для Freelander 2.

  • modelYear (integer) – Модельный год (4 знака). Может использоваться для определения применимости варианта пакета. Например: 2015

  • fuelType (string) – Тип топлива АМ. Может использоваться для определения применимости варианта пакета. Допустимые значения: "petrol" - бензиновый, "diesel" - дизель, "hybrid" - гибрид, "electric" - электро, "biofuelPetrol" - биотопливо бензин, "biofuelGas" - биотопливо газ, "liquefiedGas" - сжиженный газ.

  • engineCapacity (float) – Объём двигателя в литрах с точностью до одного знака после запятой. Может использоваться для определения применимости варианта пакета. Например: 2.2.

  • airIntakeType (string) – Тип подачи воздуха в двигатель. Может использоваться для определения применимости варианта пакета. Допустимые значения: "Turbo SC" - с наддувом, "Naturally aspirated" - атмосферный.

  • engineType (string) – Тип двигателя. Используется для печати акта.

  • engineNumber (string) – Номер двигателя. Используется для печати акта.

  • colour (string) – Цвет АМ. Используется для печати акта.

  • gearboxType (string) – Тип коробки передач.

  • recordedMileage (float) – Пробег в DMS

  • mileageUnit (string) – Код единицы измерения пробега. Допустимые значения: "km" - км, "mi" - мили.

  • recordedMilageDate (string) – Дата регистрации пробега в ДМС (в формате ISO8601)

  • warrantyStartDate (string) – Дата начала гарантии в формате ISO8601 (дата продажи/дата 1й регистрации)

  • warrantyEndDate (string) – Дата окончания гарантии(по сроку; в формате ISO8601)

  • warrantyOn (boolean) – Признак наличия гарантии: true, false, null - нет данных.

  • serviceContractType (string) – Вид сервисного контракта (строка)

  • serviceContractNumber (string) – Номер сервисного контракта (строка)

  • serviceContractStartDate (string) – Дата начала сервисного контракта (в формате ISO8601)

  • serviceContractEndDate (string) – Дата окончания сервисного контракта (в формате ISO8601)

  • estimatedPrice (float) – Оценочная стоимость АМ

  • estimatedPriceCurrency (string) – Код валюта оценочной стоимости АМ (по ISO4217)

  • vinResolutionStatus (string) – Статус получения данных об АМ по VIN. Строковое значение. Принимает значение "OK" при успешном автоматическом получении информации по АМ по VIN. Автоматически полученные данные при этом записываются в соответствующие поля объекта Автомобиль.

  • owner (object) – Владелец АМ. Объект вида Бизнес партнёр.

  • driver (object) – Водитель/Доверенное лицо. Объект вида Персона. При наличии данного поля данные из него подтягиваются на печатные формы, если данного поля нет, на формах используются данные из поля customer (Заказчик).

Позиция заказа

ServiceOrderContentItem
Object Properties:
  • id (string) – Идентификатор (номер) позиции в ДМС

  • itemCategory (string) – Категория позиции. Одно из значений "labour" или "material". Обязательное поле. (При отправке данных в eVHC допустимо так же испольование значения "part" вместо значения "material").

  • itemCode (string) – Код позиции. Номер запчасти для запчастей и код работы для работ.

  • description (string) – Текст позиции

  • catalogue (string) – Идентификатор каталога работ в ДМС. Используется только для работ. Поле не обязательное.

  • materialGroup (string) – Группа материалов. Только для позиций запчастей. Поле не обязательное.

  • labourType (string) – Вид работ. Только для позиций работ. Поле не обязательное.

  • quantity (float) – Количество (общее коичество по позиции).

  • unitOfMeasure (string) – Код Единицы измерения количества. Допустимые значения: "ea" - each (штука), "pc" - синоним "ea", "hour" - час, "l" - литр. См. Единицы измерения.

  • amountExVat (float) – Общая сумма по позиции без НДС в валюте заказа.

  • amountIncVat (float) – Общая сумма по позиции с НДС в валюте заказа.

  • soldQuantity (float) – Проданное количество (количество по которому уже возникла дебиторская задолженность клиента, т.е. выставлен счет).

  • soldAmountExVat (float) – Проданная сумма по позиции без НДС в валюте заказа. = Проданное количество * Цена позиции без НДС

  • soldAmountIncVat (float) – Проданная сумма по позиции с НДС в валюте заказа. = Проданное количество * Цена позиции с НДС

  • deferredQuantity (float) – Отложенное количество (количество которое было отмечено как отложенное в ДМС).

  • deferredAmountExVat (float) – Отложенная сумма по позиции без НДС в валюте заказа. = Отложенное количество * Цена позиции без НДС

  • deferredAmountIncVat (float) – Отложенная сумма по позиции с НДС в валюте заказа. = Отложенное количество * Цена позиции с НДС

  • deferralDateTime (string) – Дата и время на которые отложены работы. Указывается только если по позиции есть отложенное количество.

  • evhcSurveyId (string) – Идентификатор чеклиста eVHC, из которого получена позиция. Используется для построения отчётов.

  • evhcAnswerId (string) – Идентификатор вопроса eVHC, из которого получена позиция. Используется для построения отчётов.

  • evhcPackageId (string) – Идентификатор пакета eVHC, из которого получена позиция. Используется для построения отчётов.

  • evhcPackageVariantId (string) – Идентификатор варианта пакета eVHC, из которого получена позиция. Используется для построения отчётов.

Сделка

DealItem
Object Properties:
  • id (string) – Идентификатор сделки

  • siteId (string) – (Опционно) Индентификатор Дилерского центра.

  • branchId (string) – (Опционно) Индентификатор Кода дилера.

  • departmentId (string) – (Опционно) Идентификатор отдела.

  • rejected (boolean) – Флаг указывающий на то, что сделка отменена.

  • orderId (string) – Номер счёта на оплату.

  • orderTimestamp (string) – Дата счёта в формате ISO8601.

  • invoiceId (string) – (Опционно) Номер счёта на оплату.

  • invoiceTimestamp (string) – (Опционно) Дата счёта в формате ISO8601.

  • invoiceAmountExVat (float) – Cумма по счёту без НДС.

  • invoiceAmountIncVat (float) – Cумма по счёту с НДС.

  • invoiceCurrency (string) – Код валюты счёта в соответствии с ISO4217. Поле является обязательным при передаче сумм по счёту.

  • payedAmount (float) – Cумма поступлений оплаты по счёту.

  • deliveryNoteId (string) – (Опционно) Номер накладной (счёт-фактуры).

  • deliveryTimestamp (string) – (Опционно) Дата накладной в формате ISO8601.

Лист проверок

Survey
Object Properties:
  • id (string) – Идентификатор листа проверок

  • surveyType (string) – Тип листа проверок. Возможные типы листов проверок описаны в разделе Доступные типы листов проверок (survey types).

  • category (string) – Категория листа проверок. Значение используемое в рамках проекта eVHC "interactiveHandover" - прямая приёмка.

  • branch (string) – Код подразделения / ДЦ. Копируется из исходного заказа.

  • text (string) – Краткий текст листа проверок.

  • plannedSurveyor (object) – Сотрудник из списка plannedSurveyors, который произвел осмотр (для VC - механик). Объект вида Персона.

  • plannedSurveyors (array) – Список сотрудников, которые могут производить осмотр (для VC - механик). Список объектов вида Персона.

  • surveyor (string) – Сотрудник, который произвёл осмотр (напрмер, для eVHC - мастер-консультант, VC - механик). Объект вида Персона.

  • customer (string) – Клиент. Объект вида Бизнес партнёр.

  • completed (boolean) – Признак завершения проверки.

  • closed (boolean) – Признак закрытия листа проверки. Устанавливается при закрытии исходного заказа.

  • surveyObject (object) – Объект осмотра. Объект вида Автомобиль.

  • referenceObject (object) – Ссылочный объект. Объект вида Сервисный заказ в котором присутствует лишь часть полей заголовка.

  • contents (array) – Содержимое листа проверок. Список объектов вида Элемент листа проверок.

Элемент листа проверок

Элемент листа проверок представляет собой объект вида:

Раздел листа проверок

SurveySection
Object Properties:

Вопрос

SurveyQuestion
Object Properties:
  • id (string) – Идентификатор вопроса. Уникален в рамках листа проверок. Один и тот же вопрос в разных листах проверки созданных по одному шаблону будет иметь одинаковое значение. Данное поле может быть использовано для поиска конкретного вопроса в рамках листа проверок.

  • text (string) – Текст вопроса

  • mandatory (boolean_или_string) – Признак обязательности вопроса. Может содержать или булево значение или строку с идентификатором динамического условия по которому определяется обязательность вопроса.

  • answers (array) – Список ответов на вопрос. Содержит объекты вида Ответ.

Ссылка на вопрос

ReferenceQuestion
Object Properties:
  • id (string) – Идентификатор ссылки

  • text (string) – Текст ссылки

  • referenceQuestionId (string) – Id вопроса, на который сделана ссылка.

Ответ

Answer
Object Properties:
  • id (string) – Идентификатор ответа. Уникален в рамках вопроса. Стандартные ответы имеют стандартные идентификаторы (повторяются в листах проверок одного вида) введённые вручную ответы имеют уникальные идентификаторы.

  • value (string) – Значение ответа (текст).

  • unitOfMeasurement (string) – Единица измерения. Поле используется для вопросов требующих измерения физических величин (длина, давление итд). Возможные значения: "km" - км, "mi" - мили. См. Единицы измерения.

  • status (string) – Статус. Одно из значений: "green", "amber" или "red".

  • comment (string) – Внутренний комментарий к ответу.

  • selected (boolean) – Ответ выбран. Поле указывает, что данный ответ является действительным. Ответы с "selected": false следует игнорировать при обработке результатов проверки.

  • packages (array) – Список пакетов для данного ответа. Содержит список объектов вида Пакет с дополнительными полями для листа проверок.

  • custom (boolean) – Ответ добавлен пользователем из приложения, если true.

Предложение для клиента

Quote
Object Properties:
  • id (string) – Идентификатор предложения. Уникален в рамках опросного листа. Обязательное поле.

  • category (string) – Категория предложения. Обязательное поле. Допустимые значения: "quote" и "package". Предложения с категорией "package" нельзя изменять напрямую через интерфейс для изменения предложений клиенту.

  • description (string) – Описание предложения.

  • currency (string) – Код валюты предложения в соответствии с ISO4217. Обязательное поле.

  • questionId (string) – Идентификатор вопроса к которому относится данное предложение. Обязательное поле.

  • answerId (string) – Идентификатор ответа к которому относится данное предложение. Обязательное поле.

  • packageId (string) – Идентификатор пакета к которому относится данное предложение.

  • variantId (string) – Идентификатор варианта к которому относится данное предложение. При указании packageId и variantId в предложении с категорией "quote" данный вариант пакета более не считается актуальными и заменяется данным предложением для клиента.

  • approvalStatus (string) – Статус согласования. Возможные значения: "approved", "rejected" и "deferred".

  • deferralDate (string) – Дата и время на которые отложены работы. Статус согласования "approvalStatus": "deferred".

  • rejectionReasonCode (string) – Код причины отклонения. Статус согласования "approvalStatus": "rejected".

  • approvalMedium (string) – Канал согласования с клиентом. Возможные значения: "internet", "phone" и "direct".

  • approvalDate (string) – Дата согласования с клиентом (в формате ISO8601)

  • contents (array) – Содержимое предложения клиенту. Список объектов вида Позиция варианта пакета.

Пакет

Package
Object Properties:
  • id (string) – Идентификатор пакета

  • masterClient (string) – Идентификатор системного клиента в котором ведется пакет. При использовании централизованного ведения пакетов он может отличаться от системного клиента из которого он был получен.

  • description (string) – Описание пакета

  • currency (string) – Код валюты пакета в соответствии с ISO4217. Поле является обязательным при передаче цен/сумм по пакету.

  • oemPricing (boolean) – Цены заданы OEM. Цены заданные дилером не будут использованы.

  • variants (array) – Список вариантов данного пакета. Значение этого поля представляет собой список из объектов типа Вариант пакета.

  • packageType (string) – Тип пакета. Возможные значения: null - по умолчанию, "scheduledMaintenance" - регламентное обслуживание, "recommendedMaintenance" - рекомендованное обслуживание, "promo" - акционные предложения, "care" - забота об автомобиле, "diagnostics" - диагностика, "accessories" - акссессуары для Вашего авто.

  • serviceIntervalMileage (integer) – Интервал ТО (пробег, км).

  • serviceIntervalAge (integer) – Частота ТО (время, мес).

Вариант пакета

PackageVariant
Object Properties:
  • id (string) – Идентификатор варианта пакета

  • description (string) – Описание варианта пакета

  • longText (string) – Длинный текст

  • priceExVat (float) – Цена пакета без НДС

  • priceIncVat (float) – Цена пакета с НДС

  • labourPriceExVat (float) – Цена работ в пакете без НДС

  • labourPriceIncVat (float) – Цена работ в пакете с НДС

  • partsPriceExVat (float) – Цена запчастей в пакете без НДС

  • partsPriceIncVat (float) – Цена запчастей в пакете с НДС

  • discountPriceExVat (float) – Цена пакета со скидкой (на постгарантийные АМ) без НДС

  • discountPriceIncVat (float) – Цена пакета со скидкой (на постгарантийные АМ) с НДС

  • discountLabourPriceExVat (float) – Цена работ в пакете со скидкой (на постгарантийные АМ) без НДС

  • discountLabourPriceIncVat (float) – Цена работ в пакете со скидкой (на постгарантийные АМ) с НДС

  • discountPartsPriceExVat (float) – Цена запчастей в пакете со скидкой (на постгарантийные АМ) без НДС

  • discountPartsPriceIncVat (float) – Цена запчастей в пакете со скидкой (на постгарантийные АМ) с НДС

  • oemPricing (boolean) – Цены заданы OEM. Цены заданные дилером не будут использованы.

  • variantPricingCategory (string) – Метод расчета цен. Допустимы 2 значения: "individualItemPricing" - цены установлены на уровне отдельных позиций и "fixedVariantPrice" - цена фиксирована на уровне варианта, цены на уровне позиций не ведутся.

  • contents (array) – Содержимое пакета. Список объектов вида Позиция варианта пакета.

  • applicabilityType (string) – Алгоритм определения применимости пакета к АМ. Значение: "independentCriteria". (возможно расширение списка доступных алгоритмов определения применимости вариантов пакета).

  • derivativeCodeApplicabilityList (array_of_strings) – Список производных кодов АМ, к которым применим данный вариант пакета. См. Автомобиль.

  • modelCodeApplicabilityList (array_of_strings) – Список кодов моделей, к которым применим данный вариант пакета. См. Автомобиль.

  • makeApplicabilityList (array_of_strings) – Список марок АМ, к которым применим данный вариант пакета. См. Автомобиль.

  • modelYearApplicabilityList (array_of_strings) – Список модельных годов (по 4 знака). См. Автомобиль.

  • fuelTypeApplicabilityList (array_of_strings) – Список типов топлива. Варианты "petrol", "diesel", "hybrid", "electric", "biofuelPetrol", "biofuelGas", "liquefiedGas". См. Автомобиль.

  • engineCapacityApplicabilityList (array_of_strings) – Список объемов двигателя в литрах, к которым применим данный вариант пакета. См. Автомобиль.

  • airIntakeApplicabilityList (array_of_strings) – Список типов подачи воздуха в двигатель. Варианты: "Turbo SC" - с наддувом, "Naturally aspirated" - атмосферный. См. Автомобиль.

  • bodyPartApplicabilityList (array_of_strings) – Список частей кузова АМ. Применимо только при внешнем осмотре АМ (Если развертка АМ представлена в формате SVG).

  • selected (boolean) – Пакет является выбранным для данной рекомендации. Не выбранный пакет был предложен системой, но не был подтверждён мастером-консультантом.

  • customerApproved (string) – Статус согласования с клиентом. Возможные значения: "approved", "rejected" и "deferred".

  • deferralDate (string) – Дата и время на которые отложены работы. Статус согласования "approvalStatus": "deferred".

  • rejectionReasonCode (string) – Код причины отклонения. Статус согласования "approvalStatus": "rejected".

Позиция варианта пакета

Работы либо Запчасти.

Работы

PackageVariantContentLabour
Object Properties:
  • id (string) – Идентификатор позиции варианта пакета

  • itemCategory (string) – "labour". Категория позиции.

  • itemCode (string) – Код позиции. Номер запчасти для запчастей и код работы для работ.

  • description (string) – Текст позиции

  • quantity (float) – Количество

  • unitOfMeasure (string) – Код Единицы измерения количества или времени. Допустимые значения: "hour" - час. См. Единицы измерения.

  • amountExVat (float) – Сумма по позиции без НДС в валюте заказа. Поле является обязательным при передаче цен/сумм по пакету и создании предложения для клиента. Используется для расчета статистики стоимости выявленных работ.

  • amountIncVat (float) – Сумма по позиции с НДС в валюте заказа.

  • discountAmountExVat (float) – Сумма по позиции со скидкой (на постгарантийные АМ) без НДС. Не применимо для Предложение для клиента

  • discountAmountIncVat (float) – Сумма по позиции со скидкой (на постгарантийные АМ) с НДС. Не применимо для Предложение для клиента

  • labourCode (string) – Код операции.

  • labourType (string) – Вид работ. Требуется согласовать справочник допустимых значений.

  • catalogue (string) – Идентификатор каталога работ в ДМС.

Запчасти

PackageVariantContentMaterial
Object Properties:
  • id (string) – Идентификатор позиции варианта пакета

  • itemCategory (string) – "material". Категория позиции.

  • itemCode (string) – Код позиции. Номер запчасти для запчастей и код работы для работ.

  • description (string) – Текст позиции

  • quantity (float) – Количество

  • unitOfMeasure (string) – Код Единицы измерения количества или времени. Допустимые значения: "ea" - each (штука), "pc" - синоним "ea", "l" - литр. См. Единицы измерения.

  • amountExVat (float) – Сумма по позиции без НДС в валюте заказа. Поле является обязательным при передаче цен/сумм по пакету и создании предложения для клиента. Используется для расчета статистики стоимости выявленных работ.

  • amountIncVat (float) – Сумма по позиции с НДС в валюте заказа.

  • discountAmountExVat (float) – Сумма по позиции со скидкой (на постгарантийные АМ) без НДС. Не применимо для Предложение для клиента

  • discountAmountIncVat (float) – Сумма по позиции со скидкой (на постгарантийные АМ) с НДС. Не применимо для Предложение для клиента

  • materialGroup (string) – Группа материалов. Требуется согласовать справочник допустимых значений.

  • materialNumber (string) – Код материала.

  • externalMaterialNumber (string) – Код материала дилера. Заполняется только при наличии в системе eVHC информации о кодировке ЗЧ в DMS дилера. Логику обмена данными не следует строить на основании данного поля. Перекодировка Код материала eVHC <> Код материала DMS для неоригинальны ЗЧ должна быть реализована на стороне DMS.

Информация об АМ

VehicleInfo
Object Properties:
  • vin (string) – VIN

  • make (string) – Марка.

  • model (string) – Модель (текст)

  • modelCode (string) – Код модели OEM.

  • modelYear (integer) – Модельный год (4 знака).

  • fuelType (string) – Тип топлива АМ. Варианты: "petrol" - бензиновый, "diesel" - дизель, "hybrid" - гибрид, "electric" - электро, "biofuelPetrol" - биотопливо бензин, "biofuelGas" - биотопливо газ, "liquefiedGas" - сжиженный газ.

  • engineCapacity (float) – Объём двигателя в литрах с точностью до одного знака после запятой.

  • airIntakeType (string) – Тип подачи воздуха в двигатель. Варианты: "Turbo SC" - с наддувом, "Naturally aspirated" - атмосферный.

  • engineType (string) – Тип двигателя.

  • colour (string) – Цвет АМ.

  • gearboxType (string) – Тип коробки передач.

Информация об отправке

WebhookOutputInfo
Object Properties:
  • id (string) – Уникальный идентификатор сообщения

  • systemClientId (string) – Идентификатор системного клиента

  • referenceObjectCategory (string) – Категория ссылочного объекта. Принимает толко одно значение: "serviceOrder" для объекта вида Сервисный заказ.

  • referenceObjectId (string) – ID ссылочного объекта.

  • surveyId (string) – Идентификатор опросного листа

  • outputId (string) – Идентификатор сообщения в опросном листе

  • outputCategory (string) – Способ отправки сообщения: "email" и "sms".

  • outputType (string) – Тип сообщения: "surveyResultsEmail" для результатов eVHC проверки и "vcApproval" для видео-результатов проверки (VC).

  • outputTimestamp (string) – Дата отправки сообщения в формате ISO8601.

  • destinations (array) – Получатели сообщения. Список объектов вида Получатель сообщения.

  • linkUrl (string) – URL ссылки для просмотра результатов проверки.

  • linkValidUntil (string) – Дата завершения действия ссылки в формате ISO8601.

  • vin (string) – VIN автомобиля. Данные из листа проверок

  • customer (object) – Клиент. Передаётся JSON объект вида Бизнес партнёр. Данные из листа проверок

  • owner (object) – Владелец АМ. Объект вида Бизнес партнёр. Данные из листа проверок

  • driver (object) – Водитель/Доверенное лицо. Объект вида Персона. Данные из листа проверок

Получатель сообщения

OutputDestination
Object Properties:
  • address (string) – Адрес отправки сообщения (email или sms)

  • name (string) – Наименование получателя

  • sourcePartnerType (string) – Тип получателя: "customer", "driver" и "owner".

  • sourcePartnerId (string) – ID получателя. Необязательный параметр. Используется для идентификациии получателя в случае, когда получатель представлен объектом вида Компания и для него задано несколько контактов.