Agregar Lineas a la OC Existentes
Además de incluir las líneas durante la creación de la Orden de Compra, Oracle Fusion Cloud Purchasing permite agregar líneas posteriormente mediante una API independiente.
Esta opción puede utilizarse cuando:
- Se creó la Orden de Compra sin todas sus líneas.
- Es necesario complementar una Orden de Compra existente.
- Se requiere agregar líneas adicionales a una OC que ya fue creada.
- Se necesita registrar las líneas de manera independiente al proceso de creación de la cabecera.
Este proceso es independiente de la creación de la Orden de Compra. No es necesario utilizarlo cuando todas las líneas se envían directamente en la petición de creación mediante la propiedad lines.
En este sitio se encuentra la documentación completa de oracle https://docs.oracle.com/en/cloud/saas/procurement/25d/fapra/op-draftpurchaseorders-draftpurchaseordersuniqid-child-lines-post.html
Para utilizar las APIs de Oracle Purchasing, es necesario contar previamente con la autorización del equipo de Oracle y con la configuración correspondiente para la creación de Órdenes de Compra manuales.
Sin esta autorización y configuración, las APIs no podrán utilizarse correctamente.
1. Flujo
2. API
Método: POST
URL: <url_oracle>/fscmRestApi/resources/11.13.18.05/draftPurchaseOrders/<POHeaderId>/child/lines
El POHeaderId debe corresponder a una Orden de Compra existente. Este identificador se obtiene al crear la OC o mediante la consulta de la Orden de Compra.
Esta API solo permite agregar una línea por petición.
3. Headers
| Header | Descripción | Valor |
|---|---|---|
Content-Type | Formato de los datos enviados. | application/json |
Authorization | Credenciales de autenticación HTTP Basic para Oracle Fusion Cloud | Basic <usuario:contraseña> |
4. Body
El body contiene la información de la nueva línea que se agregará a la Orden de Compra.
{
"LineNumber": 3,
"LineType": "Bienes",
"Item": "DIINET0048",
"Quantity": 10,
"Price": 20,
"UOM": "KILOGRAMO"
}
El campo LineNumber no se debe repetir con los que ya existen en la OC.
5. Campos requeridos para las lineas adicionales
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
LineNumber | Integer | Número que identifica la línea dentro de la Orden de Compra. | 3 |
LineType | String | Tipo de línea de la Orden de Compra. | Bienes |
Item | String | Código del artículo que se agregará a la OC. | DIINET0048 |
Quantity | Number | Cantidad solicitada del artículo. | 10 |
Price | Number | Precio unitario del artículo. | 20 |
UOM | String | Unidad de medida del artículo. | KILOGRAMO |
6. Columnas Respuesta
Oracle Fusion Cloud devuelve la información de la línea agregada a la Orden de Compra.
Entre los datos principales de la respuesta se encuentran:
| Campo | Descripción | Ejemplo |
|---|---|---|
POLineId | Identificador interno de la línea de la Orden de Compra. | 300000482284275 |
LineNumber | Número de la línea dentro de la Orden de Compra. | 4 |
POHeaderId | Identificador interno de la cabecera de la Orden de Compra a la que pertenece la línea. | 300000482238418 |
OrderNumber | Número de la Orden de Compra a la que se agregó la línea. | 190155229 |
LineTypeId | Identificador del tipo de línea. | 1 |
LineType | Tipo de línea de la Orden de Compra. | Bienes |
ItemId | Identificador interno del artículo en Oracle. | 100000434556286 |
Item | Código del artículo agregado a la OC. | DIINET0048 |
CategoryId | Identificador interno de la categoría del artículo. | 300000192302607 |
CategoryCode | Código de la categoría del artículo. | ESTABILIZANTE_Y_EMULSIFICANTE |
Category | Descripción de la categoría del artículo. | ESTABILIZANTE_Y_EMULSIFICANTE |
Description | Descripción del artículo. | RECODAN 226 |
Quantity | Cantidad solicitada del artículo. | 10 |
BasePrice | Precio base del artículo. | 20 |
Price | Precio unitario de la línea. | 20 |
UOMCode | Código de la unidad de medida. | KG |
UOM | Unidad de medida utilizada para la línea. | KILOGRAMO |
CurrencyCode | Código de la moneda utilizada en la línea. | MXN |
Currency | Descripción de la moneda utilizada. | Peso Mexicano |
CancelFlag | Indica si la línea se encuentra cancelada. | false |
NegotiatedFlag | Indica si la línea fue negociada. | false |
CreditFlag | Indica si la línea corresponde a un crédito. | false |
RecoverableTax | Importe del impuesto recuperable. | 0 |
NonRecoverableTax | Importe del impuesto no recuperable. | 0 |
CreationDate | Fecha y hora de creación de la línea. | 2026-08-26T15:50:00+00:00 |
CreatedBy | Identificador del usuario que creó la línea. | 134422 |
LastUpdateDate | Fecha y hora de la última actualización de la línea. | 2026-08-26T15:50:05.649+00:00 |
LastUpdatedBy | Identificador del usuario que realizó la última actualización. | 134422 |
El campo POLineId corresponde al identificador interno de la línea generada por Oracle.
El campo POHeaderId identifica la cabecera de la Orden de Compra a la que pertenece la línea, mientras que OrderNumber permite identificar la Orden de Compra mediante su número.
7. Ejemplo de solicitud
Supongamos que la Orden de Compra 190155224 ya fue creada y se requiere agregar una línea adicional.
El POHeaderId de la OC es: 300000482229200, la nueva línea será la número 3.
curl --location 'https://ejfg-dev2.fa.us6.oraclecloud.com/fscmRestApi/resources/11.13.18.05/draftPurchaseOrders/300000482229200/child/lines' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"LineNumber": 3,
"LineType": "Bienes",
"Item": "DIINET0048",
"Quantity": 10,
"Price": 20,
"UOM": "KILOGRAMO"
}'
8. Ejemplo Respuesta
{
"POLineId": 300000482284275,
"LineNumber": 4,
"POHeaderId": 300000482238418,
"OrderNumber": "190155229",
"LineTypeId": 1,
"LineType": "Bienes",
"ItemId": 100000434556286,
"Item": "DIINET0048",
"ItemRevision": null,
"CategoryId": 300000192302607,
"CategoryCode": "ESTABILIZANTE_Y_EMULSIFICANTE",
"Category": "ESTABILIZANTE_Y_EMULSIFICANTE",
"Description": "RECODAN 226",
"Amount": null,
"Quantity": 10,
"BasePrice": 20,
"DiscountType": null,
"Discount": null,
"DiscountReason": null,
"Price": 20,
"UOMCode": "KG",
"UOM": "KILOGRAMO",
"PricingUOMCode": "KG",
"PricingUOM": "KILOGRAMO",
"CurrencyCode": "MXN",
"Currency": "Peso Mexicano",
"BaseModelId": null,
"BaseModel": null,
"BaseModelPrice": null,
"CancelDate": null,
"CancelFlag": false,
"CancelReason": null,
"CancelledBy": null,
"ChangeAcceptedFlag": null,
"ConfiguredItemFlag": false,
"ConsignmentLineFlag": null,
"SourceAgreementId": null,
"SourceAgreementNumber": null,
"SourceAgreementLineId": null,
"SourceAgreementLine": null,
"SourceAgreementTypeCode": null,
"SourceAgreementType": null,
"SourceAgreementProcurementBUId": null,
"SourceAgreementProcurementBU": null,
"ResponseLine": null,
"Response": null,
"NegotiationId": null,
"Negotiation": null,
"NegotiationLine": null,
"FundsStatusCode": null,
"FundsStatus": null,
"ManualPriceChangeFlag": null,
"NegotiatedFlag": false,
"NoteToSupplier": null,
"ReasonForChange": null,
"SupplierConfigurationId": null,
"SupplierItem": null,
"OptionsPrice": null,
"UNNumberCode": null,
"UNNumberId": null,
"UNNumber": null,
"UNNumberDescription": null,
"HazardClassCode": null,
"HazardClassId": null,
"HazardClass": null,
"WorkOrderProduct": null,
"SecondaryUOMCode": null,
"SecondaryUOM": null,
"SecondaryQuantity": null,
"TaxableFlag": null,
"ReferenceNumber": null,
"CancelUnfulfilledDemandFlag": null,
"CreationDate": "2026-08-26T15:50:00+00:00",
"CreatedBy": "134422",
"LastUpdateDate": "2026-08-26T15:50:05.649+00:00",
"LastUpdatedBy": "134422",
"MaximumRetainageAmount": null,
"Manufacturer": null,
"ManufacturerPartNumber": null,
"CreditFlag": false,
"RecoverableTax": 0,
"NonRecoverableTax": 0,
"RecoverableInclusiveTax": 0,
"NonRecoverableInclusiveTax": 0,
"links": []
}