Pular para o conteúdo principal

Pedido de Devolução


Cadastro de Pedido de Devolução

O endpoint PostAddReturnOrder cadastra um novo pedido de devolução no sistema MIMS e pode ser consultado através da tela EXP027.


Como cadastrar um pedido de devolução

Request HTTP Post

Tipo da RequisiçãoURL Exemplo
POST{{url_base}}/PostAddReturnOrder
Exemplohttp://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddReturnOrder"

Parâmetros de Entrada

ParâmetroTipoObrigatórioDescrição
ReturnOrderNoString(25)SimCódigo externo do pedido de devolução
BranchNoString(25)SimCódigo externo da filial
SalesOrderNoString(25)NãoCódigo externo do pedido de venda associado
LoadNoString(25)NãoCódigo externo da carga
ReturnOrderReasonNoString(25)NãoCódigo externo do motivo da devolução
ReturnOrderTypeReturnOrderTypeSimEnumerador com os possíveis valores para o Tipo da devolução: rtPartial (Parcial), rtTotal (Total) ou rtLeftovers (Sobras na Carga)
ReturnOrderDateDataHoraSimData do pedido de devolução
RegisterDateDataHoraSimData de digitação do pedido de devolução
NotesString(2000)NãoObservações do pedido de devolução
ItemListAddReturnOrderItemListSimLista de itens do pedido de devolução
Observação
  • O parâmetro SalesOrderNo é obrigatório quando o tipo do pedido de devolução (parâmetro ReturnOrderType) for rtPartial (Parcial) ou rtTotal (Total). Para o tipo rtLeftovers (Sobras na Carga), este parâmetro é desconsiderado.
  • O parâmetro LoadNo é obrigatório quando o tipo do pedido de devolução (parâmetro ReturnOrderType) for rtLeftovers (Sobras na Carga). Para os tipos rtPartial (Parcial) ou rtTotal (Total), este parâmetro é desconsiderado.

📝 Objeto AddReturnOrderItemList

O objeto AddReturnOrderItemList representa um item do pedido de devolução.

Parâmetros de entrada

ParâmetroTipoObrigatórioDescrição
ItemNoString(25)NãoCódigo externo do item do pedido de devolução
SalesOrderItemNoString(25)NãoCódigo externo do item do pedido de venda.
ProductNoString(25)SimCódigo externo do produto
ReturnOrderItemReasonNoString(25)NãoCódigo externo do motivo da devolução do item do pedido de venda
UnitValueFloatNãoValor unitário
QtyIntegerNãoQuantidade de caixas devolvidas
WeightFloatNãoPeso devolvido
TotalValueFloatNãoValor total
Observação
  • O parâmetro SalesOrderItemNo é ignorado quando o tipo do pedido de devolução (parâmetro ReturnOrderType) for rtLeftovers (Sobras na Carga).
  • O parâmetro Qty deve ser informado quando o parâmetro Weight não for preenchido na requisição e vice-versa.

Retorno

ParâmetroTipoObrigatórioDescrição
WebServiceReturnWebServiceReturnSimInformações padrão de resposta do WebService na execução do método
ReturnOrderCodeIntegerSimCódigo interno do pedido de devolução gerado no sistema MIMS

Exemplo 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": "Devolução por defeito no produto.",
"ItemList": [
{
"ItemNo": "3583",
"ProductNo": "PROD001",
"ReturnOrderItemReasonNo": "2",
"UnitValue": 25.50,
"Qty": 5,
"Weight": 10.0,
"TotalValue": 127.50
}
]
}'

Exemplo de Response

{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
},
"ReturnOrderCode": 789
}

🐞 Possíveis Erros

CódigoMensagem
ARO‑001Parâmetro Código Externo da Devolução (ReturnOrderNo) informado já existe!
ARO‑002Existe outra Devolução não fechada para o mesmo Pedido de Venda. Operação não permitida!
ARO‑003Existe outra Devolução Total para o mesmo Pedido de Venda. Operação não permitida!
ARO‑004Existe outra Devolução parcial para o mesmo Pedido de Venda. Criação de Devolução Total não permitida!
ARO‑005O total de caixas devolvidas para o Produto "[valor enviado na requisição]" não pode ser maior ou igual ao número de caixas expedidas. Operação não permitida!
ARO‑006O item do pedido de devolução "[descrição do parâmetro]" valor "[valor enviado na requisição]" no índice [[código do índice]] deverá ter Quantidade "Qty" ou Peso "Weight" informado!
ARO‑007O produto "[valor enviado na requisição]" informado no parâmetro "ProductNo" no índice [[código do índice]] não existe no pedido de venda "[valor enviado na requisição]" informado no parâmetro "SalesOrderNo". A devolução não pode ser realizada!
ARO‑008O produto "[valor enviado na requisição]" informado no parâmetro "ProductNo" no índice [[código do índice]] não existe no pedido de venda vinculado na carga "[valor enviado na requisição]" informada no parâmetro "LoadNo". A devolução não pode ser realizada!


Exclusão de Pedido de Devolução

O endpoint PostDeleteReturnOrder é responsável por executar a exclusão de um pedido de devolução no sistema MIMS.


Como excluir um Pedido de devolução

Request HTTP Post

Tipo da RequisiçãoURL Exemplo
POST{{url_base}}/PostDeleteReturnOrder
Exemplohttp://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteReturnOrder"

Parâmetros de Entrada

ParâmetroTipoObrigatórioDescrição
ReturnOrderNoString(25)SimCódigo externo do pedido de devolução
ErrorIfNotFoundBooleanNãoRetorna erro caso o pedido informado não exista no banco de dados

Retorno

ParâmetroTipoObrigatórioDescrição
WebServiceReturnWebServiceReturnSimInformações padrão de resposta do WebService na execução do método

Exemplo de Request

curl --location 'http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteReturnOrder"' \
--header 'Content-Type: application/json' \
--data '{
"ReturnOrderNo": "RET123",
"ErrorIfNotFound": false
}'

Exemplo de Response

{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
}
}

🐞 Possíveis Erros

CódigoMensagem
DRO‑001O status atual do Pedido de Devolução ([status atual do pedido de devolução]) informado não permite exclusão!