Share
Explore

icon picker
Endpoint Analisis

📚 Introducción

Este documento ofrece una visión detallada del Servicio Web de Análisis de Tickets. Nuestro servicio emplea la tecnología de Reconocimiento Óptico de Caracteres (OCR) para analizar imágenes de tickets, verificar la existencia y cantidad de productos, y determinar si el ticket es único.

⏯ Proceso general del servicio

Heineken Websites - Copy of HNK 150 AI.jpeg
El servicio web recibe una URL de imagen de un ticket y un identificador único (ID de cliente o ID de transacción). El servicio procesa la imagen, extrae el texto mediante OCR, y analiza el texto para verificar la existencia y cantidad de productos. Adicionalmente, el servicio determina un porcentaje de unicidad del ticket.
image.png

📎 Arquitectura del Servicio

El Servicio Web de Análisis de Tickets está construido con un enfoque de microservicios y funciona en un entorno de nube escalable. Este servicio está diseñado para interactuar con otros servicios y bases de datos para verificar la existencia y cantidad de productos.

Archivos Swagger

Las especificaciones detalladas de la API, incluyendo los endpoints, los parámetros de las solicitudes, los esquemas de las respuestas y los códigos de error, están disponibles en el archivo Swagger adjunto:

Archivo YAML

TicketAPI.yaml
3.8 kB

Archivo JSON

TicketAPI.json
4.9 kB
Para revisar la documentacion, puedes intentar cargar el archivo con extension .yaml en el portal de Swagger o en cualquier editor dentro de tu IDE.

📑 Guía de uso

El endpoint principal de la API es /analyze_ticket, que acepta solicitudes POST. Para utilizar este endpoint, envíe una solicitud POST con un cuerpo de solicitud que incluya la URL de la imagen del ticket y un identificador único.

Paso 1: Preparación de la solicitud

Prepare una solicitud POST para enviar al endpoint /analyze_ticket. Esta solicitud debe incluir un cuerpo en formato JSON que contenga los siguientes campos:
imageUrl: La URL de la imagen del ticket que desea analizar. Asegúrese de que la URL sea accesible y que la imagen sea clara y legible.
uniqueId: Un identificador único para referencia. Este podría ser un ID de cliente o un ID de transacción.
Además, necesitará un token de autenticación JWT para la autenticación Bearer. Este token debe incluirse en el encabezado Authorization de su solicitud, con el formato Bearer {token}.
Ejemplo de cuerpo de solicitud:
{
"imageUrl": "http://ejemplo.com/imagen.jpg",
"uniqueId": "12345"
}

Paso 2: Envío de la solicitud

Envíe la solicitud POST al endpoint /analyze_ticket de la API. Asegúrese de que su solicitud incluya los encabezados apropiados, como Content-Type: application/json y Authorization: Bearer {token}.
Si está utilizando cURL, un ejemplo de la solicitud podría ser:
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {token}" -d '{"imageUrl": "http://ejemplo.com/imagen.jpg", "uniqueId": "12345"}' https://<<API_BASE_URL>>/analyze_ticket

Paso 3: Interpretación de la respuesta

La API responderá con un objeto JSON que contiene el resultado del análisis del ticket. Este objeto incluirá los siguientes campos:
fullText: Un array con el texto completo obtenido del OCR.
isMatch: Un indicador booleano de si se ha encontrado una coincidencia de producto.
productQuantity: La cantidad de productos descubiertos.
uniquenessPercentage: Un porcentaje indicador para determinar si el ticket es único.
analysisDateTime: La fecha y hora del análisis.
uniqueId: El identificador único para referencia que se recibió en la solicitud.
ticketId: Un ID de ticket generada por el servicio web para futuras comprobaciones de duplicados.
Si se produce algún error durante el análisis, la API responderá con un objeto de error que contiene un código de estado HTTP y un mensaje de error descriptivo.
{
"fullText": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"isMatch": true,
"productQuantity": 2,
"uniquenessPercentage": 98.6,
"analysisDateTime": "2023-06-07T14:35:22Z",
"uniqueId": "12345",
"ticketId": "abc123"
}

Paso 4: Manejo de errores

Si recibe una respuesta de error, verifique el código de estado HTTP y el mensaje de error para entender qué salió mal. Los códigos de estado HTTP comunes incluyen 400 (solicitud incorrecta), 401 (no autorizado), 404 (no encontrado), y 500 (error interno del servidor).
Por favor, consulte la documentación de la API para obtener una lista completa de los posibles códigos de error y su significado.

Paso 5: Uso de los resultados

Una vez que haya recibido y entendido la respuesta de la API, puede utilizar los resultados del análisis del ticket como mejor le parezca en su aplicación o proceso de negocio. Por ejemplo, puede usar el indicador de coincidencia de producto (isMatch) y la cantidad de productos descubiertos (productQuantity) para actualizar su inventario, o puede usar el porcentaje de unicidad (uniquenessPercentage) para detectar posibles fraudes o duplicados.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.