Órdenes de compra

Actualizar una orden de compra

Cambia la cabecera de un pedido de compra.

Herramienta
filmo_purchase_orders_update
Acceso: Escritura

Resultado

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_purchase_orders_update",
    "arguments": {
      "purchaseOrderId": "purc_8f2a1c",
      "type": "subrental"
    }
  }
}

generado desde el esquema

type va siempre, aunque no cambie: de él dependen el flujo de aprobación y las series de numeración. Las LÍNEAS no se tocan desde aquí, porque no se publican; el servidor calcula los totales a partir de ellas. La instantánea del proveedor, la serie de numeración y los campos personalizados quedan fuera del cuerpo público. Requiere el add-on de compras (402 sin él); un pedido de compra de consigna —el type guardado o el que envíes es consignment— requiere además el add-on de consignas, y sin él la respuesta es 402 con requiredAddon: consignments y no se escribe nada. Un pedido de compra cancelado, o bloqueado en la app, no se puede editar: 409 conflict y no se escribe nada. Devuelve el pedido de compra completo, con la misma proyección que su GET.

Argumentos

purchaseOrderIdstringObligatorio

Identificador del pedido de compra.

Límites: longitud mín. 1

typestringObligatorio

Tipo de pedido de compra.

Opciones disponibles: subrental, stock_purchase, resale_purchase, consumable_purchase, technician, transport, repair, consignment

supplierIdstring | null

Proveedor del pedido de compra; null lo deja sin proveedor (solo borradores).

poDatestring<date-time> | null

Fecha de emisión, en ISO 8601 con desfase; null la borra.

supplierQuoteRefstring | null

Referencia del presupuesto del proveedor; null la borra.

Límites: longitud máx. 200

referencestring | null

Referencia interna del documento; null la borra.

Límites: longitud máx. 200

currencystring

Moneda, como código ISO 4217.

Límites: longitud mín. 3, longitud máx. 3

projectIdstring | null

Proyecto asociado; null lo desvincula.

orderIdstring | null

Pedido de alquiler asociado; null lo desvincula.

notesstring | null

Notas; null las borra.

Límites: longitud máx. 5000

idempotencyKeystring

Clave de idempotencia elegida por el cliente (se recomienda un UUID). Repetir la misma clave con los mismos argumentos en 24 h devuelve la respuesta almacenada sin volver a ejecutar; con argumentos distintos responde 422. Es la forma segura de reintentar tras un fallo de red.

Límites: longitud mín. 1, longitud máx. 255

ifMatchstring

Bloqueo optimista: el meta.etag que obtuviste de la lectura de detalle de este recurso (o "*"). Si el recurso ha cambiado desde entonces, la llamada falla con 412 precondition_failed antes de escribir nada; léelo de nuevo y reintenta. Omítelo para escribir sin condiciones.

Límites: longitud mín. 1

Resultado

En un éxito el resultado lleva structuredContent con data y meta. Estos son los atributos de data.

Ver los atributos de data
idstring

Identificador único del pedido de compra.

poNumberstring | null

Número del pedido de compra; null mientras es un borrador.

statusstring

Estado del pedido de compra.

Opciones disponibles: draft, pending, completed, cancelled

typestring

Tipo de pedido de compra.

Opciones disponibles: subrental, stock_purchase, resale_purchase, consumable_purchase, technician, transport, repair, consignment

isDraftboolean

true si el pedido de compra sigue siendo un borrador.

poDatestring<date-time> | null

Fecha del pedido de compra en ISO 8601 UTC; null si no se ha fijado.

supplierIdstring | null

Identificador del proveedor; null mientras un borrador no tiene proveedor. Resuélvelo contra /api/v1/contacts.

referencestring | null

Referencia de formato libre del pedido de compra; null si no tiene.

currencystring

Moneda del pedido de compra, como código ISO 4217.

subTotalstring

Subtotal antes de descuentos e impuestos, como cadena decimal "1234.50".

Límites: patrón ^-?\d+\.\d{2}$

discountTotalstring

Total de descuentos, como cadena decimal "1234.50".

Límites: patrón ^-?\d+\.\d{2}$

taxesPricestring

Total de impuestos, como cadena decimal "1234.50".

Límites: patrón ^-?\d+\.\d{2}$

netPricestring

Base imponible, como cadena decimal "1234.50".

Límites: patrón ^-?\d+\.\d{2}$

grossPricestring

Total con impuestos, como cadena decimal "1234.50".

Límites: patrón ^-?\d+\.\d{2}$

totalPaidstring | null

Importe ya pagado, como cadena decimal "1234.50"; null si no se ha registrado ningún pago.

Límites: patrón ^-?\d+\.\d{2}$

orderIdstring | null

Pedido de alquiler asociado; null si no tiene.

orderNumberstring | null

Número de ese pedido; null si no tiene.

projectIdstring | null

Proyecto asociado; null si no tiene.

repairTicketIdstring | null

Ticket de reparación que originó la compra; null si no procede de uno.

notesstring | null

Notas del pedido de compra; null si no tiene.

createdAtstring<date-time>

Fecha de creación en ISO 8601 UTC.

updatedAtstring<date-time>

Fecha de la última modificación en ISO 8601 UTC.

Un error es un resultado con isError: true y el problema en content[0].text; no hay structuredContent. Consulta Errores.

La misma operación por REST

Esta herramienta ejecuta PATCH /api/v1/purchase-orders/{purchaseOrderId}.

  • Órdenes de compra

    Actualizar una orden de compra

    Cambia la cabecera de un pedido de compra.

  • Guías

    Escrituras seguras

    Un asistente que puede escribir también puede escribir lo equivocado. Decide qué herramientas necesitan a una persona, reintenta sin duplicar y sabe qué pone en marcha una escritura.

  • Guías

    Errores

    Un error de herramienta es un resultado con isError: true y el problema en el primer bloque de texto. Ramifica por su code.