Pedido de Venda
Cadastro de Pedido de Venda
O endpoint PostAddSalesOrder é responsável por cadastrar um pedido de venda no sistema MIMS e pode ser consultado na tela COM002.
Como cadastrar um pedido de venda
Request HTTP Post
| Tipo da Requisição | URL Exemplo |
|---|---|
| POST | {{url_base}}/PostAddSalesOrder |
| Exemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddSalesOrder" |
Parâmetros de Entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| SalesOrderNo | String(25) | Sim | Código externo do pedido |
| BranchNo | String(25) | Sim | Código externo da filial |
| CustomerNo | String(25) | Sim | Código externo do cliente |
| CustomerAuxiliaryNo | String(25) | Não | Código externo auxiliar do cliente |
| SellerNo | String(25) | Sim | Código externo do vendedor |
| SalesOrderDate | DataHora | Sim | Data do pedido |
| DeliveryDate | DataHora | Sim | Data de entrega |
| RegisterDate | DataHora | Sim | Data de digitação do pedido |
| FreightType | FreightType | Sim | Enumerador com os possíveis valores para o tipo de frete: ftShipper (CIF) ou ftRemittee (FOB) |
| FreightValue | Float | Não | Valor de Frete |
| DeliveryAddress | AddressInfo | Não | Objeto que contém as informações do endereço de entrega do pedido |
| BillingAddress | AddressInfo | Não | Objeto que contém as informações do endereço de cobrança do pedido |
| SalesOrderTypeNo | String(25) | Não | Código externo do tipo do pedido |
| LoadNo | String(25) | Não | Código externo da carga do pedido |
| InspectionGroupNo | String(25) | Não | Código externo do grupo de inspeção |
| DistributionCenterNo | String(25) | Não | Código externo do centro de distribuição da carga |
| EnteredUserNo | String(25) | Não | Código externo do usuário que digitou o pedido |
| LogisticsTypeNo | String(25) | Não | Código externo do tipo logístico |
| Notes | String(2000) | Não | Observações do pedido |
| InvoiceNotes | String(2000) | Não | Observações da nota fiscal do pedido |
| SalesOrderKind | SalesOrderKind | Não | Enumerador com os possíveis valores para o tipo (espécie) de pedido de venda: skNormal (Normal), skDiverse (Diverso) ou skDirectSale (Venda Direta) |
| ValidateSellerByUser | Boolean | Não | Flag que indica que o parâmetro do código externo do vendedor será validado pelo código do usuário |
| UsesDeliveryDevice | Boolean | Não | Flag que indica que o pedido utiliza dispositivo de entrega |
| OverwriteIfExists | Boolean | Não | Flag que indica que os dados devem ser sobrescritos caso o registro já exista |
| ItemList | AddSalesOrderItemList | Não | Lista de itens do pedido de venda |
Observação
- O parâmetro
ItemListé obrigatório quando o pedido não for do tipo Diverso, ou seja, quando o parâmetroSalesOrderKindfor diferente deskDiverse. - O parâmetro
SalesOrderTypeNoé obrigatório quando o pedido não for do tipo Diverso, ou seja, quando o parâmetroSalesOrderKindfor diferente deskDiverse. - O parâmetro
FreightValue, que corresponde ao valor de frete, deve ser informado apenas para pedidos cujo tipo de frete seja CIF, ou seja, quando o parâmetroFreightTypefor igual aftShipper. - Quando o parâmetro
SalesOrderKindnão for informado, será considerado o valor padrãoskNormal. - Para os parâmetros
DeliveryAddresseBillingAddress, será utilizado o endereço padrão do cliente correspondente (entrega ou faturamento) caso o respectivo parâmetro não seja informado na requisição.
📝 Objeto AddSalesOrderItemList
O objeto AddSalesOrderItemList representa um item do pedido de venda.
Parâmetros de Entrada
Parâmetro Tipo Obrigatório Descrição ItemNo String(25) Não Código externo do item do pedido de venda ProductNo String(25) Não Código do produto ProductionCode String(10) Não Código do produto na produção UnitValue Float Não Valor unitário PackageQty Integer Não Quantidade de pacotes das caixas pedidas Qty Integer Não Quantidade de caixas pedidas Weight Float Não Peso pedido TotalValue Float Não Valor total ShelflifeLimitBeginDate DataHora Não Data inicial para restrição da data de produção ShelflifeLimitFinalDate DataHora Não Data final para restrição da data de produção ShelfLifePercentage Float Não O percentual de vida útil aceitável para o item do pedido de venda AllowPricingBelowSalesPrice Boolean Não Flag que indica se o item do pedido pode ser vendido com valor abaixo do preço de venda Observação
- O parâmetro
PackageQtydeve ser informado quando os camposQtyouWeightnão forem preenchidos na requisição.- O parâmetro
Qtydeve ser informado quando os camposPackageQtyouWeightnão forem preenchidos na requisição.- O parâmetro
Weightdeve ser informado quando os camposPackageQtyouQtynão forem preenchidos na requisição.
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 |
| SalesOrderCode | Integer | Sim | Código interno do pedido de venda gerado no sistema MIMS |
Exemplo de Request
curl --location 'http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddSalesOrder"' \
--header 'Content-Type: application/json' \
--data '{
"SalesOrderNo": "9DOPUZ",
"BranchNo": "0102",
"CustomerNo": "24997",
"SellerNo": "001",
"SalesOrderDate": "2025-11-13T14:39:14",
"DeliveryDate": "2025-11-14T00:00:00",
"RegisterDate": "2025-11-13T23:50:49",
"FreightType": "ftShipper",
"DeliveryAddress": {
"Address": "R PASQUALE GALLUPI, 1455",
"District": "PARAISOPOLIS",
"ZIPCode": "05660000",
"City": "SAO PAULO",
"State": "SAO PAULO",
"StateInitials": "SP",
"Country": "BRASIL"
},
"BillingAddress": {
"Address": "R PASQUALE GALLUPI, 1455",
"District": "PARAISOPOLIS",
"ZIPCode": "05660000",
"City": "SAO PAULO",
"State": "SAO PAULO",
"StateInitials": "SP",
"Country": "BRASIL"
},
"SalesOrderKind": "skNormal",
"InspectionGroupNo": "01",
"ValidateSellerByUser": false,
"ItemList": [
{
"ItemNo": 23499334,
"ProductNo": "128270",
"Qty": 5,
"Weight": 100,
"TotalValue": 740,
"UnitValue": 7.4
},
{
"ItemNo": 23499335,
"ProductNo": "185493",
"Qty": 7,
"Weight": 140,
"TotalValue": 1470,
"UnitValue": 10.5
}
]
}'
Exemplo de Response
{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
},
"SalesOrderCode": 90015
}
🐞 Possíveis Erros
| Código | Mensagem |
|---|---|
| ASO‑001 | Parâmetro Código Externo do Pedido de Venda (SalesOrderNo) informado já existe! |
| ASO‑002 | O status atual da carga informada ([status da carga vinculada]) não está disponível. O status da carga deve ser "Aberta" ou "Bloqueada"! |
| ASO‑003 | A carga informada é uma carga agrupada e não pode ser vinculada a um pedido de venda! |
| ASO‑004 | O item "[descrição do parâmetro]" valor ([valor enviado na requisição]) no índice [[código do índice]] deve ter Quantidade (Qty) ou Peso (Weight) ou Quantidade de Pacotes (PackageQty) informado! |
Exclusão de Pedido de Venda
O endpoint PostDeleteSalesOrder é responsável por executar a exclusão de um pedido de venda no sistema MIMS.
Como excluir um pedido de venda
Request HTTP Post
| Tipo da Requisição | URL Exemplo |
|---|---|
| POST | {{url_base}}/PostDeleteSalesOrder |
| Exemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteSalesOrder" |
Parâmetros de Entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| SalesOrderNo | String(25) | Sim | Código externo do pedido de venda |
| BranchNo | String(25) | Sim | Código externo da filial |
| 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/"PostDeleteSalesOrder"' \
--header 'Content-Type: application/json' \
--data '{
"SalesOrderNo": "9DOPVS",
"BranchNo": "0102",
"ErrorIfNotFound": false
}'
Exemplo de Response
{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
}
}
🐞 Possíveis Erros
| Código | Mensagem |
|---|---|
| DSO‑001 | O status atual do pedido de venda informado ("[valor enviado na requisição]") não permite alteração/exclusão! |
| DSO‑002 | O status atual da carga do pedido de venda informado ("[valor enviado na requisição]") não permite alteração/exclusão do pedido! |
| DSO‑003 | O pedido de venda informado não pode ser alterado/excluído, pois já existem identificações expedidas! |
| DSO‑004 | "[Mensagem de erro específica relacionada aos créditos do cliente]" |