Описание API ЕАИСТО-М
Для взаимодействия с ЕАИСТО через API используется приложение-коннектор EAISTO Client Agent — локальный HTTP-сервис для 1С с подписанием через КриптоПро. Актуальная версия: v0.2.32.
После установки запустите агент, укажите на вкладке «Аккаунт» API-ключ коннектора из личного кабинета web-dk.ru
и запустите локальный сервис. Базовый URL API по умолчанию:
http://localhost:8080/api5/ecp1c/ (порт настраивается в приложении).
Во всех запросах 1С передаётся параметр accesstoken — тот же ключ, что в личном кабинете.
Новое API для взаимодействия с системой ЕАИСТО-М. Для получения диагностической карты нужно выполнить последовательно методы: captcha — возвращает картинку с капчей, send — создаст черновик в ЕАИСТО и загрузит первое фото, начав отсчёт времени в ЕАИСТО, send — с вторым фото, и затем метод sign — подпишет черновик и вернёт карту в формате PDF.
Поддерживаются два префикса URL: legacy /api5/ecp1c/ (для совместимости с 1С) и современный /api/.
Пример: /api5/ecp1c/captcha = /api/captcha.
Методы
0. Проверка состояния агента (без авторизации)
http://localhost:8080/api5/ecp1c/status
Возвращает JSON
- версия агента, статус сервиса, EAISTO, подписки и обновлений
- метод доступен без
accesstoken
1. Инициализация сессии и получение картинки с капчей
http://localhost:8080/api5/ecp1c/captcha?accesstoken=API_КЛЮЧ
Возвращает JSON
captcha— base64 картинки капчиEAISTO_SESSION— идентификатор сессии ЕАИСТОjwtToken— токен, который необходимо подписать и отправить в параметреsignметода send
2. Отправка черновика
http://localhost:8080/api5/ecp1c/send?EAISTO_SESSION=сессия_еаисто&captcha=код_каптчи&accesstoken=API_КЛЮЧ
Параметры
- json — обязательный, данные карты в виде json
- sign — обязательный, строка возвращаемая методом CAdESCOM.CadesSignedData.SignCades, в качестве подписываемых данных выступает jwtToken (Base64.Encode)
- image1 — обязательный, при начале диагностики, файл фото в начале осмотра в виде строки base64
- image2 — обязательный, при завершении диагностики, файл фото в конце осмотра в виде строки base64
- id — обязательный, идентификатор в ЕАИСТО, если новая карта, то 0
Параметр json
{
"operator": "номер оператора техосмотра по реестру",
"card": {
"BodyNumber": "номер кузова",
"RegistrationNumber": "рег знак",
"VehicleCategory2": "категория, например, M1",
"VehicleCategory": "категория, например, B",
"RegistrationDocument": {
"DocumentType": "тип документа: RegTalon - СТС, PTS - ПТС, EPTS - ЭПТС",
"Series": "серия документа",
"Number": "номер документы",
"Organization": "кем выдан документ",
"Date": "дата выдачи в формате, 2004-01-01",
"Foreign": "если иностранец, то Y, иначе N"
},
"Killometrage": "пробег",
"Fuel": "топливо: Petrol, Diesel, PressureGas, LiquefiedGas, None",
"BrakingSystem": "тормозная система: Hydraulic, Mechanical, Pneumatic, Combined",
"Vehicle": {
"Make": "марка",
"Model": "модель"
},
"Vin": "VIN номер",
"Year": "год выпуска",
"FrameNumber": "номер рамы",
"EmptyMass": "масса без нагрузки",
"MaxMass": "максимальная масса",
"Tyres": "модель шин",
"Tachograph": {
"Brand": "марка тахографа",
"Model": "модель тахографа",
"SerialNumber": "serийный номер тахографа"
},
"comment": "примечание",
"diagnosticType": "вид проверки: первичная или повторная",
"parentCardId": "идентификатор карты первичного осмотра в ЕАИСТО",
"gibddEmployeeCode": "код инспектора ГИБДД для автобусов",
"specialAppointment": "",
"diagnosticResults": [
{
"number": "номер пункта ДК, по которому установлена неисправность",
"failed": true,
"razdel": "порядковый номер раздела диагностической карты, от 0 до 6",
"predmet": "предмет проверки диагностической карты",
"bottom": "нижнее допустимое значение проверяемого параметра",
"top": "верхнее допустимое значение проверяемого параметра",
"result": "результат проверки параметра"
}
],
"gbo": {
"hasGasEquipment": true,
"gasEquipmentTestNumber": "1233333",
"gasEquipmentTestNextDate": "2021-05-03",
"noGasBottle": false,
"gasBottleSerialNumber": "1234",
"gasBottleTestDate": "2021-05-06",
"gasBottleTestNextDate": "2021-05-06",
"gasBottleYear": "2005"
}
}
}
Возвращает JSON
id— идентификатор созданной карты в ЕАИСТОdigest— хэш для подписания картыEAISTO_SESSION— идентификатор сессии ЕАИСТОdata— json с данными карты из ЕАИСТОts— timestamp из ЕАИСТО
3. Подписание карты и получение печатной формы и номера ЕАИСТО
http://localhost:8080/api5/ecp1c/sign?id=id_карты&EAISTO_SESSION=сессия_еаисто&ts=таймстамп&accesstoken=API_КЛЮЧ
Параметры
- id — обязательный, идентификатор карты в ЕАИСТО
- EAISTO_SESSION — обязательный, идентификатор сессии в ЕАИСТО
- ts — обязательный, временная метка из метода send
- sign — обязательный, подпись digest через CAdESCOM
Возвращает JSON
id— идентификатор созданной карты в ЕАИСТОvalidity— срок действия картыnumber— 15-ти значный номер в ЕАИСТОpdf— base64 PDF
4. Поиск диагностической карты в ЕАИСТО
http://localhost:8080/api5/ecp1c/search?accesstoken=API_КЛЮЧ&EAISTO_SESSION=сессия_еаисто
Параметры (тело запроса или query)
- cardNumber — номер диагностической карты (15 цифр)
- registrationMark — регистрационный номер
- vin — VIN
- bodyNumber — номер кузова
5. Получение карты или PDF по номеру / id
http://localhost:8080/api5/ecp1c/get-by-id?accesstoken=API_КЛЮЧ&EAISTO_SESSION=сессия_еаисто
Вспомогательные методы
1. Отправляет сообщение в WhatsApp на указанный номер
http://web-dk.ru/api4/wa/send?access-token=
Параметры
- phone — обязательный
- message — обязательный