Verificación
Cualquiera — un comprador o un revendedor — puede comprobar si una unidad serializada es genuina. La verificación es pública: el número de serie impreso es la credencial, por lo que no se necesita ninguna clave de API. Lee el historial de escaneo real de la unidad y el resultado de detección de clones.
# La página de verificación
Apunta el código de una unidad (o su Digital Link de GS1) a:
https://mostlyqr.com/Verify?s=<serial>
Escanearlo con la cámara de cualquier teléfono (sin app) muestra un resultado genuino / marcado / no encontrado, el producto, el lote y cualquier atributo de pasaporte digital. La página también puede leer códigos QR, DataMatrix y Code 128 / EAN-13 con su escáner de cámara integrado.
# Verificación programática (invocable)
La superficie de verificación es una función invocable pública de Firebase (no una ruta REST con clave de portador), por lo que se puede invocar desde un navegador sin clave:
curl -X POST https://europe-west2-mostly-qr.cloudfunctions.net/verifyUnitCode \
-H "Content-Type: application/json" \
-d '{ "data": { "serial": "K0TKPSGN9AB" } }'
{ "result": {
"serial": "K0TKPSGN9AB",
"status": "genuine",
"reason": "ok",
"public": { "product": "Spring Roast 250g", "batch": "L-2027-04",
"region": "GB", "scan_count": 3,
"attributes": [ { "label": "Model", "value": "Single-origin Ethiopia" } ] } } }
status es uno de:
| Status | Significado |
|---|---|
genuine |
Acuñado, activo, no marcado. |
flagged |
Heurística de clonación activada, o la unidad/campaña fue revocada. reason/detail lo explican. |
unknown |
No es un número de serie que emitimos (nunca acuñado, o mal escrito) — trata con precaución. |
El payload public es una proyección segura para la privacidad: solo producto, lote, región aproximada, recuento de escaneos
y atributos de marca — nunca cuenta, destino o registros de escaneo sin procesar.
# Verificación masiva del revendedor
Los distribuidores pueden comprobar una lista de existencias completa a la vez en la página de verificación (“Verificar muchos”) o a través de la función invocable masiva (hasta 200 números de serie, deduplicados; las entradas pueden ser números de serie puros, URLs de verificación, o Digital Links):
curl -X POST https://europe-west2-mostly-qr.cloudfunctions.net/verifyUnitsBulkCode \
-H "Content-Type: application/json" \
-d '{ "data": { "serials": ["K0TKPSGN9AB", "https://mostlyqr.com/Verify?s=ABCDEFGHJK7"] } }'
Devuelve un array de veredictos por número de serie más recuentos — detecta stock duplicado o no emitido antes de aceptar un pallet. La página ofrece una exportación CSV de los resultados.
# Pasaporte digital de producto
Una marca puede adjuntar atributos a una campaña (o por lote) — Modelo, Año de lanzamiento, Material, Origen… — que se renderizan en el resultado de verificación, convirtiendo la autenticidad en una página de procedencia (alineada con Digital Link de GS1 / la dirección de DPP de la UE). Configúralos en la pestaña Serialized del panel de control, o a través de la API de campaña. Los atributos de lote anulan los atributos de campaña por etiqueta.
# Certificado de autenticidad
Un resultado genuino ofrece un certificado descargable (una imagen de marca generada en el navegador). Una versión de PDF del lado del servidor / masiva (vía MostlyRender) está en la hoja de ruta.
# Siguiente
- Códigos serializados — cómo acuñar las unidades que esto comprueba.
- La referencia de API completa.