API

API Скапибары позволяет с легкостью реализовать функционал сканирования документов в своих собственных программных решениях. API позволяет выполнять сканирование с заданными опциями и конвертацию результатов сканирования в PDF через HTTP.

Устройства

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

Пример запроса:

GET /devices

Пример ответа:

{
  "devices": [
    {
      "deviceId": "twain:TWAIN Working Group:TWAIN2 Software Scanner",
      "vendor": "TWAIN Working Group",
      "model": "TWAIN2 Software Scanner",
      "type": "unknown"
    }
  ],
  "status": "success"
}

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

Параметры запроса:

deviceId - ID устройства

Пример запроса:

GET /paperSources?deviceId=twain:TWAIN Working Group:TWAIN2 Software Scanner

Пример ответа:

{
  "paperSources": [
    "flatbed",
    "feeder"
  ],
  "status": "success"
}

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

Параметры запроса:

deviceId - ID устройства

paperSource - Источник

Пример запроса:

GET /options?deviceId=twain:TWAIN Working Group:TWAIN2 Software Scanner&paperSource=flatbed

Пример ответа:

{
  "options": {
    "autofeed": {
      "name": "autofeed",
      "title": "autofeed",
      "desc": "autofeed",
      "capabilities": 8,
      "valueType": 0,
      "valueUnit": 0,
      "constraint": {
        "type": 2,
        "range": {},
        "list": [
          "true",
          "false"
        ]
      },
      "value": "true",
      "isReadable": true,
      "isWritable": true
    },
    (...)
  },
  "status": "success"
}

Сканирование

Сканирование страниц

Параметры запроса:

deviceId - ID устройства

paperSource - Источник

Пример запроса:

POST /scanPages?deviceId=twain:TWAIN Working Group:TWAIN2 Software Scanner&paperSource=flatbed
{
  "options": {
    "bit_depth": "24",
    "brightness": "0",
    "contrast": "0",
    "mode": "Color",
    "resolution": "300"
  }
}

Пример ответа:

{
  "pages": [
    "{JPEG в BASE64}"
  ],
  "status": "success"
}

Конвертирование страниц в PDF

Пример запроса:

POST http://127.0.0.1:10765/pagesToPdf
{
  "pages": [
    "{JPEG в BASE64}"
  ]
}

Пример ответа:

{
  "pdf": "{PDF в BASE64}",
  "status": "success"
}

Лицензия

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

Пример запроса:

GET http://127.0.0.1:10765/license/deviceId

Пример ответа:

{
    "deviceId": "40ba583c0605bae5a75cda41f65b8ba11ebca6cef0255e1e030b5b53befeccd6",
    "status": "success"
}

Активация лицензии

Параметры запроса:

key - Ключ активации

Пример запроса:

GET http://127.0.0.1:10765/license/activate?key=VT3VR-IJ3T6-28LE6-PXDTA-CR5HU

Пример ответа:

{
    "message": "License activated",
    "status": "success"
}

Получение информации о лицензии

Пример запроса:

GET http://127.0.0.1:10765/license

Пример ответа:

{
  "license": {
    "k": "VT3VR-IJ3T6-28LE6-PXDTA-CR5HU",
    "t": "40ba583c0605bae5a75cda41f65b8ba11ebca6cef0255e1e030b5b53befeccd6",
    "iat": "2024-09-01T12:30:45.000Z",
    "eat": "2024-10-01T12:30:45.000Z",
    "vat": "2024-09-02T12:30:45.000Z",
    "tags": null
  },
  "licenseStatus": "ok",
  "status": "success"
}