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
OriginBranchNoString(25)NãoCódigo externo da filial da expedição do pedido de venda
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.
  • O parâmetro OriginBranchNo deve ser informado apenas quando a devolução for recebida em uma filial diferente da filial de expedição do pedido. Nos demais casos, esse parâmetro não deve ser preenchido

📝 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!
ARO‑009Pedidos de devolução provenientes de outra filial (parâmetro OriginBranchNo informado) não podem ser do tipo “Sobras na carga”. A devolução não pode ser processada.
ARO‑010O cadastro do produto informado "[descrição do parâmetro]" valor "[valor enviado na requisição]" no índice [[código do índice]] está incompleto, faltam informações específicas para a filial. Processo abortado!


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!