Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SETI Technical Lead — ACME Envío de Pedidos

Descripción

API REST que actúa como puente hacia un servicio SOAP para el ciclo de abastecimiento de ACME. Recibe pedidos en JSON, los transforma a XML (SOAP), los envía al servicio externo y retorna la respuesta en JSON.

Nota: El servicio soap-mock (api-node) no hace parte de los requisitos de la prueba técnica. La prueba incluía el endpoint https://run.mocky.io/v3/19217075-6d4e-4818-98bc-416d1feb7b84, sin embargo dicho endpoint no se encontraba disponible (fue confirmado desde el inicio de la prueba). Por esta razón se implementó un mock local con Node.js que simula el comportamiento del servicio externo.


Servicios

Servicio Puerto Descripción
api-bridge 8080 API REST Spring Boot
soap-mock Mock SOAP (Node.js, red interna) — éxito/fallo aleatorio

Levantar con Docker

docker-compose up --build

Detener:

docker-compose down

Swagger UI

http://localhost:8080/swagger-ui.html

Ejemplo de petición

POST http://localhost:8080/api/v1/pedidos/enviar

{
  "enviarPedido": {
    "numPedido": "75630275",
    "cantidadPedido": "1",
    "codigoEAN": "00110000765191002104587",
    "nombreProducto": "Armario INVAL",
    "numDocumento": "1113987400",
    "direccion": "CR 72B 45 12 APT 301"
  }
}

Respuesta exitosa:

{
  "enviarPedidoRespuesta": {
    "codigoEnvio": "80375472",
    "estado": "Entregado exitosamente al cliente"
  }
}

Respuesta fallida:

{
  "enviarPedidoRespuesta": {
    "codigoEnvio": "-1",
    "estado": "Error al procesar el pedido, intente nuevamente"
  }
}

About

Technical Lead assessment: REST API design for supply chain management with XML order processing and shipment tracking.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages