Table of Contents

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
}