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)Código externo de orden de devolución
BranchNoString(25)Código externo de la filial
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
ReturnOrderTypeReturnOrderTypeEnumerador con los posibles valores para Tipo de Devolución: rtPartial (Parcial), rtTotal (Total) o rtLeftovers (Sobras de Carga)
ReturnOrderDateDataHoraFecha de orden de devolución
RegisterDateDataHoraFecha de entrada de orden de devolución
NotesString(2000)NoObservaciones de orden de devolución
ItemListAddReturnOrderItemListLista 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.

📝 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)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
WebServiceReturnWebServiceReturnInformaciones estándar de respuesta del WebService en la ejecución del método
ReturnOrderCodeIntegerCó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!


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)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
WebServiceReturnWebServiceReturnInformaciones 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!