Ver Mensaje Individual
  #2006  
Antiguo 25-10-2021
hago_preguntas hago_preguntas is offline
Registrado
 
Registrado: oct 2021
Posts: 8
Reputación: 0
hago_preguntas Va por buen camino
Cita:
Empezado por rci Ver Mensaje
Hola, he estado haciendo pruebas al generar la ruta para el QR y al final creo que Araba funciona de una forma y Bizkaia y Gipuzkoa de otra.


Estaba haciendo pruebas de QR para Araba y en un caso me contestó lo de "parámetros incorrectos". El identificador TBAI de esa factura tiene una barra /
En mi proceso para generar el QR hacia URL encoding de los valores para construir la URL y después generaba el CRC.

Para Bizkaia y Gipuzkoa esto es correcto y funciona. Pero para Araba no, pregunté y me contestaron que el CRC lo tengo que calcular antes del URL encoding.
Si lo hago de esta forma ya funciona pero claro... preferiria hacerlo siempre igual


Probando probando también vi que si no hago URL encoding en ningún momento, y no sustituyo la barra por %2F también funciona y funciona haciendo lo mismo para las tres diputaciones, lo cual me gusta, pero claro, en la documentación dice que tenemos que hacer el encoding y supongo que habrá algún otro carácter que no sea aceptado en una URL y falle si no lo recodifico.


Volví a preguntar a Araba y me contestaron:


Vosotros estais filtrando los valores que pasamos como parámetros en la URL del QR o no? Antes y después de generar el QR dependiendo de la diputación?



Muchas gracias y disculpad por tantas preguntas


Saludos
Nos ha pasado con Álava y Guipúzcoa que son las que estamos probando.

Nosotros codificamos los parámetros de la consulta que va en la URL antes de codificar el QR, sin mirar la diputación, que es lo que señala la especificación, pero, como dices, Álava no sigue su especificación, la cual indica que hay que calcular el crc sobre el contenido del QR, y en dicho contenido los parámetros de la consulta de la URL deben estar codificados (URL encondig, que también señalan en su especificación), y por lo tanto la /, el +, los espacios, etc... se sustituyen por sus códigos hexadecimales precedidos del %, para que la URL sea correcta y se pueda navegar a la misma (otra cosa es que muchos navegadores analicen las URLs y las codifiquen y reescriban correctamente antes de hacer la petición).

Lo suyo sería que siguieran sus especificaciones, pero sino lo hacen (deberían de cambiar las especificaciones), tocará calcular sólo la parte del crc de manera distinta en función de la administración que es el parámetro que parece que falla (¡¡¡y eso que es sólo una comunidad con 3 provincias, el día que salte a nivel nacional algo parecido, va a ser un caos!!!).
Responder Con Cita