Ресурсы

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

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

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

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

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

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

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

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

GET https://evhc-test-api.untwined-solutions.co.uk/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": {...},
  ...
}
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://evhc-test-api.untwined-solutions.co.uk/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": [
    {
      "id": "10",
      "itemCategory": "labour",
      "itemCode": "1234567890",
      "unitOfMeasure": "hr",
      "quantity": 2,
      "amountExVat": 1000,
      "amountIncVat": 1180,
      "soldQuantity": 0,
      "soldAmountExVat": 0,
      "soldAmountIncVat": 0,
      "deferredQuantity": 0,
      "deferredAmountExVat": 0,
      "deferredAmountIncVat": 0,
      "deferralDateTime": "",
      "evhcSurveyId": "",
      "evhcAnswerId": "",
      "evhcPackageId": "",
      "evhcPackageVariantId": ""
    },
    {
      "id": "20",
      "itemCategory": "material",
      "itemCode": "3234567890",
      "unitOfMeasure": "ea",
      "quantity": 3,
      "amountExVat": 3000,
      "amountIncVat": 3540,
      "soldQuantity": 0,
      "soldAmountExVat": 0,
      "soldAmountIncVat": 0,
      "deferredQuantity": 0,
      "deferredNetAmount": 0,
      "deferredAmountIncVat": 0,
      "deferralDateTime": "",
      "evhcSurveyId": "",
      "evhcAnswerId": "",
      "evhcPackageId": "",
      "evhcPackageVariantId": ""
    }
  ]
}

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

Данный интерфейс позволяет получить выходные формы подготовленные системой 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 документе.
Status Codes:
  • 200 OK – Операция успешна. В теле ответа содержится запрашиваемый PDF документ.

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

GET https://evhc-test-api.untwined-solutions.co.uk/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 – Операция успешна.

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

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

GET /system-clients/(system_client_id)/surveys/(survey_id)/photos/(photo_id)/(thumbnail_size)
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://evhc-test-api.untwined-solutions.co.uk/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://evhc-test-api.untwined-solutions.co.uk/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://evhc-test-api.untwined-solutions.co.uk/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"
        },
        {
          "description": "Фильтр салона",
          "id": "2",
          "itemCategory": "material",
          "materialNumber": "LR056138",
          "quantity": 1,
          "unitOfMeasure": "ea"
        }
      ],
      "description": "Freelander 2",
      "id": "1",
      "longText": "",
      "modelCodeApplicabilityList": [
        "L359"
      ]
    },
    {
      "contents": [
        {
          "description": "Фильтр салона - замена",
          "id": "1",
          "itemCategory": "labour",
          "labourCode": "80.15.42",
          "quantity": 0.1,
          "unitOfMeasure": "hour"
        },
        {
          "description": "Фильтр салона",
          "id": "2",
          "itemCategory": "material",
          "materialNumber": "LR023977",
          "quantity": 1,
          "unitOfMeasure": "ea"



        }
      ],
      "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, остальные поля игнорируются.

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

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

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

PUT https://evhc-test-api.untwined-solutions.co.uk/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://evhc-test-api.untwined-solutions.co.uk/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://evhc-test-api.untwined-solutions.co.uk/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://evhc-test-api.untwined-solutions.co.uk/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://evhc-test-api.untwined-solutions.co.uk/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://evhc-test-api.untwined-solutions.co.uk/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.

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

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

ServiceOrder
Object Properties:
 
  • 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 объектов описанных в разделе Позиция заказа.

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

Объект бизнес партнёр представляет собой объект вида либо Персона либо Компания с дополнительным полем 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) – Мобильный телефон
  • email (string) – E-mail
  • address (string) – Почтовый адрес

Компания

Company
Object Properties:
 
  • id (string) – Идентификатор клиента в ДМС
  • name (string) – Название
  • landline (string) – Телефон
  • mobilePhone (string) – Мобильный телефон
  • email (string) – E-mail
  • address (string) – Почтовый адрес

Автомобиль

Vehicle
Object Properties:
 
  • id (string) – Идентификатор автомобиля в ДМС
  • vin (string) – VIN
  • numberPlate (string) – Государственный регистрационный номер
  • numberPlateCountry (string) – Код страны выдавшей гос.номер
  • make (string) – Марка. Используется для выбора пакетов и изображения контура АМ для описания повреждений. Допустимые значения "Jaguar", "Land Rover" или "Range Rover". Другие значения возможны, однако изображение АМ и пакеты могут быть определены неверно.
  • model (string) – Модель (текст)
  • modelCode (string) – Код модели OEM. Используется для выбора пакетов и изображения контура АМ для описания повреждений. Например “L359” для Freelander 2.
  • modelYear (integer) – Модельный год (4 знака). Используется для выбора пакетов. Например: 2015
  • fuelType (string) – Тип топлива АМ. Используется для выбора пакетов. Допустимые значения petrol, diesel, hybrid, electric.
  • 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)
  • 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 допустимо так же испольование значения "material" вместо значения "part").
  • itemCode (string) – Код позиции. Номер запчасти для запчастей и код работы для работ.
  • catalogue (string) – Идентификатор каталога работ в ДМС. Используется только для работ. Поле не обязательное.
  • description (string) – Текст позиции
  • materialGroup (string) – Группа материалов. Только для позиций запчастей. Поле не обязательное.
  • labourType (string) – Вид работ. Только для позиций работ. Поле не обязательное.
  • quantity (float) – Количество (общее коичество по позиции).
  • unitOfMeasure (string) – Код Единицы измерения количества. Допустимые значения: "ea" - each (штука), "pc" - синоним "ea", "hr" - час, "l" - литр, "g" - грамм.
  • 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 из которого была создана позиция. Используется для построения отчётов.

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

Survey
Object Properties:
 
  • id (string) – Идентификатор листа проверок
  • surveyType (string) – Тип листа проверок. Возможные типы листов проверок описаны в разделе Доступные типы листов проверок (survey types).
  • category (string) – Категория листа проверок. Значение используемое в рамках проекта eVHC "interactiveHandover" - прямая приёмка.
  • branch (string) – Код подразделения / ДЦ. Копируется из исходного заказа.
  • text (string) – Краткий текст листа проверок.
  • surveyor (string) – Лицо которое будет производить осмотр (для eVHC — мастер-консультант). Объект вида Персона.
  • customer (string) – Заказчик. Объект вида Персона.
  • completed (boolean) – Признак завершения проверки.
  • closed (boolean) – Признак закрытия листа проверки. Устанавливается при закрытии исходного заказа.
  • surveyObject (object) – Объект осмотра. Объект вида Автомобиль.
  • referenceObject (object) – Ссылочный объект. Объект вида Сервисный заказ в котором присутствует лишь часть полей заголовка.
  • contents (array) – Содержимое листа проверок. Список объектов вида Элемент листа проверок.

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

Элемент листа проверок представляет собой объект либо вида Раздел листа проверок либо Вопрос с дополнительным полем category принимающим значения "section" или "question" для раздела или вопроса соответственно.

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

SurveySection
Object Properties:
 

Вопрос

SurveyQuestion
Object Properties:
 
  • id (string) – Идентификатор вопроса. Уникален в рамках листа проверок. Один и тот же вопрос в разных листах проверки созданных по одному шаблону будет иметь одинаковое значение. Данное поле может быть использовано для поиска конкретного вопроса в рамках листа проверок.
  • questionCategory (string) – Категория вопроса. Одно из значений: "valueEntry", "valueSelectionOrEntry" или "valueSelection".
  • text (string) – Текст вопроса
  • answerCategory (string) – Категория ответа. Одно из значений: "text", "textAndComment" или "length".
  • mandatory (boolean_или_string) – Признак обязательности вопроса. Может содержать или булево значение или строку с идентификатором динамического условия по которому определяется обязательность вопроса.
  • answers (array) – Список ответов на вопрос. Содержит объекты вида Ответ.

Ответ

Answer
Object Properties:
 
  • id (string) – Идентификатор ответа. Уникален в рамках вопроса. Стандартные ответы имеют стандартные идентификаторы (повторяются в листах проверок одного вида) введённые вручную ответы имеют уникальные идентификаторы.
  • value (string) – Значение ответа (текст).
  • unitOfMeasurement (string) – Единица измерения. Поле используется для вопросов требующих измерения физических величин (длина, давление итд). Возможные значения: "km" - км, "mi" - мили.
  • status (string) – Статус. Одно из значений: "green", "amber" или "red".
  • comment (string) – Внутренний комментарий к ответу.
  • selected (boolean) – Ответ выбран. Поле указывает, что данный ответ является действительным. Ответы с "selected": false следует игнорировать при обработке результатов проверки.
  • packages (array) – Список пакетов для данного ответа. Содержит список объектов вида Пакет с дополнительными полями для листа проверок.

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

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".
  • approvalMedium (string) – Канал согласования с клиентом. Возможные значения: "customerPortal", "inPerson" и "phone".
  • approvalDate (string) – Дата согласования с клиентом (в формате ISO8601)
  • contents (array) – Содержимое предложения клиенту. Список объектов вида Позиция варианта пакета.

Пакет

Package
Object Properties:
 
  • id (string) – Идентификатор пакета
  • masterClient (string) – Идентификатор системного клиента в котором ведется пакет. При использовании централизованного ведения пакетов он может отличаться от системного клиента из которого он был получен.
  • description (string) – Описание пакета
  • currency (string) – Код валюты пакета в соответствии с ISO4217. Поле является обязательным при передаче цен/сумм по пакету.
  • variants (array) – Список вариантов данного пакета. Значение этого поля представляет собой список из объектов типа Вариант пакета.

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

PackageVariant
Object Properties:
 
  • id (string) – Идентификатор варианта пакета
  • description (string) – Описание варианта пакета
  • longText (string) – Длинный текст
  • priceExVat (float) – Цена пакета без НДС
  • priceIncVat (float) – Цена пакета с НДС
  • labourPriceExVat (float) – Цена работ в пакете без НДС
  • labourPriceIncVat (float) – Цена работ в пакете с НДС
  • partsPriceExVat (float) – Цена запчастей в пакете без НДС
  • partsPriceIncVat (float) – Цена запчастей в пакете с НДС
  • contents (array) – Содержимое пакета. Список объектов вида Позиция варианта пакета.
  • applicabilityType (string) – Алгоритм определения применимости пакета к АМ. Значение: "independentCriteria". (возможно расширение списка доступных алгоритмов определения применимости вариантов пакета).
  • modelCodeApplicabilityList (array_of_strings) – Список кодов моделей к которым применим данный вариант пакета.
  • makeApplicabilityList (array_of_strings) – Список марок АМ, к которым применим данный вариант пакета.
  • modelYearApplicabilityList (array_of_strings) – Список модельных годов (по 4 знака).
  • fuelTypeApplicabilityList (array_of_strings) – Список типов топлива. Варианты petrol, diesel, hybrid, electric.
  • engineCapacityApplicabilityList (array_of_strings) – Список объемов двигателя в литрах, к которым применим данный вариант пакета.
  • airIntakeApplicabilityList (array_of_strings) – Список типов подачи воздуха в двигатель. Варианты: "Turbo SC" - с наддувом, "Naturally aspirated" - атмосферный
  • selected (boolean) – Пакет является выбранным для данной рекомендации. Не выбранный пакет был предложен системой, но не был подтверждён мастером-консультантом.
  • approvalStatus (string) – Статус согласования с клиентом. Возможные значения: "approved", "rejected" и "deferred".
  • approvalComment (string) – Комментарий введённый при согласовании.
  • deferralDate (string) – Дата до которой отложены работы содержащиеся в пакете.

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

PackageVariantContentItem
Object Properties:
 
  • id (string) – Идентификатор позиции варианта пакета
  • itemCategory (string) – Категория позиции. Одно из значений "labour" для работ и "material" для запчастей.
  • itemCode (string) – Код позиции. Номер запчасти для запчастей и код работы для работ.
  • materialNumber (string) – Код материала. Заполняется только для позиций запчастей.
  • dealerMaterialNumber (string) – Код материала дилера. Заполняется только при наличии в системе eVHC информации о кодировке ЗЧ в DMS дилера. Логику обмена данными не следует строить на основании данного поля. Перекодировка Код материала eVHC <> Код материала DMS для неоригинальны ЗЧ должна быть реализована на стороне DMS.
  • labourCode (string) – Код операции. Заполняется только для позиций работ.
  • catalogue (string) – Идентификатор каталога работ в ДМС. Используется только для работ.
  • description (string) – Текст позиции
  • materialGroup (string) – Группа материалов. Только для позиций запчастей. Требуется согласовать справочник допустимых значений.
  • labourType (string) – Вид работ. Только для позиций работ. Требуется согласовать справочник допустимых значений.
  • quantity (float) – Количество
  • unitOfMeasure (string) – Код Единицы измерения количества или времени. Допустимые значения: "ea" - each (штука), "pc" - синоним "ea", "hr" - час, "l" - литр.
  • amountExVat (float) – Сумма по позиции без НДС в валюте заказа.
  • amountIncVat (float) – Сумма по позиции с НДС в валюте заказа.

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

VehicleInfo
Object Properties:
 
  • vin (string) – VIN
  • make (string) – Марка.
  • model (string) – Модель (текст)
  • modelCode (string) – Код модели OEM.
  • modelYear (integer) – Модельный год (4 знака).
  • fuelType (string) – Тип топлива АМ. Варианты petrol, diesel, hybrid, electric.
  • engineCapacity (float) – Объём двигателя в литрах с точностью до одного знака после запятой.
  • airIntakeType (string) – Тип подачи воздуха в двигатель. Варианты: "Turbo SC" - с наддувом, "Naturally aspirated" - атмосферный.
  • engineType (string) – Тип двигателя.
  • colour (string) – Цвет АМ.
  • gearboxType (string) – Тип коробки передач.