Comenzando
La API de Pedido de Piezas permite al concesionario realizar un pedido de Piezas, Accesorios y Ropa (PA&A) desde su DMS en lugar de ir a BOSSWeb.
BOSSWeb y la API de Pedido de Piezas utilizan la misma API interna para crear el pedido en SAP.
La API de Pedido de Piezas ofrece 6 servicios:
- VALIDAR para validar el pedido antes de crearlo.
- CREAR para crear el pedido.
- VERIFICAR para verificar el estado de creación de un pedido.
- OBTENER para obtener uno o varios pedidos basados en parámetros de consulta.
- CANCELAR para cancelar uno o varios artículos de línea que aún no han sido procesados.
- PEDIDOS EN ESPERA para obtener los pedidos de piezas con al menos una pieza en espera.
Pedido de Piezas en BOSSWeb
Si sus concesionarios preguntan, la API de Pedido de Piezas se utiliza solo para los Pedidos Diarios en BOSSWeb.

¿Dónde empezar? ¡Léeme primero!
Antes de comenzar a trabajar en esta API, necesitas leer las siguientes secciones si aún no las has revisado:
- Orden, Factura y Entrega: La Historia Completa para obtener una visión general del proceso de pedido y entrega de partes.
Dependencias
Para llamar a la API de Orden de Piezas, necesitas un access_token de autenticación de concesionario obtenido de la API de Autenticación de Concesionarios.
Se requiere un access_token de autenticación de concesionario porque la API está trabajando con órdenes de piezas y con 💲💲
La API de Orden de Piezas depende de datos recuperados de otras APIs de DCP, a saber:
- API de distribuidores para recuperar los métodos de envío que están permitidos para el concesionario.
También hay una relación entre la API de Orden de Piezas y las siguientes APIs:
- API de inventario de piezas de concesionario para buscar una pieza en el inventario de los concesionarios.
Limitaciones Importantes
En la versión actual de la API de Pedido de Piezas y con la limitación de los sistemas de backend, hay un límite de 25 líneas de artículos.
Si un pedido de piezas tiene más de 25 a 30 líneas de artículos, el Validar y Crear servicio devuelve un error 504 Gateway Timeout.
El tiempo de espera es causado por el sistema de backend, que tarda más tiempo en crear el pedido de piezas que el valor de tiempo de espera en la API de Pedido de Piezas (y este valor de tiempo de espera no se puede cambiar. No me hagas empezar con esto.)
Consulta la Ver Flujo de Datos sección para obtener información sobre cómo manejar el tiempo de espera.
Pedido de Piezas con Kit
Un kit (o BOM en la jerga de BRP) es un número de parte que representa un conjunto de piezas que se venden y envían juntas.
Diferencias Importantes Entre V3 y V4
Existen diferencias pequeñas pero importantes entre las versiones V3 y V4 de la API de Pedido de Piezas.
ID de Pedido PAC
En la respuesta devuelta por el Crear servicio, la primera propiedad es el pac_order_id.
El pac_order_id es el identificador único para el pedido de piezas utilizado por SAP.
En la versión V3 el valor GUID proporcionado por su DMS en la pac_order_id propiedad es utilizado por SAP y devuelto en las respuestas de Validar y Crear .
En la versión V4 SAP utiliza el valor GUID proporcionado por su DMS en la pac_order_id propiedad y lo devuelve en la respuesta de Validar .
Sin embargo, SAP devuelve un valor diferente en la respuesta de Crear.
🛑 El pac_order_id propiedad devuelta en el Create respuesta debe ser guardada ya que es necesaria para identificar el pedido de partes en una llamada a los Cancel y Get servicios.
Número de Orden de Venta
La sales_order_no propiedad contiene el número del documento de venta que el concesionario puede usar para rastrear el pedido.
En la V3 versión de la API, la sales_order_no propiedad se repite en cada objeto de línea de artículo.
En la V4 versión de la API, la sales_order_no propiedad se encuentra solo en el encabezado.
ID de Artículo Pedido
La item_idpropiedad de un artículo identifica de manera única el artículo en SAP en todos los pedidos.
En la V3 versión, el valor GUID proporcionado por su DMS en la item_id propiedad es utilizado por SAP y devuelto en las Validate y Create respuestas.
En la V4 versión, SAP utiliza el valor GUID proporcionado por su DMS en la item_id propiedad y lo devuelve en la Validate respuesta.
Sin embargo, SAP devuelve un valor diferente en la respuesta de Create.
🛑 El item_id propiedad devuelta en el Create respuesta debe ser guardada ya que es necesaria para identificar el pedido de piezas en una llamada a los Cancel y Get servicios.
Flujo de Datos de Alto Nivel
Las siguientes secciones presentan el flujo de datos de alto nivel para los servicios que proporciona la API de Pedido de Piezas.
Estos flujos de datos son para introducir los servicios de la API de Pedido de Piezas; no son completos, y muchos detalles están documentados más adelante en otras secciones.
La API de Autenticación de Concesionarios llamada para autenticar al concesionario no se muestra en los diagramas.
Flujo de Datos de Validación/Creación
El diagrama a continuación describe el flujo de datos que simula y crea un pedido de piezas.
La información de la API de distribuidores y API de piezas son requeridas para un pedido de piezas. Al crear un pedido de piezas, el concesionario debe seleccionar un método de envío de la lista disponible. La lista de métodos de envío válidos es devuelta por la API de distribuidores.

Se cobrarán costos adicionales de envío para algunos métodos de envío. Otras condiciones del pedido, como el valor total del pedido, también pueden resultar en costos adicionales.
Por eso, el Validate servicio debe ser llamado antes del Create servicio. El servicio de Validación devuelve la misma información del pedido de piezas que el Create y permite al concesionario hacer cambios antes de enviar el pedido.
La API de Pedido de Piezas valida el pedido, y si hay costos adicionales que se deben cobrar, la carga útil devuelta contiene uno o varios mensajes de advertencia, por ejemplo:
Se cobrarán costos de envío adicionales con este método de entrega. Su pedido de PAC es inferior a 150.00$, se aplicará una tarifa de manejo de 20.00$ a la factura.
Estos mensajes de advertencia deben ser mostrados al concesionario. Después de ver las advertencias, el concesionario puede decidir aceptar los costos adicionales y crear el pedido o cancelar el pedido.
Tenga en cuenta que la API de Pedido de Piezas también devuelve estas advertencias cuando se llama al Crear servicio, pero es demasiado tarde ya que el pedido ya ha sido creado.
El Validar servicio también permite al concesionario gestionar piezas en pedido pendiente.
Por ejemplo, la respuesta de Validar puede indicar que una pieza está en pedido pendiente con BRP. El concesionario puede decidir usar el API de inventario de piezas de concesionario servicio de localización de piezas para intentar encontrar la pieza en el inventario de un concesionario. Si se encuentra una, la pieza puede ser eliminada del pedido.
En resumen, usted debe siempre llamar al Validar servicio antes del Crear servicio para validar el pedido y los costos adicionales.
En su DMS, el botón de enviar/crear no debe estar habilitado si no se realizó la validación para todos los pedidos de piezas.
Todos los mensajes de advertencia devueltos en la Validar carga útil deben ser mostrados al concesionario. Después de que se muestren los mensajes de advertencia, se debe solicitar una confirmación del concesionario antes de que se cree el pedido.
Verificar Flujo de Datos
El Verificar servicio recupera el estado de un pedido de piezas. La llamada gestiona principalmente el error 504 Gateway Timeout que la API de Pedido de Piezas devuelve cuando el pedido tiene más de 25 líneas de artículos.

Cuando la API de Orden de Piezas Crear devuelve un tiempo de espera, la idea es esperar un par de minutos y luego llamar al Verificar servicio para verificar si la orden fue creada.
El tiempo de espera se puede calcular multiplicando el número de artículos por 3 segundos.
Si el Verificar servicio devuelve un error, espera otro período y llama al Verificar servicio nuevamente hasta que la orden sea creada o hayas alcanzado un número máximo de reintentos (para evitar un bucle infinito).
Cuando la orden es creada, el Verificar servicio devuelve la información de la orden creada que se puede guardar en tu base de datos DMS.
Obtener Flujo de Datos
El servicio Obtener recupera una o muchas órdenes de piezas basadas en criterios. La búsqueda se puede realizar en:
- El ID de la orden.
- El número de orden de compra del concesionario.
- El estado de la orden.
- La fecha de creación de la orden.
- El tipo de orden.
El Obtener servicio debe ser utilizado para actualizar una orden siempre que esté abierta.
Toma un momento completar el procesamiento de la orden en el backend, así que cuando el servicio Crear devuelve la carga de la orden, no toda la información está disponible.
Por ejemplo, la información de entrega generalmente no está disponible en la carga devuelta por el Crear servicio ya que está disponible solo cuando las piezas son procesadas.
Un enfoque es llamar al Get servicio para actualizar la información del pedido cuando se muestra al concesionario.
👉Una llamada al Get servicio para recuperar una lista de pedidos de piezas, por ejemplo, utilizando un rango de fechas, también devuelve los pedidos de piezas creados por el concesionario en BOSSWeb.
❗❗ El Get servicio es esencial para ayudar al concesionario en su proceso de recepción de pedidos de piezas. ❗❗
Si los pedidos de piezas no se cargan y actualizan en su base de datos DMS, el API de entregas y API de facturas no se pueden usar para vincular las piezas recibidas al pedido de piezas.

Cancelar Flujo de Datos
El Cancel servicio le permite cancelar artículos que están en pedido pendiente en un pedido de piezas.
Tenga en cuenta que un artículo de pedido pendiente enviado o parcialmente enviado no se puede cancelar a través de la API.
❗ ❗ Es importante llamar al Get servicio para actualizar el pedido y mostrar al concesionario la información más reciente del pedido ❗ ❗
Recuerde que solo se pueden cancelar los artículos en pedido pendiente.
