ZPK » APIS » Plate scanner » Docs

Plate Scanner

Una API que le permitirá detectar matrículas de vehículos en fotografías y documentos escaneados.

Plate scanner detecta matrículas de vehículos en imágenes como fotografías y documentos escaneados. La tecnología OCR de Plate Scanner enfocada específicamente a la detección de matrículas proporciona resultados precisos incluso en condiciones de imágen adversas.

Conectando a la API

Servidor y protocolos para la conexión

Conexión a la API
Servidor: https://zpk.systems
Esquema: HTTPS, solo conexiones seguras SSL.
Protocolo:
JSON recomendado

Enviando un JSON en el body del request, y especificando una cabecera Content-Type: application/json en el request

Si envia ficheros como imágenes o documentos, estos deberán estar codificados en base64.


Form-Data no recomendado

Formato usado en los formularios web, no recomendado. Al enviar una solicitud tipo form_data puede enviar todos los campos como parámetros POST separados. Sin embargo si la solicitud es muy grande recomendamos que envie el contenido de la peticion en un único campo de texto llamado _json (con un guión bajo).

Este parametro especial sera procesado por nuestro backend como si se tratase de una solicitud JSON habitual.

El servidor dónde enviar las solicitudes es https://zpk.systems mediante una conexión HTTPS segura.

El tipo de comunicación recomendado es JSON, en cuyo caso especificaremos en la conexión un Content-Type: application/json, y enviaremos el body de la solicitud como un string JSON válido.

Endpoint y parámetros

POST /api/plate-scanner/image
Parámetro Descripción
application_id

alfanumérico requerido

Una id de aplicación, puede obtener la id de una aplicación haciendo click en 'detalles' en su panel

api_key

alfanumérico requerido

La API KEY de la aplicación que efectúa la llamada a esta API, puede obtenerla en su panel, haciendo click en 'detalles' de una aplicación

image

archivo requerido

La imagen que será escaneada para detectar matrículas.

regions

array opcional

Una lista de regiones que se usará como guía para detectar la matrícula. Especificar la zona puede ser útil cuando la matrícula escaneada puede pertenecer a países o zonas geográficas distintas.

Obtener regiones

Puede obtener una lista de todas las regiones soportadas mediante la API. Consulte: obteniendo regiones

strict_regions

boolean opcional, por defecto: false

Si strict_regions se establece a true, se usará el array de regions de un modo estricto. Descartando todas las matrículas que no sean de esa región.

Respuestas

Respuesta con éxito

Respuesta con éxito
{
  "success": true,
  "results": {
    "plate": "6765zzz",
    "region": "es",
    "score": 0.902,
    "coords": {
      "top_left": {
        "x": 35,
        "y": 177
      },
      "bottom_right": {
        "x": 490,
        "y": 339
      }
    }
  },
  "costs": {
    "total_cost": 0.001
  }
}

Respuesta con errores

Respuesta con errores
{
  "success": false,
  "errors": [
    {
      "id": "MISSING_REQUIRED_PARAMETER",
      "message": "Required parameter 'image' not sent",
	  "on": "image"
    }
  ]
}

Obtener todas las regiones

Puede obtener todas las regiones y subregiones (provincias o estados) con una llamada al siguiente endpoint

GET /api/plate-scanner/regions
Parámetro Descripción
application_id

alfanumérico requerido

Una id de aplicación, puede obtener la id de una aplicación haciendo click en 'detalles' en su panel

api_key

alfanumérico requerido

La API KEY de la aplicación que efectua la llamada a esta API, puede obtenerla en su panel, haciendo click en 'detalles' de una aplicación

Se retornará una lista con todas las regiones y subregiones

Respuesta de regions
{
  "success": true,
  "regions": {
    "am": {
      "name": "Armenia",
      "code": "am"
    },
    "aw": {
      "name": "Aruba",
      "code": "aw"
    },
    "au": {
      "name": "Australia",
      "code": "au",
      "subregions": {
        "au-act": {
          "code": "au-act",
          "name": "Australian Capital Territory"
        },
        "au-nsw": {
          "code": "au-nsw",
          "name": "New South Wales"
        },
        "au-qld": {
          "code": "au-qld",
          "name": "Queensland"
        },
        "au-sa": {
          "code": "au-sa",
          "name": "South Australia"
        },
        "au-tas": {
          "code": "au-tas",
          "name": "Tasmania"
        },
        "au-vic": {
          "code": "au-vic",
          "name": "Victoria"
        },
        "au-wa": {
          "code": "au-wa",
          "name": "Western Australia"
        }
      }
    },
    "at": {
      "name": "Austria",
      "code": "at"
    },
    "az": {
      "name": "Azerbaijan",
      "code": "az"
    },
    "bs": {
      "name": "Bahamas",
      "code": "bs"
    },
    "bb": {
      "name": "Barbados",
      "code": "bb"
    },
    "by": {
      "name": "Belarus",
      "code": "by"
    },
    "...": {
      "name": "... More regions here ...",
      "code": "..."
    }
  }
}

Integración con PHP

ZPK-PHP es una librería de código abierto instalable mediante composer que le permitirá integrar nuestras APIs en su proyecto PHP con un mínimo esfuerzo.

Ir al SDK para PlateScanner

Instalando ZPK-PHP con composer

Terminal
composer require zpksystems/phpzpk

Ejemplo de scan en PHP

Ejemplo SDK en PHP

<?php

require 'vendor/autoload.php';

use 
zpksystems\phpzpk\zpkApplication;
use 
zpksystems\phpzpk\zpkPlateScanner;

$app = new zpkApplication('app_id','key');

$scanner = new zpkPlateScanner$app );

// Add an image
$scanner->setImageFile('plate.png');

echo 
json_encode($scanner->scan(),
 
JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);

Precios

0,001 euros por imagen escaneada
1 Euro cada 1000 imágenes

En caso de no disponer de crédito en su cuenta al realizar una petición Plate Scanner retornará un error.

Regístrese para probar esta API


Regístrese para obtener crédito gratuito y probar esta y otras APIs de ZPK