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 |
| 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.
📝 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! |
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! |