Saltar al contenido principal

Pedido de Venda

Descrição

O endpoint PostAddSalesOrder cadastra um novo pedido de venda no sistema MIMS e pode ser consultado na tela COM002.


Como cadastrar um novo 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

NomeTipoObrigatórioDescrição
SalesOrderNoString(25)SimCódigo do pedido no ERP
BranchNoString(25)SimCódigo Externo da Filial
CustomerNoString(25)SimCódigo Externo do cliente
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
SellerNoString(25)NãoCódigo externo do vendedor do cliente quando não informado
SalesOrderDateDataHoraSimData do pedido
ValidateSellerByUserBooleanNãoFlag que indica que o parâmetro do código externo do vendedor será validado pelo código do usuário
DeliveryDateDataHoraSimData de entrega do pedido
RegisterDateDataHoraSimData de digitação do pedido
FreightTypeFreightTypeSimTipo de frete: CIF = ftShipper (Remetente), FOB = ftRemittee (Destinatário)
LoadGroupNoString(25)NãoCódigo externo do grupo de carga do pedido
NotesString(2000)NãoObservações do pedido
ItemListAddSalesOrderItemListSimLista de itens do pedido de venda
SalesOrderTypeNoString(25)NãoCódigo do Tipo do Pedido de Venda
FreightValueFloatNãoValor de Frete
OverwriteExistsBooleanNãoFlag que indica que os dados das notas fiscais do pedido serão sobrescritos caso o registro já exista
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 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

Descrição

O objeto AddSalesOrderItemList representa um representa um item do pedido de venda.

Parâmetros de retorno

ParâmetroTipoObrigatórioDescrição
ProductNoString(25)SimCódigo externo do item do pedido de venda
UnitValueFloatNãoValor unitário
PackageQtyIntegerNãoQuantidade de pacotes das caixas pedidas
QtyIntegerNãoQuantidade de caixas pedidas
WeightFloatNãoPeso pedido
ShelfLifeBeginDateDataHoraNãoData Inicial da Restrição da Data de Produção
ShelfLifeFinalDateDataHoraNãoData Final da Restrição da Data de Produção
AllowPricingBelowSalesPriceBooleanNãoFlag que indica se o item do pedido pode ser vendido com valor abaixo do preço de venda
Observação
  • Os parâmetros UnitValue e PackageQty devem ser informados quando os campos Qty ou Weight não forem preenchidos na requisição.
  • Os parâmetros Qty e Weight devem ser informados quando os campos PackageQty ou UnitValue não forem preenchidos na requisição.

Retorno

NomeTipoObrigató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

POST http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/PostAddSalesOrder
Content-Type: application/json
{
"SalesOrderNo": "SO123",
"BranchNo": "101",
"CustomerNo": "109712",
"DeliveryAddress": {
"AddressType": "AVENIDA ",
"Address": "JULIA KUBITSCHECK, 039 LO",
"Number": "039 LOJA",
"District": "Bela Vista",
"ZIPCode": "28905000",
"City": "CABO FRIO",
"State": "RIO DE JANEIRO",
"StateInitials": "RJ",
"Country": "Brasil",
"SubLogisticRegionNo": " ",
"PersonAdressNo": " "
},
"BillingAddress": {
"AddressType": "AVENIDA ",
"Address": "JULIA KUBITSCHECK, 039 LO",
"Number": "039 LOJA",
"District": "Bela Vista",
"ZIPCode": "28905000",
"City": "CABO FRIO",
"State": "RIO DE JANEIRO",
"StateInitials": "RJ",
"Country": "Brasil",
"SubLogisticRegionNo": " ",
"PersonAdressNo": " "
},
"SellerNo": "340",
"SalesOrderDate": "2025-02-20T12:00:00Z",
"ValidateSellerByUser": false,
"DeliveryDate": "2025-02-25T12:00:00Z",
"RegisterDate": "2025-02-20T10:00:00Z",
"FreightType": "ftShipper",
"LoadGroupNo": "LG001",
"Notes": "Pedido urgente",
"ItemList": [
{
"ProductNo": "1187",
"UnitValue": 25.50,
"PackageQty": 10,
"Qty": 100,
"Weight": 1500.0,
"ShelfLifeBeginDate": "2025-02-20T12:00:00Z",
"ShelfLifeFinalDate": "2025-02-25T12:00:00Z",
"AllowPricingBelowSalesPrice": false
}
],
"SalesOrderTypeNo": "1",
"FreightValue": 500.00,
"OverwriteExists": true
}

Exemplo de Response

{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
},
"SalesOrderCode": 789
}

Notas de Dev

  • Certifique-se de que SalesOrderNo, BranchNo, CustomerNo, SellerNo, ProductNo e outros códigos externos sejam válidos e existentes no sistema MIMS.
  • Os campos de data, como SalesOrderDate, DeliveryDate, RegisterDate, ShelfLifeBeginDate e ShelfLifeFinalDate, devem estar no formato ISO 8601 (ex.: 2025-02-20T12:00:00Z).
  • O campo FreightType aceita valores como ftShipper (Remetente) para CIF ou ftRemittee (Destinatário) para FOB.
  • O campo FreightValue é obrigatório apenas para pedidos com FreightType igual a ftShipper (CIF).
  • Os campos UnitValue, PackageQty, Qty e Weight têm regras de obrigatoriedade mutuamente exclusivas: pelo menos um deles deve ser informado, mas não todos ao mesmo tempo.
  • O campo OverwriteExists, quando true, sobrescreve os dados existentes para o mesmo pedido, caso já exista um registro.

Exclusão de Pedido de Venda

Descrição

O endpoint PostDeleteSalesOrder executa a exclusão de um pedido de venda no sistema MIMS. Ele remove o pedido especificado com base no código externo do pedido e da filial, retornando um erro caso o pedido informado não exista no banco de dados.


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

NomeTipoObrigatórioDescrição
SalesOrderNoString(25)SimCódigo Externo do Pedido de Venda
BranchNoString(25)SimCódigo Externo da Filial
ErrorBooleanNãoRetorna erro caso o pedido informado não exista no banco de dados

Retorno

NomeTipoObrigatórioDescrição
WebServiceReturnWebServiceReturnSimInformações padrão de resposta do WebService na execução do método

Exemplo de Request

POST http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/PostDeleteSalesOrder
Content-Type: application/json
{
"SalesOrderNo": "SO123",
"BranchNo": "BR001"
}

Exemplo de Response

Caso de Sucesso

{
"WebServiceReturn": {
"Success": true,
"Message": "Pedido de venda excluído com sucesso."
}
}

Caso de Erro (Pedido Não Encontrado)

{
"WebServiceReturn": {
"Success": false,
"Message": "Pedido de venda não encontrado no banco de dados."
},
"Error": true
}

Notas de Dev

  • Certifique-se de que SalesOrderNo e BranchNo sejam válidos e existentes no sistema MIMS antes de tentar a exclusão.
  • O campo Error será true se o pedido especificado não for encontrado, indicando que a operação de exclusão falhou.
  • A exclusão é uma operação irreversível; portanto, valide cuidadosamente os dados antes de executar o método.