Saltar al contenido principal

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 SolicitudURL Ejemplo
POST{{url_base}}/PostAddSalesOrder
Ejemplohttp://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddSalesOrder"

Parámetros de Entrada

ParámetroTipoObligatorioDescripción
SalesOrderNoString(25)Código externo de la orden
BranchNoString(25)Código externo de la filial
CustomerNoString(25)Código externo del cliente
CustomerAuxiliaryNoString(25)NoCódigo externo auxiliar del cliente
SellerNoString(25)Código externo del vendedor
SalesOrderDateDataHoraFecha de orden
DeliveryDateDataHoraFecha de entrega
RegisterDateDataHoraFecha de entrada de orden
FreightTypeFreightTypeEnumerador con los posibles valores para tipo de flete: ftShipper (CIF) o ftRemittee (FOB)
FreightValueFloatNoValor del flete
DeliveryAddressAddressInfoNoObjeto que contiene las informaciones de dirección de entrega de la orden
BillingAddressAddressInfoNoObjeto que contiene las informaciones de dirección de facturación de la orden
SalesOrderTypeNoString(25)NoCódigo externo del tipo de orden
LoadNoString(25)NoCódigo externo de la carga de orden
InspectionGroupNoString(25)NoCódigo externo del grupo de inspección
DistributionCenterNoString(25)NoCódigo externo del centro de distribución de carga
EnteredUserNoString(25)NoCódigo externo del usuario que ingresó la orden
LogisticsTypeNoString(25)NoCódigo externo del tipo de logística
NotesString(2000)NoObservaciones de orden
InvoiceNotesString(2000)NoObservaciones de factura de la orden
SalesOrderKindSalesOrderKindNoEnumerador con los posibles valores para tipo de pedido de venta (kind): skNormal (Normal), skDiverse (Diverso) o skDirectSale (Venta Directa)
ValidateSellerByUserBooleanNoFlag que indica que el parámetro código externo del vendedor será validado por el código de usuario
UsesDeliveryDeviceBooleanNoFlag que indica que la orden utiliza un dispositivo de entrega
OverwriteIfExistsBooleanNoFlag que indica que los datos deben ser sobrescritos si el registro ya existe
ItemListAddSalesOrderItemListNoLista de items de pedido de venta
Nota
  • El parámetro ItemList es obligatorio cuando la orden no es de tipo Diverso, es decir, cuando el parámetro SalesOrderKind es diferente de skDiverse.
  • El parámetro SalesOrderTypeNo es obligatorio cuando la orden no es de tipo Diverso, es decir, cuando el parámetro SalesOrderKind es diferente de skDiverse.
  • 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ámetro FreightType es igual a ftShipper.
  • Cuando el parámetro SalesOrderKind no es proporcionado, se considerará el valor por defecto skNormal.
  • Para los parámetros DeliveryAddress y BillingAddress, 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ámetroTipoObligatorioDescripción
ItemNoString(25)NoCódigo externo del item de pedido de venta
ProductNoString(25)NoCódigo del producto
ProductionCodeString(10)NoCódigo del producto en producción
UnitValueFloatNoValor unitario
PackageQtyIntegerNoCantidad de paquetes de cajas ordenadas
QtyIntegerNoCantidad de cajas ordenadas
WeightFloatNoPeso ordenado
TotalValueFloatNoValor total
ShelflifeLimitBeginDateDataHoraNoFecha inicial para restricción de fecha de producción
ShelflifeLimitFinalDateDataHoraNoFecha final para restricción de fecha de producción
ShelfLifePercentageFloatNoPorcentaje de vida útil aceptable para el item de pedido de venta
AllowPricingBelowSalesPriceBooleanNoFlag que indica si el item de orden puede ser vendido con un valor por debajo del precio de venta
Nota
  • El parámetro PackageQty debe ser proporcionado cuando los campos Qty o Weight no están llenos en la solicitud.
  • El parámetro Qty debe ser proporcionado cuando los campos PackageQty o Weight no están llenos en la solicitud.
  • El parámetro Weight debe ser proporcionado cuando los campos PackageQty o Qty no están llenos en la solicitud.

Retorno

ParámetroTipoObligatorioDescripción
WebServiceReturnWebServiceReturnInformaciones estándar de respuesta del WebService en la ejecución del método
SalesOrderCodeIntegerCó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ódigoMensaje
ASO‑001El parámetro Código Externo de Pedido de Venta (SalesOrderNo) informado ya existe!
ASO‑002El estado actual de la carga informada ([estado de carga vinculada]) no está disponible. El estado de la carga debe ser "Abierta" o "Bloqueada"!
ASO‑003La carga informada es una carga agrupada y no puede ser vinculada a un pedido de venta!
ASO‑004El 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 SolicitudURL Ejemplo
POST{{url_base}}/PostDeleteSalesOrder
Ejemplohttp://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostDeleteSalesOrder"

Parámetros de Entrada

ParámetroTipoObligatorioDescripción
SalesOrderNoString(25)Código externo del pedido de venta
BranchNoString(25)Código externo de la filial
ErrorIfNotFoundBooleanNoRetorna error si la orden informada no existe en la base de datos

Retorno

ParámetroTipoObligatorioDescripción
WebServiceReturnWebServiceReturnInformaciones 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ódigoMensaje
DSO‑001El estado actual del pedido de venta informado ("[valor enviado en la solicitud]") no permite modificación/exclusión!
DSO‑002El estado actual de la carga del pedido de venta ("[valor enviado en la solicitud]") no permite modificación/exclusión de orden!
DSO‑003El 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]"