Artículos sobre: Integraciones

Codificación de caracter diagonal "/" en la API

¿Por qué no puedo usar el caracter / diagonal en los códigos de productos y clientes en la API?

Explicación corta:

El caracter "/" está reservado para denotar jerarquías en la URL, por lo tanto solamente se puede utilizar para ello.

Explicación detallada:

Al consultar endpoints de la API web, como el de clientes:

GET/api/v2/customer/{customerCode}


Si el código de cliente contiene espacios, u otros símbolos, debe de codificarse como UTF-8, donde un código de cliente como 

MI CLIENTE

Se codifica a:

MI%20CLIENTE%0A

Esto lo puedes probar en un codificador en línea o en tu lenguaje de programación favorito.

Codificar de esta manera, permite incluir en tus códigos de cliente caracteres como puntos, símbolos +, -, etc.

Sin embargo, el caracter "/" es un caracter reservado en el uso de URLs, que sirve para denotar jerarquía, como lo indica la W3, el consorcio que estandariza la web:

https://www.w3.org/Addressing/URL/4_URI_Recommentations.html



Por lo tanto, el framework web que utilizamos toma las diagonales en las URLs de la misma manera, como separador de jerarquía.

Para poder utilizar estos endpoints de la API, la recomendación sería remover las diagonales del código de cliente, si es que se tienen.


Puede resultar un poco confuso pues Handy permite que utilices diagonales en el código de producto o cliente, pero este problema solamente se presenta si lo usas en colaboración con la API.

Vamos a trabajar en mejorar este componente para en el futuro poder especificar la diagonal en el cuerpo de la solicitud.

Actualizado el: 12/10/2021

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!