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ção | URL Exemplo |
|---|---|
| POST | {{url_base}}/PostAddReturnOrder |
| Exemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddReturnOrder" |
Parâmetros de Entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| ReturnOrderNo | String(25) | Sim | Código externo do pedido de devolução |
| BranchNo | String(25) | Sim | Código externo da filial |
| OriginBranchNo | String(25) | Não | Código externo da filial da expedição do pedido de venda |
| SalesOrderNo | String(25) | Não | Código externo do pedido de venda associado |
| LoadNo | String(25) | Não | Código externo da carga |
| ReturnOrderReasonNo | String(25) | Não | Código externo do motivo da devolução |
| ReturnOrderType | ReturnOrderType | Sim | Enumerador com os possíveis valores para o Tipo da devolução: rtPartial (Parcial), rtTotal (Total) ou rtLeftovers (Sobras na Carga) |
| ReturnOrderDate | DataHora | Sim | Data do pedido de devolução |
| RegisterDate | DataHora | Sim | Data de digitação do pedido de devolução |
| Notes | String(2000) | Não | Observações do pedido de devolução |
| ItemList | AddReturnOrderItemList | Sim | Lista de itens do pedido de devolução |
Observação
- O parâmetro
SalesOrderNoé obrigatório quando o tipo do pedido de devolução (parâmetroReturnOrderType) forrtPartial(Parcial) ourtTotal(Total). Para o tiportLeftovers(Sobras na Carga), este parâmetro é desconsiderado. - O parâmetro
LoadNoé obrigatório quando o tipo do pedido de devolução (parâmetroReturnOrderType) forrtLeftovers(Sobras na Carga). Para os tiposrtPartial(Parcial) ourtTotal(Total), este parâmetro é desconsiderado. - O parâmetro
OriginBranchNodeve 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âmetro Tipo Obrigatório Descrição ItemNo String(25) Não Código externo do item do pedido de devolução SalesOrderItemNo String(25) Não Código externo do item do pedido de venda. ProductNo String(25) Sim Código externo do produto ReturnOrderItemReasonNo String(25) Não Código externo do motivo da devolução do item do pedido de venda UnitValue Float Não Valor unitário Qty Integer Não Quantidade de caixas devolvidas Weight Float Não Peso devolvido TotalValue Float Não Valor total Observação
- O parâmetro
SalesOrderItemNoé ignorado quando o tipo do pedido de devolução (parâmetroReturnOrderType) forrtLeftovers(Sobras na Carga).- O parâmetro
Qtydeve ser informado quando o parâmetroWeightnão for preenchido na requisição e vice-versa.
Retorno
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| WebServiceReturn | WebServiceReturn | Sim | Informações padrão de resposta do WebService na execução do método |
| ReturnOrderCode | Integer | Sim | Có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ódigo | Mensagem |
|---|---|
| ARO‑001 | Parâmetro Código Externo da Devolução (ReturnOrderNo) informado já existe! |
| ARO‑002 | Existe outra Devolução não fechada para o mesmo Pedido de Venda. Operação não permitida! |
| ARO‑003 | Existe outra Devolução Total para o mesmo Pedido de Venda. Operação não permitida! |
| ARO‑004 | Existe outra Devolução parcial para o mesmo Pedido de Venda. Criação de Devolução Total não permitida! |
| ARO‑005 | O 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‑006 | O 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‑007 | O 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‑008 | O 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‑009 | Pedidos 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‑010 | O 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ção | URL Exemplo |
|---|---|
| POST | {{url_base}}/PostDeleteReturnOrder |
| Exemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteReturnOrder" |
Parâmetros de Entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| ReturnOrderNo | String(25) | Sim | Código externo do pedido de devolução |
| ErrorIfNotFound | Boolean | Não | Retorna erro caso o pedido informado não exista no banco de dados |
Retorno
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| WebServiceReturn | WebServiceReturn | Sim | Informaçõ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ódigo | Mensagem |
|---|---|
| DRO‑001 | O status atual do Pedido de Devolução ([status atual do pedido de devolução]) informado não permite exclusão! |