← Todas las guías

Integración · python

Consulta una placa de Ecuador con Python

Obtén la ficha vehicular desde Python con urllib, sin dependencias adicionales, y controla errores y tiempos de espera.

Antes de empezar

Python 3.10 o superior. El ejemplo usa la biblioteca estándar. Necesitas una API key activa y saldo para la ficha vehicular.

Obtener API key

Puedes explorar primero el playground con datos ficticios. El código de este tutorial consulta datos reales cuando lo ejecutas; revisa su precio y usa únicamente un identificador autorizado.

Configura tu entorno

Variable de entornobash
export ECUADORAPI_KEY="ecu_tu_api_key"

La clave vive en tu servidor. No la incluyas en código del navegador, repositorios ni capturas.

Implementa la consulta

ecuador_api.pypython
import json
import os
import re
from urllib.error import HTTPError, URLError
from urllib.request import Request, urlopen


def lookup_vehicle(plate):
    plate = plate.strip().upper()
    if not re.fullmatch(r"[A-Z0-9]{5,17}", plate):
        raise ValueError("Invalid plate format")
    key = os.environ.get("ECUADORAPI_KEY")
    if not key:
        raise RuntimeError("Missing ECUADORAPI_KEY")
    request = Request(
        "https://api.ecuadorapi.com/api/v1/placas/" + plate,
        headers={"Authorization": "Bearer " + key, "Accept": "application/json"},
    )
    try:
        with urlopen(request, timeout=60) as response:
            body = json.load(response)
    except HTTPError as error:
        if error.code == 429:
            retry_after = error.headers.get("Retry-After", "unknown")
            raise RuntimeError("Rate limited; Retry-After=" + retry_after) from None
        raise RuntimeError("EcuadorAPI request failed; HTTP " + str(error.code)) from None
    except (URLError, TimeoutError, json.JSONDecodeError):
        raise RuntimeError("EcuadorAPI connection or response failed") from None
    if not isinstance(body, dict) or body.get("error") or not isinstance(body.get("data"), dict):
        raise RuntimeError("EcuadorAPI returned an invalid result")
    return body["data"]

Conéctala con tu flujo

  1. Guarda la función en ecuador_api.py y configura ECUADORAPI_KEY antes de iniciar tu proceso.
  2. Llama a lookup_vehicle desde tu backend con una placa autorizada.
  3. La ficha general no incluye automáticamente todas las consultas vehiculares. Revisa los endpoints separados para los datos adicionales que necesites.
Uso dentro de tu aplicaciónpython
from ecuador_api import lookup_vehicle

# Use a plate from your validated and authorized server-side request.
vehicle = lookup_vehicle(validated_plate)
# Use vehicle in your flow without logging personal response records.

Verifica éxito y errores antes de lanzar

Prueba una respuesta exitosa, campos null, un identificador sin resultados, una clave inválida, saldo insuficiente, 429 y un timeout. Los ejemplos no reintentan automáticamente: ante 429 respeta Retry-After y decide cómo reprogramar la tarea. Una consulta exitosa repetida puede volver a cobrarse.