Operaciones no soportadas actualmente:
- Inventario administrado por seriales.
Inventario administrado sin etiquetas
Para aquel inventario que es administrado sin etiquetas, se pueden crear crear órdenes de salida y dejarlas en estado "Enviada".
Consideraciones:
- Los números de parte deben tener habilitada la configuración "Manejar inventario por número de parte sin usar etiquetas".
- Es obligatorio indicar un transportista previamente configurado en el sistema.
- Es obligatorio indicar la localidad de donde se tomará el inventario.
Pasos para crear órdenes de salida y dejarlas en estado enviada:
- Utiliza la API /api/v2/shippingorders/create
-
{
"shippingOrders": [
{
"supplier": "Account name",
"warehouse": "Warehouse name",
"shipTo": "Ship to account name",
"targetStatus": 600,
"carrier": "Carrier name",
"lineItems": [
{
"partNumber": "Part number name",
"quantity": 10,
"location": "A-1-A"
}
]
}
]
} - Realiza un POST con la solicitud anterior. Si las órdenes se crean exitosamente con el estado "Listo para enviar", recibirás una respuesta similar a la siguiente, la cual incluirá los id's de las órdenes de salida generadas:
-
{
"shippingOrders": [
{
"id": 2102
}
]
} - Utiliza la API /shipping/express/batch/ship para comunicar los id's de las órdenes de salidas generados en el paso #3.
-
{
"changeStatusBatch": {
"shippingOrders": [
2102
]
}
} - Realiza un POST de la solicitud anterior. Si las órdenes se modifican exitosamente al estado "Enviada", recibirás una respuesta similar a la siguiente:
-
{
"orders": {
"detailedResponse": [
{
"orderId": 2102,
"messages": [],
"isSuccess": true
}
]
}
}
Inventario administrado por etiqueta
Para aquel inventario que es administrado con etiquetas, se pueden crear crear órdenes de salida y dejarlas en estado "Enviada".
Consideraciones:
- Se debe especificar las etiquetas y la cantidad a retirar de cada etiqueta.
- Los números de parte deben utilizar las etiquetas predeterminadas del sistema o tener habilitada la configuración "Usar etiquetas personalizadas".
- Es obligatorio indicar un transportista previamente configurado en el sistema.
- No se soporta el envío de seriales.
Pasos para crear órdenes de salida y dejarlas en estado enviada:
- Utilliza un BQI para obtener las etiquetas que deben enviarse en la orden, basándose en el criterio adecuado para la operación que se va a realizar (PEPS, UEPS, Fecha de expiración, selección directa, etc).
- Utiliza la API /api/v2/shippingorders/create
-
{
"shippingOrders": [
{
"supplier": "Account name",
"warehouse": "Warehouse name",
"shipTo": "Ship to account name",
"targetStatus": 600,
"carrier": "Carrier name",
"lineItems": [
{
"label": "LBL-0000rcdy",
"quantity": 10,
}
]
}
]
} - Realiza un POST con la solicitud anterior. Si las órdenes se crean exitosamente con el estado "Listo para enviar", recibirás una respuesta similar a la siguiente, la cual incluirá los id's de las órdenes de salida generadas:
-
{
"shippingOrders": [
{
"id": 2102
}
]
} - Utiliza la API /shipping/express/batch/ship para comunicar los id's de las órdenes de salidas generados en el paso #3.
-
{
"changeStatusBatch": {
"shippingOrders": [
2102
]
}
} - Realiza un POST de la solicitud anterior. Si las órdenes se modifican exitosamente al estado "Enviada", recibirás una respuesta similar a la siguiente:
-
{
"orders": {
"detailedResponse": [
{
"orderId": 2102,
"messages": [],
"isSuccess": true
}
]
}
}
Posibles errores que se pueden presentar con las etiquetas
Al utilizar la API /api/v2/shippingorders/create, es necesario especificar las etiquetas que serán utilizadas para la orden, pero puede presentarse la situación donde alguna de las etiquetas especificadas no sea válida por diferentes motivos, a continuación se enlistan algunas de las razones por las que una etiqueta puede ser inválida junto al mensaje de error que el sistema devuelve:
- La etiqueta se encuentra en otro almacén diferente al especificado para la orden.
{
"label": [
"The label does not exist or is not valid for current warehouse"
]
}
2. La etiqueta pertenece a otra cuenta diferente de la cuenta considerada para la orden.
{
"label": [
"The label does not belong to the account"
]
}
3. La totalidad de la etiqueta ya se encuentra comprometida con otra orden o ya fue enviada previamente en una orden diferente.
{
"label": [
"Label is not available for shipping"
]
}
4. La etiqueta no tiene cantidad disponible suficiente.
{
"label": [
"The stock does not have enough product available"
]
}
5. La etiqueta no se encuentra registrada en el sistema.
{
"label": [
"The label does not exist"
]
}
Cuando la petición contiene etiquetas inválidas el sistema regresa un código 422 como respuesta junto a una estructura JSON que puede cambiar dependiendo de si todas las etiquetas son inválidas o hay por lo menos una etiqueta válida:
1. Sí todas las etiquetas son inválidas se comunica la siguiente estructura:
{
"errors": {
"0": {
"lineItems": [
{
"label": [
"The label does not exist or is not valid for current warehouse"
]
},
{
"label": [
"The label does not belong to the account"
]
}
]
}
}
}
2. Si hay por lo menos una etiqueta válida, el sistema regresa la estructura JSON con el número de las posiciones de las etiquetas inválidas, por ejemplo, suponiendo que la etiqueta con la posición 2 del array es válida pero las demás etiquetas no, el sistema regresa la siguiente estructura JSON:
{
"errors": {
"0": {
"lineItems": {
"0": {
"label": [
"The label does not exist or is not valid for current warehouse"
]
},
"1": {
"label": [
"The label does not belong to the account"
]
},
"3": {
"label": [
"Label is not available for shipping"
]
},
"4": {
"label": [
"Label is not available for shipping"
]
}
}
}
}
}
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.