Saltar al contenido principal

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 SolicitudURL Ejemplo
POST{{url_base}}/PostAddReturnOrder
Ejemplohttp://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddReturnOrder"

Parámetros de Entrada​

ParámetroTipoObligatorioDescripción
ReturnOrderNoString(25)SíCódigo externo de orden de devolución
BranchNoString(25)SíCódigo externo de la filial
OriginBranchNoString(25)NoCódigo externo de la filial de expedición de la orden de venta
SalesOrderNoString(25)NoCódigo externo de orden de venta asociada
LoadNoString(25)NoCódigo externo de carga
ReturnOrderReasonNoString(25)NoCódigo externo del motivo de devolución
ReturnOrderTypeReturnOrderTypeSíEnumerador con los posibles valores para Tipo de Devolución: rtPartial (Parcial), rtTotal (Total) o rtLeftovers (Sobras de Carga)
ReturnOrderDateDataHoraSíFecha de orden de devolución
RegisterDateDataHoraSíFecha de entrada de orden de devolución
NotesString(2000)NoObservaciones de orden de devolución
ItemListAddReturnOrderItemListSíLista de items de orden de devolución
Observación
  • El parámetro SalesOrderNo es obligatorio cuando el tipo de orden de devolución (parámetro ReturnOrderType) es rtPartial (Parcial) o rtTotal (Total). Para el tipo rtLeftovers (Sobras de Carga), este parámetro es ignorado.
  • El parámetro LoadNo es obligatorio cuando el tipo de orden de devolución (parámetro ReturnOrderType) es rtLeftovers (Sobras de Carga). Para los tipos rtPartial (Parcial) o rtTotal (Total), este parámetro es ignorado.
  • El parámetro OriginBranchNo debe ser informado únicamente cuando la devolución sea recibida en una filial diferente de la filial de expedición de la orden de venta. En los demás casos, este parámetro no debe ser llenado.

📝 Objeto AddReturnOrderItemList​

El objeto AddReturnOrderItemList representa un item de orden de devolución.

Parámetros de Entrada​

ParámetroTipoObligatorioDescripción
ItemNoString(25)NoCódigo externo de item de orden de devolución
SalesOrderItemNoString(25)NoCódigo externo de item de orden de venta.
ProductNoString(25)SíCódigo externo del producto
ReturnOrderItemReasonNoString(25)NoCódigo externo del motivo de devolución para el item de orden de venta
UnitValueFloatNoValor unitario
QtyIntegerNoCantidad de cajas devueltas
WeightFloatNoPeso devuelto
TotalValueFloatNoValor total
Observación
  • El parámetro SalesOrderItemNo es ignorado cuando el tipo de orden de devolución (parámetro ReturnOrderType) es rtLeftovers (Sobras de Carga).
  • El parámetro Qty debe ser informado cuando el parámetro Weight no está lleno en la solicitud y viceversa.

Retorno​

ParámetroTipoObligatorioDescripción
WebServiceReturnWebServiceReturnSíInformaciones estándar de respuesta del WebService en la ejecución del método
ReturnOrderCodeIntegerSí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ódigoMensaje
ARO‑001El parámetro Código Externo de Orden de Devolución (ReturnOrderNo) informado ya existe!
ARO‑002Existe otra Devolución sin cerrar para la misma Orden de Venta. Operación no permitida!
ARO‑003Existe otra Devolución Total para la misma Orden de Venta. Operación no permitida!
ARO‑004Existe otra devolución parcial para la misma Orden de Venta. Creación de Devolución Total no permitida!
ARO‑005El 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‑006El 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‑007El 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‑008El 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!
ARO‑009Las devoluciones provenientes de otra sucursal (con el parámetro OriginBranchNo informado) no pueden ser del tipo “Sobrantes de carga”. La devolución no puede ser procesada.
ARO‑010El registro del producto informado "[descripción del parámetro]" con valor "[valor enviado en la solicitud]" en el índice [[código del índice]] está incompleto, faltan informaciones específicas para la sucursal. ¡Proceso abortado!


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 SolicitudURL Ejemplo
POST{{url_base}}/PostDeleteReturnOrder
Ejemplohttp://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteReturnOrder"

Parámetros de Entrada​

ParámetroTipoObligatorioDescripción
ReturnOrderNoString(25)SíCódigo externo de orden de devolución
ErrorIfNotFoundBooleanNoRetorna error si la orden informada no existe en la base de datos

Retorno​

ParámetroTipoObligatorioDescripción
WebServiceReturnWebServiceReturnSí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ódigoMensaje
DRO‑001El estado actual de la Orden de Devolución ([estado actual de la orden de devolución]) informado no permite exclusión!