Pedido de Venta
Registro de Pedido de Venta
El endpoint PostAddSalesOrder es responsable de registrar un pedido de venta en el sistema MIMS y puede ser consultado en la pantalla COM002.
Cómo registrar un pedido de venta
HTTP POST Request
| Tipo de Solicitud | URL Ejemplo |
|---|---|
| POST | {{url_base}}/PostAddSalesOrder |
| Ejemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddSalesOrder" |
Parámetros de Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| SalesOrderNo | String(25) | Sí | Código externo de la orden |
| BranchNo | String(25) | Sí | Código externo de la filial |
| CustomerNo | String(25) | Sí | Código externo del cliente |
| CustomerAuxiliaryNo | String(25) | No | Código externo auxiliar del cliente |
| SellerNo | String(25) | Sí | Código externo del vendedor |
| SalesOrderDate | DataHora | Sí | Fecha de orden |
| DeliveryDate | DataHora | Sí | Fecha de entrega |
| RegisterDate | DataHora | Sí | Fecha de entrada de orden |
| FreightType | FreightType | Sí | Enumerador con los posibles valores para tipo de flete: ftShipper (CIF) o ftRemittee (FOB) |
| FreightValue | Float | No | Valor del flete |
| DeliveryAddress | AddressInfo | No | Objeto que contiene las informaciones de dirección de entrega de la orden |
| BillingAddress | AddressInfo | No | Objeto que contiene las informaciones de dirección de facturación de la orden |
| SalesOrderTypeNo | String(25) | No | Código externo del tipo de orden |
| LoadNo | String(25) | No | Código externo de la carga de orden |
| InspectionGroupNo | String(25) | No | Código externo del grupo de inspección |
| DistributionCenterNo | String(25) | No | Código externo del centro de distribución de carga |
| EnteredUserNo | String(25) | No | Código externo del usuario que ingresó la orden |
| LogisticsTypeNo | String(25) | No | Código externo del tipo de logística |
| Notes | String(2000) | No | Observaciones de orden |
| InvoiceNotes | String(2000) | No | Observaciones de factura de la orden |
| SalesOrderKind | SalesOrderKind | No | Enumerador con los posibles valores para tipo de pedido de venta (kind): skNormal (Normal), skDiverse (Diverso) o skDirectSale (Venta Directa) |
| ValidateSellerByUser | Boolean | No | Flag que indica que el parámetro código externo del vendedor será validado por el código de usuario |
| UsesDeliveryDevice | Boolean | No | Flag que indica que la orden utiliza un dispositivo de entrega |
| OverwriteIfExists | Boolean | No | Flag que indica que los datos deben ser sobrescritos si el registro ya existe |
| ItemList | AddSalesOrderItemList | No | Lista de items de pedido de venta |
Nota
- El parámetro
ItemListes obligatorio cuando la orden no es de tipo Diverso, es decir, cuando el parámetroSalesOrderKindes diferente deskDiverse. - El parámetro
SalesOrderTypeNoes obligatorio cuando la orden no es de tipo Diverso, es decir, cuando el parámetroSalesOrderKindes diferente deskDiverse. - El parámetro
FreightValue, que corresponde al valor del flete, solo debe ser proporcionado para órdenes cuyo tipo de flete es CIF, es decir, cuando el parámetroFreightTypees igual aftShipper. - Cuando el parámetro
SalesOrderKindno es proporcionado, se considerará el valor por defectoskNormal. - Para los parámetros
DeliveryAddressyBillingAddress, se utilizará la dirección por defecto correspondiente del cliente (entrega o facturación) si el respectivo parámetro no es proporcionado en la solicitud.
📝 Objeto AddSalesOrderItemList
El objeto AddSalesOrderItemList representa un item de pedido de venta.
Parámetros de Entrada
Parámetro Tipo Obligatorio Descripción ItemNo String(25) No Código externo del item de pedido de venta ProductNo String(25) No Código del producto ProductionCode String(10) No Código del producto en producción UnitValue Float No Valor unitario PackageQty Integer No Cantidad de paquetes de cajas ordenadas Qty Integer No Cantidad de cajas ordenadas Weight Float No Peso ordenado TotalValue Float No Valor total ShelflifeLimitBeginDate DataHora No Fecha inicial para restricción de fecha de producción ShelflifeLimitFinalDate DataHora No Fecha final para restricción de fecha de producción ShelfLifePercentage Float No Porcentaje de vida útil aceptable para el item de pedido de venta AllowPricingBelowSalesPrice Boolean No Flag que indica si el item de orden puede ser vendido con un valor por debajo del precio de venta Nota
- El parámetro
PackageQtydebe ser proporcionado cuando los camposQtyoWeightno están llenos en la solicitud.- El parámetro
Qtydebe ser proporcionado cuando los camposPackageQtyoWeightno están llenos en la solicitud.- El parámetro
Weightdebe ser proporcionado cuando los camposPackageQtyoQtyno están llenos en la solicitud.
Retorno
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| WebServiceReturn | WebServiceReturn | Sí | Informaciones estándar de respuesta del WebService en la ejecución del método |
| SalesOrderCode | Integer | Sí | Código interno de pedido de venta generado en el sistema MIMS |
Ejemplo 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
}
]
}'
Ejemplo de Response
{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
},
"SalesOrderCode": 90015
}
🐞 Posibles Errores
| Código | Mensaje |
|---|---|
| ASO‑001 | El parámetro Código Externo de Pedido de Venta (SalesOrderNo) informado ya existe! |
| ASO‑002 | El estado actual de la carga informada ([estado de carga vinculada]) no está disponible. El estado de la carga debe ser "Abierta" o "Bloqueada"! |
| ASO‑003 | La carga informada es una carga agrupada y no puede ser vinculada a un pedido de venta! |
| ASO‑004 | El item "[descripción del parámetro]" valor ([valor enviado en la solicitud]) en el índice [[código del índice]] debe tener Cantidad (Qty) o Peso (Weight) o Cantidad de Paquetes (PackageQty) proporcionado! |
Exclusión de Pedido de Venta
El endpoint PostDeleteSalesOrder es responsable de ejecutar la exclusión de un pedido de venta en el sistema MIMS.
Cómo excluir un pedido de venta
HTTP POST Request
| Tipo de Solicitud | URL Ejemplo |
|---|---|
| POST | {{url_base}}/PostDeleteSalesOrder |
| Ejemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteSalesOrder" |
Parámetros de Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| SalesOrderNo | String(25) | Sí | Código externo del pedido de venta |
| BranchNo | String(25) | Sí | Código externo de la filial |
| ErrorIfNotFound | Boolean | No | Retorna error si la orden informada no existe en la base de datos |
Retorno
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| WebServiceReturn | WebServiceReturn | Sí | Informaciones estándar de respuesta del WebService en la ejecución del método |
Ejemplo de Request
curl --location 'http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteSalesOrder"' \
--header 'Content-Type: application/json' \
--data '{
"SalesOrderNo": "9DOPVS",
"BranchNo": "0102",
"ErrorIfNotFound": false
}'
Ejemplo de Response
{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
}
}
🐞 Posibles Errores
| Código | Mensaje |
|---|---|
| DSO‑001 | El estado actual del pedido de venta informado ("[valor enviado en la solicitud]") no permite modificación/exclusión! |
| DSO‑002 | El estado actual de la carga del pedido de venta ("[valor enviado en la solicitud]") no permite modificación/exclusión de orden! |
| DSO‑003 | El pedido de venta informado no puede ser modificado/excluido, ya que hay identificaciones expedidas! |
| DSO‑004 | "[Mensaje de error específico relacionado con créditos del cliente]" |