Pedido de Devolución
Registro de Pedido de Devolución
El endpoint PostAddReturnOrder registra una nueva orden de devolución en el sistema MIMS y puede ser consultada a través de la pantalla EXP027.
Cómo registrar una orden de devolución
HTTP POST Request
| Tipo de Solicitud | URL Ejemplo |
|---|---|
| POST | {{url_base}}/PostAddReturnOrder |
| Ejemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddReturnOrder" |
Parámetros de Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| ReturnOrderNo | String(25) | Sí | Código externo de orden de devolución |
| BranchNo | String(25) | Sí | Código externo de la filial |
| SalesOrderNo | String(25) | No | Código externo de orden de venta asociada |
| LoadNo | String(25) | No | Código externo de carga |
| ReturnOrderReasonNo | String(25) | No | Código externo del motivo de devolución |
| ReturnOrderType | ReturnOrderType | Sí | Enumerador con los posibles valores para Tipo de Devolución: rtPartial (Parcial), rtTotal (Total) o rtLeftovers (Sobras de Carga) |
| ReturnOrderDate | DataHora | Sí | Fecha de orden de devolución |
| RegisterDate | DataHora | Sí | Fecha de entrada de orden de devolución |
| Notes | String(2000) | No | Observaciones de orden de devolución |
| ItemList | AddReturnOrderItemList | Sí | Lista de items de orden de devolución |
Observación
- El parámetro
SalesOrderNoes obligatorio cuando el tipo de orden de devolución (parámetroReturnOrderType) esrtPartial(Parcial) ortTotal(Total). Para el tiportLeftovers(Sobras de Carga), este parámetro es ignorado. - El parámetro
LoadNoes obligatorio cuando el tipo de orden de devolución (parámetroReturnOrderType) esrtLeftovers(Sobras de Carga). Para los tiposrtPartial(Parcial) ortTotal(Total), este parámetro es ignorado.
📝 Objeto AddReturnOrderItemList
El objeto AddReturnOrderItemList representa un item de orden de devolución.
Parámetros de Entrada
Parámetro Tipo Obligatorio Descripción ItemNo String(25) No Código externo de item de orden de devolución SalesOrderItemNo String(25) No Código externo de item de orden de venta. ProductNo String(25) Sí Código externo del producto ReturnOrderItemReasonNo String(25) No Código externo del motivo de devolución para el item de orden de venta UnitValue Float No Valor unitario Qty Integer No Cantidad de cajas devueltas Weight Float No Peso devuelto TotalValue Float No Valor total Observación
- El parámetro
SalesOrderItemNoes ignorado cuando el tipo de orden de devolución (parámetroReturnOrderType) esrtLeftovers(Sobras de Carga).- El parámetro
Qtydebe ser informado cuando el parámetroWeightno está lleno en la solicitud y viceversa.
Retorno
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| WebServiceReturn | WebServiceReturn | Sí | Informaciones estándar de respuesta del WebService en la ejecución del método |
| ReturnOrderCode | Integer | Sí | Código interno de orden de devolución generado en el sistema MIMS |
Ejemplo de Request
curl --location 'http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddReturnOrder"' \
--header 'Content-Type: application/json' \
--data '{
"ReturnOrderNo": "RET123",
"SalesOrderNo": "SO456",
"BranchNo": "BR001",
"ReturnOrderDate": "2025-02-07T14:30:00Z",
"RegisterDate": "2025-02-07T15:00:00Z",
"ReturnOrderReasonNo": "REAS001",
"ReturnOrderType": "rtPartial",
"Notes": "Devolución por defecto en el producto.",
"ItemList": [
{
"ItemNo": "3583",
"ProductNo": "PROD001",
"ReturnOrderItemReasonNo": "2",
"UnitValue": 25.50,
"Qty": 5,
"Weight": 10.0,
"TotalValue": 127.50
}
]
}'
Ejemplo de Response
{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
},
"ReturnOrderCode": 789
}
🐞 Posibles Errores
| Código | Mensaje |
|---|---|
| ARO‑001 | El parámetro Código Externo de Orden de Devolución (ReturnOrderNo) informado ya existe! |
| ARO‑002 | Existe otra Devolución sin cerrar para la misma Orden de Venta. Operación no permitida! |
| ARO‑003 | Existe otra Devolución Total para la misma Orden de Venta. Operación no permitida! |
| ARO‑004 | Existe otra devolución parcial para la misma Orden de Venta. Creación de Devolución Total no permitida! |
| ARO‑005 | El total de cajas devueltas para el Producto "[valor enviado en la solicitud]" no puede ser mayor o igual al número de cajas expedidas. Operación no permitida! |
| ARO‑006 | El item de orden de devolución "[descripción del parámetro]" valor "[valor enviado en la solicitud]" en el índice [[código del índice]] debe tener Cantidad "Qty" o Peso "Weight" informado! |
| ARO‑007 | El producto "[valor enviado en la solicitud]" informado en el parámetro "ProductNo" en el índice [[código del índice]] no existe en la orden de venta "[valor enviado en la solicitud]" informada en el parámetro "SalesOrderNo". La devolución no puede ser realizada! |
| ARO‑008 | El producto "[valor enviado en la solicitud]" informado en el parámetro "ProductNo" en el índice [[código del índice]] no existe en la orden de venta vinculada en la carga "[valor enviado en la solicitud]" informada en el parámetro "LoadNo". La devolución no puede ser realizada! |
Exclusión de Pedido de Devolución
El endpoint PostDeleteReturnOrder es responsable de ejecutar la exclusión de una orden de devolución en el sistema MIMS.
Cómo excluir una Orden de Devolución
HTTP POST Request
| Tipo de Solicitud | URL Ejemplo |
|---|---|
| POST | {{url_base}}/PostDeleteReturnOrder |
| Ejemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteReturnOrder" |
Parámetros de Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| ReturnOrderNo | String(25) | Sí | Código externo de orden de devolución |
| ErrorIfNotFound | Boolean | No | Retorna error si la orden informada no existe en la base de datos |
Retorno
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| WebServiceReturn | WebServiceReturn | Sí | Informaciones estándar de respuesta del WebService en la ejecución del método |
Ejemplo de Request
curl --location 'http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteReturnOrder"' \
--header 'Content-Type: application/json' \
--data '{
"ReturnOrderNo": "RET123",
"ErrorIfNotFound": false
}'
Ejemplo de Response
{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
}
}
🐞 Posibles Errores
| Código | Mensaje |
|---|---|
| DRO‑001 | El estado actual de la Orden de Devolución ([estado actual de la orden de devolución]) informado no permite exclusión! |