Pular para o conteúdo principal

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çãoURL Exemplo
POST{{url_base}}/PostAddSalesOrder
Exemplohttp://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddSalesOrder"

Parâmetros de Entrada

ParâmetroTipoObrigatórioDescrição
SalesOrderNoString(25)SimCódigo externo do pedido
BranchNoString(25)SimCódigo externo da filial
CustomerNoString(25)SimCódigo externo do cliente
CustomerAuxiliaryNoString(25)NãoCódigo externo auxiliar do cliente
SellerNoString(25)SimCódigo externo do vendedor
SalesOrderDateDataHoraSimData do pedido
DeliveryDateDataHoraSimData de entrega
RegisterDateDataHoraSimData de digitação do pedido
FreightTypeFreightTypeSimEnumerador com os possíveis valores para o tipo de frete: ftShipper (CIF) ou ftRemittee (FOB)
FreightValueFloatNãoValor de Frete
DeliveryAddressAddressInfoNãoObjeto que contém as informações do endereço de entrega do pedido
BillingAddressAddressInfoNãoObjeto que contém as informações do endereço de cobrança do pedido
SalesOrderTypeNoString(25)NãoCódigo externo do tipo do pedido
LoadNoString(25)NãoCódigo externo da carga do pedido
InspectionGroupNoString(25)NãoCódigo externo do grupo de inspeção
DistributionCenterNoString(25)NãoCódigo externo do centro de distribuição da carga
EnteredUserNoString(25)NãoCódigo externo do usuário que digitou o pedido
LogisticsTypeNoString(25)NãoCódigo externo do tipo logístico
NotesString(2000)NãoObservações do pedido
InvoiceNotesString(2000)NãoObservações da nota fiscal do pedido
SalesOrderKindSalesOrderKindNãoEnumerador com os possíveis valores para o tipo (espécie) de pedido de venda: skNormal (Normal), skDiverse (Diverso) ou skDirectSale (Venda Direta)
ValidateSellerByUserBooleanNãoFlag que indica que o parâmetro do código externo do vendedor será validado pelo código do usuário
UsesDeliveryDeviceBooleanNãoFlag que indica que o pedido utiliza dispositivo de entrega
OverwriteIfExistsBooleanNãoFlag que indica que os dados devem ser sobrescritos caso o registro já exista
ItemListAddSalesOrderItemListNãoLista 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âmetro SalesOrderKind for diferente de skDiverse.
  • O parâmetro SalesOrderTypeNo é obrigatório quando o pedido não for do tipo Diverso, ou seja, quando o parâmetro SalesOrderKind for diferente de skDiverse.
  • 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âmetro FreightType for igual a ftShipper.
  • Quando o parâmetro SalesOrderKind não for informado, será considerado o valor padrão skNormal.
  • Para os parâmetros DeliveryAddress e BillingAddress, 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âmetroTipoObrigatórioDescrição
ItemNoString(25)NãoCódigo externo do item do pedido de venda
ProductNoString(25)NãoCódigo do produto
ProductionCodeString(10)NãoCódigo do produto na produção
UnitValueFloatNãoValor unitário
PackageQtyIntegerNãoQuantidade de pacotes das caixas pedidas
QtyIntegerNãoQuantidade de caixas pedidas
WeightFloatNãoPeso pedido
TotalValueFloatNãoValor total
ShelflifeLimitBeginDateDataHoraNãoData inicial para restrição da data de produção
ShelflifeLimitFinalDateDataHoraNãoData final para restrição da data de produção
ShelfLifePercentageFloatNãoO percentual de vida útil aceitável para o item do pedido de venda
AllowPricingBelowSalesPriceBooleanNãoFlag que indica se o item do pedido pode ser vendido com valor abaixo do preço de venda
Observação
  • O parâmetro PackageQty deve ser informado quando os campos Qty ou Weight não forem preenchidos na requisição.
  • O parâmetro Qty deve ser informado quando os campos PackageQty ou Weight não forem preenchidos na requisição.
  • O parâmetro Weight deve ser informado quando os campos PackageQty ou Qty não forem preenchidos na requisição.

Retorno

ParâmetroTipoObrigatórioDescrição
WebServiceReturnWebServiceReturnSimInformações padrão de resposta do WebService na execução do método
SalesOrderCodeIntegerSimCó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ódigoMensagem
ASO‑001Parâmetro Código Externo do Pedido de Venda (SalesOrderNo) informado já existe!
ASO‑002O status atual da carga informada ([status da carga vinculada]) não está disponível. O status da carga deve ser "Aberta" ou "Bloqueada"!
ASO‑003A carga informada é uma carga agrupada e não pode ser vinculada a um pedido de venda!
ASO‑004O 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çãoURL Exemplo
POST{{url_base}}/PostDeleteSalesOrder
Exemplohttp://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteSalesOrder"

Parâmetros de Entrada

ParâmetroTipoObrigatórioDescrição
SalesOrderNoString(25)SimCódigo externo do pedido de venda
BranchNoString(25)SimCódigo externo da filial
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/"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ódigoMensagem
DSO‑001O status atual do pedido de venda informado ("[valor enviado na requisição]") não permite alteração/exclusão!
DSO‑002O status atual da carga do pedido de venda informado ("[valor enviado na requisição]") não permite alteração/exclusão do pedido!
DSO‑003O 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]"