Cómo conectar tu base de datos a un escáner de códigos de barras móvil

Escanea códigos de barras con un móvil y consulta tu base de datos sin hardware caro: usa una app económica (Pic2Shop PRO), añade el valor del código como campo personalizado en WordPress y crea una página PHP que reciba el código y devuelva la URL o datos del producto.
Si tienes una base de datos empresarial con información de productos, conectar esos datos a un sistema de códigos de barras puede ahorrar mucho tiempo: buscar localizaciones en almacén, ver el precio de caja completa frente al precio por unidad, o recuperar la ficha de producto al instante.
Integrarlo puede parecer costoso, pero no tiene por qué serlo. Aquí explico cómo, con una app de unos 10 USD y una página PHP sencilla, llevar datos de producto a un dispositivo móvil sin equipos especiales.
Importante: este tutorial asume conocimientos básicos de PHP y acceso a tu instalación de WordPress (o a una base de datos similar). Pic2Shop PRO está disponible en iOS y Android; si usas otra app, adapta la URL de callback.
Palabras clave del artículo
Conectar base de datos a lector de códigos de barras, lector de códigos de barras móvil, integracion PHP WordPress, Pic2Shop PRO, configuración automática p2spro
1. Preparación de los datos
Objetivo: asociar cada producto/entrada de tu base de datos con el valor numérico del código de barras.
- En mi ejemplo práctico uso reseñas de juegos de mesa en WordPress. En la vida real, estos códigos ya suelen venir del TPV (POS) o del sistema de inventario.
- El formato del código (EAN/UPC) no se modifica: solo almacenamos el contenido del código. Ejemplo: 0655132002387 para el juego “San Juan”.
Pasos:
- Escanea varios productos con la app para obtener los valores de código.
- Añade cada valor como campo personalizado (meta) en la entrada/post correspondiente. En el ejemplo usamos el meta key “barcode”.
Nota: si tu sistema ya dispone de una tabla de productos, añade una columna barcode y rellénala desde tu ERP/TPV.
2. Web app: recibir y procesar el código (barcode.php)
Crea un archivo PHP en la raíz de tu web, por ejemplo barcode.php. Al principio prueba con un script minimalista para comprobar que la app envía el código correctamente:
En la app configura la Lookup URL (o Lookup callback) como:
http://TU_DOMINIO.COM/barcode.php?code=CODE
El parámetro CODE será reemplazado por el valor escaneado.
Si funciona, verás en pantalla la matriz de REQUEST con el parámetro code y otros (GPS, etc. si los habilitaste).
Buscar el post asociado al código (ejemplo en WordPress)
Sustituye el script de prueba por uno que busque el post con meta key “barcode” y meta_value igual al código recibido. Este ejemplo devuelve la URL del post si existe.
'post',
'meta_key' => 'barcode',
'meta_value' => $code,
'posts_per_page' => 1
));
if ($query->have_posts()) {
$query->the_post();
$url = get_permalink();
echo $code . "\n";
echo $url; // aquí podrías redirigir con wp_redirect($url); exit;
wp_reset_postdata();
} else {
echo 'No hay entrada para el código ' . esc_html($code) . ' aún.';
}
?>
Notas de seguridad y buenas prácticas:
- Sanitiza siempre la entrada (ej.: sanitize_text_field) y evita inyectar contenido sin filtrar en consultas directas.
- Usa WP_Query en vez de query_posts cuando sea posible.
- Considera devolver JSON en lugar de texto plano si tu app cliente espera datos estructurados.
3. Mejora: devolver JSON con datos relevantes
En vez de solo la URL, tu endpoint puede devolver JSON con título, URL, stock, precio, y campos adicionales. Ejemplo simplificado:
'No code')); exit;
}
$query = new WP_Query(array(
'post_type' => 'post',
'meta_key' => 'barcode',
'meta_value' => $code,
'posts_per_page' => 1
));
if ($query->have_posts()) {
$query->the_post();
$data = array(
'code' => $code,
'title' => get_the_title(),
'url' => get_permalink(),
'barcode_meta' => get_post_meta(get_the_ID(), 'barcode', true)
);
wp_reset_postdata();
echo json_encode($data);
} else {
echo json_encode(array('error' => 'Not found', 'code' => $code));
}
?>
Esto facilita integrar la respuesta en apps o sistemas de terceros.
4. Configuración automática de Pic2Shop PRO
Es tedioso introducir la URL en decenas de dispositivos. Pic2Shop PRO permite configurarlo automáticamente mediante un enlace que abre la app y coloca la Lookup URL.
Ejemplo de URI de configuración (URL codificada):
p2spro://configure?lookup=http%3A//ipadboardgames.org/barcode.php?code=CODE
Si colocas este enlace en una página web (o lo envías por correo), los usuarios que lo toquen en el móvil y tengan Pic2Shop instalado verán la app configurada automáticamente.
Nota: adapta la URL a tu dominio y a tu endpoint. Para otras apps (iCody, ZXing, etc.) consulta su documentación sobre parámetros de callback.
5. Alternativas y cuándo no usar este método
Alternativas:
- Apps empresariales MDM/EMM: permiten preconfigurar opciones y desplegar apps masivamente.
- SDKs de escaneo integrados en tu propia app móvil (mejor experiencia, mayor control).
- Escáneres industriales con teclado emulado (más robustos en entornos difíciles).
Cuándo falla o no es ideal:
- Entornos con iluminación muy baja o códigos dañados: los escáneres industriales son más fiables.
- Requisitos de cifrado extremo o desconectividad: podrías necesitar dispositivos especializados.
- Si necesitas soporte SLA/soporte técnico 24/7, valor empresarial (MDM) suele ser mejor.
6. Mini-metodología de despliegue (pasos rápidos)
- Inventario: lista de productos y códigos de barras.
- Añadir campo “barcode” a tu CMS/BD y rellenarlo.
- Crear barcode.php que busque por barcode y devuelva URL o JSON.
- Probar con la app en 1 dispositivo.
- Preparar enlace p2spro://configure para autoconfigurar múltiples dispositivos.
- Formación rápida a trabajadores (1 hoja con pasos: abrir app, escanear, seguir enlace).
7. Checklist según rol
Administrador de TI:
- Copia de seguridad de la base de datos antes de cambios.
- Endpoint protegido con HTTPS.
- Registro (logs) de peticiones para auditoría.
Desarrollador:
- Sanitizar y validar entradas.
- Evitar consultas directas sin preparación.
- Devolver JSON con Content-Type correcto.
Responsable de almacén:
- Probar 10 códigos representativos.
- Verificar localización/stock devuelto por la web app.
8. Privacidad y conformidad (GDPR y datos personales)
- Si la respuesta incluye datos personales (por ejemplo, nombre de usuario del responsable del stock), revisa la base legal para procesarlos.
- Minimiza los datos devueltos: entrega solo lo necesario para la tarea (principio de minimización).
- Usa HTTPS; evita exponer endpoints sin autenticación si contienen información sensible.
Important: protege el endpoint con controles si la información es sensible — por ejemplo, una clave API simple o autenticación básica para uso interno.
9. Depuración y problemas comunes
Problemas frecuentes y soluciones:
- La app no llama al endpoint: comprueba que la Lookup URL está bien codificada y que el dominio es accesible desde el móvil.
- Código recibido vacío: algunos escáneres envían otros parámetros; imprime $_REQUEST para depurar.
- Respuestas lentas: optimiza consultas, añade índices a la columna meta_key en la BD.
10. Resumen y siguiente pasos
Con una inversión mínima y un poco de PHP puedes transformar móviles estándar en lectores de inventario que consultan tu base de datos existente. Para producción considera:
- Migrar la lógica a un plugin o endpoint seguro.
- Implementar autenticación y autorización si es necesario.
- Añadir métricas y logs para supervisar uso y errores.
¿Vas a probar esto en tu empresa? Comparte tu caso y problemas en los comentarios: pequeñas adaptaciones pueden cambiar mucho según tu ERP/TPV y el volumen de inventario.
Materiales similares

Cancelar o modificar tu suscripción HelloFresh

Menú Inicio estilo Windows 10 en Windows 8.1

Cómo cancelar Fabletics: guía completa

FLAC vs MP3: abrir, convertir y elegir formato

Extender GIMP con G'MIC: guía práctica
