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ção | URL Exemplo |
|---|---|
| POST | {{url_base}}/PostAddSalesOrder |
| Exemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddSalesOrder" |
Parâmetros de Entrada
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| SalesOrderNo | String(25) | Sim | Código do pedido no ERP |
| BranchNo | String(25) | Sim | Código Externo da Filial |
| CustomerNo | String(25) | Sim | Código Externo do cliente |
| 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 |
| SellerNo | String(25) | Não | Código externo do vendedor do cliente quando não informado |
| SalesOrderDate | DataHora | Sim | Data do pedido |
| 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 |
| DeliveryDate | DataHora | Sim | Data de entrega do pedido |
| RegisterDate | DataHora | Sim | Data de digitação do pedido |
| FreightType | FreightType | Sim | Tipo de frete: CIF = ftShipper (Remetente), FOB = ftRemittee (Destinatário) |
| LoadGroupNo | String(25) | Não | Código externo do grupo de carga do pedido |
| Notes | String(2000) | Não | Observações do pedido |
| ItemList | AddSalesOrderItemList | Sim | Lista de itens do pedido de venda |
| SalesOrderTypeNo | String(25) | Não | Código do Tipo do Pedido de Venda |
| FreightValue | Float | Não | Valor de Frete |
| OverwriteExists | Boolean | Não | Flag 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â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
Descrição
O objeto AddSalesOrderItemList representa um representa um item do pedido de venda.
Parâmetros de retorno
Parâmetro Tipo Obrigatório Descrição ProductNo String(25) Sim Código externo do item do pedido de venda 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 ShelfLifeBeginDate DataHora Não Data Inicial da Restrição da Data de Produção ShelfLifeFinalDate DataHora Não Data Final da Restrição da Data de Produção 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
- Os parâmetros
UnitValueePackageQtydevem ser informados quando os camposQtyouWeightnão forem preenchidos na requisição.- Os parâmetros
QtyeWeightdevem ser informados quando os camposPackageQtyouUnitValuenão forem preenchidos na requisição.
Retorno
| Nome | 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
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,ProductNoe outros códigos externos sejam válidos e existentes no sistema MIMS. - Os campos de data, como
SalesOrderDate,DeliveryDate,RegisterDate,ShelfLifeBeginDateeShelfLifeFinalDate, devem estar no formato ISO 8601 (ex.:2025-02-20T12:00:00Z). - O campo
FreightTypeaceita valores comoftShipper(Remetente) para CIF ouftRemittee(Destinatário) para FOB. - O campo
FreightValueé obrigatório apenas para pedidos comFreightTypeigual aftShipper(CIF). - Os campos
UnitValue,PackageQty,QtyeWeighttêm regras de obrigatoriedade mutuamente exclusivas: pelo menos um deles deve ser informado, mas não todos ao mesmo tempo. - O campo
OverwriteExists, quandotrue, 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ção | URL Exemplo |
|---|---|
| POST | {{url_base}}/PostDeleteSalesOrder |
| Exemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteSalesOrder" |
Parâmetros de Entrada
| Nome | 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 |
| Error | Boolean | Não | Retorna erro caso o pedido informado não exista no banco de dados |
Retorno
| Nome | 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
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
SalesOrderNoeBranchNosejam válidos e existentes no sistema MIMS antes de tentar a exclusão. - O campo
Errorserátruese 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.