Ir al contenido
ERPDocs
llms.txt

Pedidos

Modificar un pedido en borrador

Edita un pedido en borrador con la versión leída: cliente, fecha, condición, notas y líneas. Cada línea que sigue conserva su id y los precios que no son manuales se vuelven a resolver.

POST/api/v1/sales-orders/update

Permiso
sales-orders.create
Empresa
Opera sobre la empresa activa
Tipo
Escritura: pide Idempotency-Key
Respuesta
JSON

Encabezados

  • Cookietextorequerido

    La cookie de sesión del usuario de la integración (__Secure-erp.session_token). Cuando esté la clave API, va en Authorization: Bearer. Ver Autenticación.

  • X-Expected-Companyuuidrequerido

    La empresa sobre la que operás. Si no coincide con la de la credencial, responde 409. Ver Empresa activa.

  • Idempotency-Keytextorequerido

    Una clave única por intento, de hasta 255 caracteres. Reintentar con la misma clave y los mismos datos devuelve el mismo resultado sin repetir la operación. Ver Idempotencia.

Cuerpo

JSON con Content-Type: application/json.

  • salesOrderIduuidrequerido
  • versionenterorequerido

    mínimo 1

  • customerIduuidrequerido
  • documentDatefechaadmite null
  • paymentTermIduuidadmite null
  • notestextoadmite null

    hasta 1000 caracteres

  • customerOrderReferencetextoadmite null

    hasta 40 caracteres

  • headerDiscountPercentnúmero
  • lineslista de objetorequerido

    al menos 1, hasta 200

    Campos de cada elemento (4)
    • itemIduuidrequerido
    • quantitynúmerorequerido
    • discountPercentcualquiera
    • lineIduuidadmite null

Respuesta

200 con este JSON.

  • iduuidrequerido
  • numbertextorequerido
  • statusopciónrequerido

    Valores: draft confirmed closed discarded

  • documentDatefecharequerido
  • customerobjetorequerido
    Campos (5)
    • iduuidrequerido
    • codeenterorequerido
    • legalNametextorequerido
    • documentTypetextorequerido
    • taxIdtextorequerido
  • netTotaltextorequerido
  • invoicingProgressopciónrequeridoadmite null

    Valores: not-invoiced partial invoiced

  • tracksDeliverysí o norequerido
  • deliveryProgressopciónrequeridoadmite null

    Valores: not-delivered partial delivered

  • versionenterorequerido

    mínimo 1

  • notescualquierarequerido
  • customerOrderReferencecualquierarequerido
  • paymentTermobjetorequeridoadmite null
    Campos (3)
    • iduuidrequerido
    • nametextorequerido
    • statusopciónrequerido

      Valores: active inactive

  • paymentPlanlista de objetorequeridoadmite null
    Campos de cada elemento (2)
    • percentnúmerorequerido
    • dueDaysenterorequerido
  • paymentPlanTexttextorequerido
  • headerDiscountPercentnúmerorequerido
  • headerDiscountAmounttextorequerido
  • lineslista de objetorequerido
    Campos de cada elemento (19)
    • iduuidrequerido
    • itemobjetorequerido
      Campos (8)
      • iduuidrequerido
      • codetextorequerido
      • nametextorequerido
      • statusopciónrequerido

        Valores: active inactive

      • isSoldsí o norequerido
      • unitCodetextorequerido
      • unitNametextorequerido
      • allowsDecimalssí o norequerido
    • quantitynúmerorequerido
    • lineKindopciónrequerido

      Valores: sale free

    • unitPricecualquierarequerido
    • priceSourceopciónrequeridoadmite null

      Valores: customer-price customer-list general-list promotion manual

    • listPricecualquierarequerido
    • promotionobjetorequeridoadmite null
      Campos (2)
      • iduuidrequerido
      • nametextorequerido
    • proposedPricecualquierarequerido
    • discountPercentnúmerorequerido
    • netAmounttextorequerido
    • vatRatecualquierarequerido
    • invoicedQuantitynúmerorequerido
    • heldQuantitynúmerorequerido
    • pendingQuantitynúmerorequerido
    • deliveredQuantitynúmerorequerido
    • inDeliveryQuantitynúmerorequerido
    • pendingDeliveryQuantitynúmerorequerido
    • tracksStocksí o norequerido
  • totalsobjetorequerido
    Campos (5)
    • subtotaltextorequerido
    • headerDiscounttextorequerido
    • nettextorequerido
    • vatlista de objetorequerido
      Campos de cada elemento (3)
      • ratenúmerorequerido
      • basetextorequerido
      • amounttextorequerido
    • totaltextorequerido
  • createdAtfecha y horarequerido
  • createdByobjetorequeridoadmite null
    Campos (2)
    • idtextorequerido
    • namecualquierarequerido
  • confirmedAtfecha y horarequeridoadmite null
  • confirmedByobjetorequeridoadmite null
    Campos (2)
    • idtextorequerido
    • namecualquierarequerido
  • closedAtfecha y horarequeridoadmite null
  • closedByobjetorequeridoadmite null
    Campos (2)
    • idtextorequerido
    • namecualquierarequerido
  • closeReasoncualquierarequerido
  • discardedAtfecha y horarequeridoadmite null
  • discardedByobjetorequeridoadmite null
    Campos (2)
    • idtextorequerido
    • namecualquierarequerido
  • discardReasoncualquierarequerido

Errores

Un rechazo responde application/problem+json con un code estable. Los más comunes en esta operación:

401Falta la credencial o venció.
403La credencial no tiene el permiso sales-orders.create.
409La empresa activa no es la de X-Expected-Company.
409Otra persona cambió el registro desde que lo leíste (record.stale).
422Datos inválidos o una regla de negocio rota, con el detalle por campo.
503Sistema ocupado: reintentá después de Retry-After segundos.

La lista completa está en Errores.