Guía rápida para crear un API

Guía rápida para crear un API
Crear APIS en Coldfusion es un proceso muy simple. Las APIS son fundamentales para las apps.
💡
Supongamos que "Tenemos un sistema de e-commerce y queremos exponer APIS para que Nuestros almacenes sepan lo que deben enviar, ellos ya tiene sus propios sistemas, lo único que requieren es la data."

¡Les Urge un API!"

¿Necesitas construir un endpoint para que tus clientes puedan obtener data o hacer operaciones? Te decimos cómo en 5 sencillos pasos.

Las preguntas que deben hacerse son -

1) ¿Cómo lo Estructuro?
2) ¿Cómo lo Construyo?
3) ¿Cómo lo Registro?,
4) ¿Cómo lo Configuro?,
5) ¿Cómo lo Uso?.

paso 1.

Lo importante al construir APIS es pensar en la estructura. Se recomienda seguir un patrón REST, donde quien quiera acceder a la información pueda inferir que se trata de una estructura ordenada por objetos con métodos asociados al tipo de request que se haga, no es obligatorio, pero si muy recomendable.

Sabemos get GET es para traer, PUT es para actualizar y POST es para crear - Entonces, en nuestro ejemplo recomendamos pensar en algo así, todo orientado a "Ordenes" o alguna orden específica.

/Ordenes     (GET)	para traer todas las ordenes
/Ordenes/ID  (GET)  para traer el detalle de una orden particular
/Ordenes/ID  (PUT)  para actualizar el sistema sobre el status de envio
/Ordenes     (POST) por si algun cliente compra directo en almacen
/Ordenes/ID  (DELETE) para cancelar ordenes

Ya que sabemos como construir la estructura usando REST veamos el formato y la estructura para cada objeto contenido dentro de cada request. Ustedes la definen.

Lo recomendable es que usen JSON en lugar de XML/SOAP. Resulta mucho mas simple de generar, leer y de trabajar. El objeto que vamos a regresar es "la Orden" que probablemente se vea algo así

{
"orderId":"ABC-12345",
"orderDate":"2023-09-25 15:20",
"orderItems":[
    {
    "sku":"ID1",
    "qty":1,
    "name":"IPhone"
    },
    {
    "sku":"ID2",
    "qty":2,
    "name":"USB-C Cable"
    }
],
"orderAddress":{
"street":"Providencia 11",
"zip":"12345",
"state":"MOR"
},
"orderTotal":35000,
"orderCurrency":"MXP",
"orderStatus":{
    "code":2,
    "value":"PENDING"
    }
}

Evidentemente, si es más de una orden, estas vendrán dentro de un arreglo.