PurchaseOrders
Endpoints relacionados con las órdenes de compra de piezas a suplidores.
| Endpoint | Método | Descripción |
|---|---|---|
| /purchaseOrders | POST |
Recibe una orden de compra |
| /purchaseOrders/{purchaseOrderId}/cancel | POST |
Cancela una orden de compra |
POST /PurchaseOrders
Recibe una orden de compra de piezas y la registra en el sistema de la aseguradora. Se recibe un objeto en el body del mensaje con los datos de la orden de compra.
Mensaje recibido
classDiagram
direction LR
class PurchaseOrderDetails {
+PurchaseOrderId: int
+PurchaseOrderGuid: string
+BatchId: string
+RequestId: int
+ClaimId: int
+InsuranceClaimNumber: string
+ItemCategoryId: int
+ItemCategoryName: string
+CreatedOnUtcDate: DateTime
+CreatedByEmailAddress: string
+CreatedByDisplayName: string
+WorkshopTaxId: string
+WorkshopName: string
+SupplierTaxId: string
+SupplierName: string
+DeliverTo: string
+DeductibleAmount: decimal
+Comments: string
+Items: List<PurchaseOrderItem>
}
class PurchaseOrderItem {
+ItemId: int
+ItemTypeId: short
+ItemTypeName: string
+DeliveryTimeInDays: int
+ItemCode: string
+ItemName: string
+ItemQuantity: int
+SupplierItemPrice: decimal
+SupplierItemRowPrice: decimal
+SupplierRowDiscount: decimal
+SupplierItemRowTax: decimal
+SupplierItemRowTotal: decimal
+WorkshopItemRepairPrice: decimal
+WorkshopItemReplacePrice: decimal
+ItemMinSellPrice: decimal
+ItemAverageSellPrice: decimal
+ItemMaxSellPrice: decimal
}
PurchaseOrderDetails "1" --> "1..*" PurchaseOrderItem : Contains
PurchaseOrderDetails
| Atributo | Tipo de datos | Descripción |
|---|---|---|
| PurchaseOrderId | int | Id de la orden de compra en infopiezas.net |
| PurchaseOrderGuid | string | Guid único de la orden de compra en infopiezas.net |
| BatchId | string | Batch de la orden. Sirve para identificar órdenes que se generaron juntas |
| RequestId | int | Id de la licitación en infopiezas a que corresponde la orden |
| ClaimId | int | Id del reclamo en infopiezas (Si hay registrado) |
| InsuranceClaimNumber | string | El número de reclamación en la aseguradora |
| ItemCategoryId | int | Id categoría de las piezas |
| ItemCategoryName | string | Nombre categoría de las piezas |
| CreatedOnUtcDate | DateTime | Fecha de creación de la orden de compra, en UTC |
| CreatedByEmailAddress | string | Correo electrónico del usuario que crea la orden de compra |
| CreatedByDisplayName | string | Nombre del usuario que crea la orden de compra |
| WorkshopTaxId | string | RNC del taller |
| WorkshopName | string | Nombre del taller |
| SupplierTaxId | string | RNC del suplidor a quien se emite la orden de compra |
| SupplierName | string | Nombre del suplidor a quien se emite la orden de compra |
| DeliverTo | string | Entregar a |
| DeductibleAmount | decimal | Monto deducible |
| Comments | string | Comentarios |
| Items | List<PurchaseOrderItem> | Piezas ordenadas |
PurchaseOrderItem
| Atributo | Tipo de datos | Descripción |
|---|---|---|
| ItemId | int | Id de la pieza |
| ItemTypeId | short | Indica el Id del tipo de pieza |
| ItemTypeName | string | Indica el nombre del tipo de pieza (nueva, usada, etc) |
| DeliveryTimeInDays | int | Tiempo de entrega de la pieza, en días |
| ItemCode | string | Código de la pieza |
| ItemName | string | Nombre de la pieza |
| ItemQuantity | int | Cantidad ordenada |
| SupplierItemPrice | decimal | Precio unitario de la pieza |
| SupplierItemRowPrice | decimal | Precio por línea (cantidad ordenada x precio) |
| SupplierRowDiscount | decimal | Descuento por línea |
| SupplierItemRowTax | decimal | Impuestos por línea |
| SupplierItemRowTotal | decimal | Total por línea (incluye descuentos e impuestos) |
| WorkshopItemRepairPrice | decimal | Precio de reparación de piezas acordado con el taller |
| WorkshopItemReplacePrice | decimal | Precio de reemplazo de piezas acordado con el taller |
| ItemMinSellPrice | decimal | Precio mínimo de venta de la pieza en el mercado |
| ItemAverageSellPrice | decimal | Precio promedio de venta de la pieza en el mercado |
| ItemMaxSellPrice | decimal | Precio máximo de venta de la pieza en el mercado |
Modelo de mensaje que se recibe con los datos de la orden de compra
{
"purchaseOrderId": 0,
"purchaseOrderGuid": "string",
"batchId":"string",
"requestId": 0,
"claimId": 0,
"insuranceClaimNumber": "string",
"itemCategoryId": 0,
"itemCategoryName": "string",
"createdOnUtcDate": "2023-08-01T19:56:38.475Z",
"createdByEmailAddress": "string",
"createdByDisplayName": "string",
"workshopTaxId": "string",
"workshopName": "string",
"supplierTaxId": "string",
"supplierName": "string",
"deliverTo": "string",
"deductibleAmount": 0,
"comments": "string",
"items": [
{
"itemId": 0,
"itemTypeId": 0,
"itemTypeName": "string",
"deliveryTimeInDays": 0,
"itemCode": "string",
"itemName": "string",
"itemQuantity": 0,
"supplierItemPrice": 0,
"supplierItemRowPrice": 0,
"supplierRowDiscount": 0,
"supplierItemRowTax": 0,
"supplierItemRowTotal": 0,
"workshopItemRepairPrice": 0,
"workshopItemReplacePrice": 0,
"itemMinSellPrice": 0,
"itemAverageSellPrice": 0,
"itemMaxSellPrice": 0
}
]
}
Note
Los documentos JSON que aparecen aquí son solamente para fines ilustrativos y no necesariamente representa la última versión del objeto en el API. Se debe utilizar como referencia de desarrollo siempre el JSON que aparece en la documentación dinámica del endpoint correspondiente en Swagger.
Respuesta
Se devuelve un objeto que incluye el número de la orden de compra en el sistema de la aseguradora.
Modelo de los datos que se devuelven al momento de recibir la orden de compra
{
"purchaseOrderId": 0,
"purchaseOrderNumber": "123456"
}
classDiagram
class CreatedPurchaseOrderResponse {
+PurchaseOrderId: int
+PurchaseOrderNumber: string
}
| Atributo | Tipo de datos | Descripción |
|---|---|---|
| PurchaseOrderId | int | Id de la orden de compra en infopiezas |
| PurchaseOrderNumber | string | Número de la orden de compra en la aseguradora |
POST /PurchaseOrders/{purchaseOrderId}/cancel
Recibe información sobre una orden de compra a cancelar en infopiezas. Recibe un objeto en el body del mensaje con la siguiente estructura:
Note
La cancelación de la orden compra es enviada a la aseguradora antes de cancelar la orden en infopiezas. De esta manera la aseguradora puede tomar en cuenta cualquier regla de negocio antes de permirtir la cancelación en infopiezas. Si en la espuesta de la aseguradora el campo IsCancelled viene en falso, la orden no puede cancelarse en infopiezas.
Mensaje recibido
classDiagram
class PurchaseOrderCancellationDetails {
+PurchaseOrderId: int
+RequestId: int
+PurchaseOrderNumber: string
+InsuranceClaimNumber: string
+CancellationReasonId: string
+CancellationReasonName: string
+Comments: string
+CancelledByEmailAddress: string
+CancelledByDisplayName: string
}
PurchaseOrderCancellationDetails
| Atributo | Tipo de datos | Descripción |
|---|---|---|
| PurchaseOrderId | int | Id de la orden de compra en infopiezas.net |
| RequestId | int | Id de la licitación en infopiezas a que corresponde la orden |
| PurchaseOrderNumber | string | Número de la orden de compra en la aseguradora |
| InsuranceClaimNumber | string | El número de reclamación en la aseguradora |
| CancellationReasonId | int | Id motivo de cancelación |
| CancellationReasonName | string | Motivo de cancelación |
| Comments | string | Comentarios |
| CancelledByEmailAddress | string | Correo electrónico del usuario que cancela la orden de servicio |
| CancelledByDisplayName | string | Nombre del usuario que cancela la orden de servicio |
Modelo del mensaje recibido
{
"purchaseOrderId": 0,
"requestId": 0,
"purchaseOrderNumber": "string",
"insuranceClaimNumber": "string",
"cancellationReason": "string",
"comments": "string",
"cancelledByEmailAddress": "string",
"cancelledByDisplayName" : "string"
}
Note
Los documentos JSON que aparecen aquí son solamente para fines ilustrativos y no necesariamente representa la última versión del objeto en el API. Se debe utilizar como referencia de desarrollo siempre el JSON que aparece en la documentación dinámica del endpoint correspondiente en Swagger.
Respuesta
Se devuelve un objeto con la siguiente información:
classDiagram
class CancelledPurchaseOrderResponse {
+IsCancelled: bool
+ShowResponseText: bool
+ResponseText: string
}
| Atributo | Tipo de datos | Descripción |
|---|---|---|
| IsCancelled | bool | Devuelve verdadero o falso indicando si la orden fue cancelada o no en el sistema de la aseguradora |
| ShowResponseText | bool | Indica si se debe presentar el mensaje de respuesta al usuario |
| ResponseText | string | Texto de respuesta en caso que la orden no haya podido ser cancelada para presentar más información al usuario |
Modelo de mensaje de respuesta
{
"isCancelled": true,
"showResponseText": false,
"responseText": null
}