> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.es/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# API del CRM | Elementos de pedido

export const postmanIcon = <svg xmlns="http://www.w3.org/2000/svg" width={25} height={25} preserveAspectRatio="xMidYMid" viewBox="0 0 256 256">
    <path fill="#FF6C37" d="M254.953 144.253c8.959-70.131-40.569-134.248-110.572-143.206C74.378-7.912 10.005 41.616 1.047 111.619c-8.959 70.003 40.569 134.248 110.572 143.334 70.131 8.959 134.248-40.569 143.334-110.7Z" />
    <path fill="#FFF" d="m174.2 82.184-54.007 54.007-15.229-15.23c53.11-53.11 58.358-48.503 69.236-38.777Z" />
    <path fill="#FF6C37" d="M120.193 137.47c-.384 0-.64-.128-.895-.384l-15.358-15.229a1.237 1.237 0 0 1 0-1.792c54.007-54.006 59.638-48.887 71.028-38.649.255.256.383.512.383.896s-.128.64-.383.896l-54.007 53.878c-.128.256-.512.384-.768.384Zm-13.437-16.509 13.437 13.438 52.087-52.087c-9.47-8.446-15.87-11.006-65.524 38.65Z" />
    <path fill="#FFF" d="m135.679 151.676-14.718-14.718 54.007-54.006c14.46 14.59-7.167 38.265-39.29 68.724Z" />
    <path fill="#FF6C37" d="M135.679 152.956c-.384 0-.64-.128-.896-.384l-14.718-14.718c-.256-.256-.256-.512-.256-.896s.128-.64.384-.895L174.2 82.056a1.237 1.237 0 0 1 1.791 0 15.58 15.58 0 0 1 4.991 11.902c-.256 14.206-16.38 32.25-44.28 58.614-.383.256-.767.384-1.023.384Zm-12.926-15.998c8.19 8.319 11.646 11.646 12.926 12.926 21.5-20.476 42.36-41.464 42.488-55.926.128-3.327-1.152-6.655-3.327-9.214l-52.087 52.214Z" />
    <path fill="#FFF" d="m105.22 121.345 10.878 10.878c.256.256.256.512 0 .768-.128.128-.128.128-.256.128l-22.524 4.863c-1.152.128-2.175-.64-2.431-1.791-.128-.64.128-1.28.512-1.664l13.053-13.054c.256-.256.64-.384.768-.128Z" />
    <path fill="#FF6C37" d="M92.934 139.262c-1.92 0-3.327-1.536-3.327-3.455 0-.896.384-1.792 1.024-2.432l13.053-13.054c.768-.64 1.792-.64 2.56 0l10.878 10.878c.768.64.768 1.792 0 2.56-.256.256-.512.384-.896.512l-22.524 4.863c-.256 0-.512.128-.768.128Zm11.902-16.51-12.542 12.543c-.256.256-.383.64-.128 1.024.128.383.512.511.896.383l21.116-4.607-9.342-9.342Z" />
    <path fill="#FFF" d="M202.739 52.238c-8.191-7.935-21.373-7.679-29.307.64-7.935 8.318-7.679 21.372.64 29.306A20.678 20.678 0 0 0 199.155 85l-14.59-14.59 18.174-18.172Z" />
    <path fill="#FF6C37" d="M188.405 89.223c-12.158 0-22.012-9.854-22.012-22.012 0-12.158 9.854-22.012 22.012-22.012 5.631 0 11.134 2.176 15.23 6.143.255.256.383.512.383.896s-.128.64-.384.895L186.357 70.41l13.566 13.566c.512.512.512 1.28 0 1.792l-.256.256c-3.327 2.047-7.295 3.199-11.262 3.199Zm0-41.337c-10.75 0-19.452 8.703-19.324 19.453 0 10.75 8.702 19.452 19.452 19.324 2.944 0 5.887-.64 8.575-2.047l-13.438-13.31c-.256-.256-.384-.512-.384-.896s.128-.64.384-.895l17.149-17.15c-3.456-2.943-7.807-4.479-12.414-4.479Z" />
    <path fill="#FFF" d="m203.122 52.622-.255-.256-18.301 18.044 14.461 14.462c1.408-.896 2.816-1.92 3.967-3.072a20.51 20.51 0 0 0 .128-29.178Z" />
    <path fill="#FF6C37" d="M199.155 86.28c-.384 0-.64-.128-.896-.384l-14.589-14.59c-.256-.256-.384-.512-.384-.896s.128-.64.384-.895l18.173-18.173a1.237 1.237 0 0 1 1.791 0l.384.256c8.575 8.574 8.575 22.396.128 31.098-1.28 1.28-2.687 2.432-4.223 3.328-.384.128-.64.256-.768.256Zm-12.798-15.87 12.926 12.926c1.024-.64 2.048-1.536 2.816-2.304 7.294-7.294 7.678-19.196.64-26.875L186.357 70.41Z" />
    <path fill="#FFF" d="M176.375 84.488a7.879 7.879 0 0 0-11.134 0l-48.247 48.247 8.063 8.063 51.062-44.792c3.328-2.816 3.584-7.807.768-11.134-.256-.128-.384-.256-.512-.384Z" />
    <path fill="#FF6C37" d="M124.929 142.077c-.384 0-.64-.128-.896-.383l-8.063-8.063a1.237 1.237 0 0 1 0-1.792l48.247-48.247a9.115 9.115 0 0 1 12.926 0 9.115 9.115 0 0 1 0 12.926l-.384.384-51.063 44.792c-.128.255-.384.383-.767.383Zm-6.143-9.342 6.27 6.271 50.167-44.024c2.816-2.304 3.072-6.527.768-9.342-2.303-2.816-6.526-3.072-9.342-.768-.128.128-.256.256-.512.384l-47.351 47.48Z" />
    <path fill="#FFF" d="M80.009 187.637c-.512.256-.768.768-.64 1.28l2.175 9.214c.512 1.28-.256 2.816-1.663 3.2-1.024.384-2.176 0-2.816-.768l-14.077-13.95 45.943-45.943 15.87.256 10.75 10.75c-2.56 2.175-18.045 17.149-55.542 35.961Z" />
    <path fill="#FF6C37" d="M78.985 202.61c-1.024 0-2.048-.383-2.688-1.151l-13.95-13.95c-.255-.256-.383-.512-.383-.896 0-.383.128-.64.384-.895l45.944-45.944c.256-.256.64-.384.895-.384l15.87.256c.383 0 .64.128.895.384l10.75 10.75c.256.256.384.64.384 1.024s-.128.64-.512.896l-.895.767c-13.566 11.902-31.995 23.804-54.902 35.194l2.175 9.086c.384 1.664-.384 3.456-1.92 4.352-.767.384-1.407.512-2.047.512Zm-14.078-15.997 13.182 13.054c.384.64 1.152.896 1.792.512.64-.384.896-1.152.512-1.792l-2.176-9.214c-.256-1.152.256-2.176 1.28-2.688 22.652-11.39 40.952-23.163 54.39-34.81l-9.47-9.47-14.718-.256-44.792 44.664Z" />
    <path fill="#FFF" d="m52.11 197.62 11.006-11.007 16.38 16.381-26.107-1.791c-1.151-.128-1.92-1.152-1.791-2.304 0-.512.128-1.024.512-1.28Z" />
    <path fill="#FF6C37" d="m79.497 204.146-26.236-1.791c-1.92-.128-3.199-1.792-3.071-3.712.128-.768.384-1.535 1.024-2.047L62.22 185.59a1.237 1.237 0 0 1 1.792 0l16.38 16.38c.385.385.512.897.257 1.408-.256.512-.64.768-1.152.768Zm-16.381-15.74-10.11 10.11c-.384.255-.384.895 0 1.151.127.128.255.256.511.256l22.652 1.536-13.053-13.054ZM104.452 146.557c-.768 0-1.28-.64-1.28-1.28 0-.384.128-.64.384-.896l12.414-12.414a1.237 1.237 0 0 1 1.792 0l8.062 8.063c.384.384.512.768.384 1.28-.128.384-.512.767-1.023.895l-20.477 4.352h-.256Zm12.414-11.902-8.446 8.446 13.821-2.943-5.375-5.503Z" />
    <path fill="#FFF" d="m124.8 140.926-14.077 3.071c-1.024.256-2.048-.384-2.303-1.408-.128-.64 0-1.28.511-1.791l7.807-7.807 8.063 7.935Z" />
    <path fill="#FF6C37" d="M110.467 145.277a3.168 3.168 0 0 1-3.2-3.2c0-.895.385-1.663.897-2.303l7.806-7.807a1.237 1.237 0 0 1 1.792 0l8.062 8.063c.384.384.512.768.384 1.28-.128.384-.512.767-1.023.895l-14.078 3.072h-.64Zm6.399-10.622-6.91 6.91c-.257.257-.257.512-.129.768s.384.384.768.384l11.774-2.56-5.503-5.502ZM203.25 64.907c-.256-.767-1.151-1.151-1.92-.895-.767.255-1.151 1.151-.895 1.92 0 .127.128.255.128.383.768 1.536.512 3.455-.512 4.863-.512.64-.384 1.536.128 2.048.64.512 1.536.384 2.048-.256 1.92-2.432 2.303-5.503 1.023-8.063Z" />
  </svg>;

export const ScopesList = ({scopes = [], description = "Esta API requiere uno de los siguientes ámbitos:"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

<Card title="Run in Postman" href="https://app.getpostman.com/run-collection/c6e6832eb67946d66554" icon={postmanIcon} horizontal={true} />

<RelatedApiLink />

<Accordion title="Requisitos de ámbito">
  <ScopesList
    scopes={[
  'crm.objects.line_items.read',
  'crm.objects.line_items.write'
]}
  />
</Accordion>

En HubSpot, los elementos de pedido son instancias individuales de los [productos](/docs/api-reference/crm-products-v3/guide). Cuando un producto está adjunto a un negocio, se convierte en un elemento de pedido. Puedes crear elementos de pedido únicos para una cotización individual, pero no se agregarán a tu biblioteca de productos. Los endpoints de elementos de pedido permiten gestionar estos datos y sincronizarlos entre HubSpot y otros sistemas.

**Ejemplo de uso:** al crear un conjunto de [cotizaciones](/docs/api-reference/crm-quotes-v3/guide) para que los representantes de ventas las envíen a compradores potenciales, puedes usar esta API para crear elementos de pedido independientes por cotización, así como elementos de pedido que se adjuntan a productos existentes.

## Permisos necesarios

Dependiendo de los endpoints que pienses utilizar, tendrás que autorizar los siguientes permisos:

* `crm.objects.line_items.read`: proporciona acceso para recuperar datos de elementos de pedido.
* `crm.objects.line_items.write`: proporciona acceso para crear y actualizar elementos de pedido.
* `tax_rates.read`: proporciona acceso para recuperar los datos de las tasas de impuestos que hayas configurado en tu cuenta.

## Crear un elemento de pedido

Para crear un elemento de pedido, haz una solicitud `POST` a `/crm/v3/objects/line_items`. En el cuerpo de la solicitud, incluye los detalles del elemento de pedido, como su nombre, la cantidad y el precio. También puedes incluir datos adicionales en el cuerpo de la solicitud:

* Para crear un elemento de pedido basado en un producto existente (creado a través de la [API de productos](/docs/api-reference/crm-products-v3/guide) o [n HubSpot](https://knowledge.hubspot.com/es/products/create-and-manage-products)), incluye `hs_product_id` en el cuerpo de la solicitud.
* Para incluir la [tasa de impuestos](#retrieve-tax-rates) de tu elemento de pedido, incluye su ID como `hs_tax_rate_group_id` en el campo `properties` del cuerpo de la solicitud.
* También puedes asociar el elemento de pedido con negocios, cotizaciones, facturas, enlaces de pago o suscripciones, incluyendo una matriz de `associations` en el cuerpo de la solicitud. Por ejemplo, el cuerpo de la siguiente solicitud crearía un elemento de pedido llamado "New standalone line item" (Nuevo elemento de pedido independiente) que está asociado con un negocio (ID: `12345`).

```js theme={null}
{
  "properties": {
    "price": 10,
    "quantity": 1,
    "name": "New standalone line item",
    "hs_tax_rate_group_id": "2148420997"
  },
  "associations": [
    {
      "to": {
        "id": 12345
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 20
        }
      ]
    }
  ]
}
```

<Warning>
  ### Nota:

  * Los elementos de pedido pertenecen a un único objeto principal. Si se asocian objetos, los elementos de pedido deben ser individuales para cada objeto. Por ejemplo, si estás creando un negocio y una cotización, debes crear un conjunto de elementos de pedido para el negocio y otro conjunto para la cotización. Esto ayudará a agilizar los datos del CRM en todos los objetos y evitará la pérdida inesperada de datos cuando se necesite modificar los elementos de pedido (por ejemplo, eliminar una cotización eliminará los elementos de pedido de la cotización, y si esos elementos de pedido están asociados con un negocio, los elementos de pedido de los negocios también se eliminarán).
  * El valor `price` especificado dentro del campo `properties` <u>no puede</u> ser negativo.
  * La propiedad *Plazo* de los elementos de pedido (`hs_recurring_billing_period`) acepta los [formatos de período ISO-8601](https://docs.oracle.com/javase/8/docs/api/java/time/Period.html) de PnYnMnD y PnW.
</Warning>

## Obtener un elemento de pedido

Puedes obtener elementos de pedido de forma individual o en bloque.

* Para obtener un elemento de pedido específico, haz una solicitud `GET` a `/crm/v3/objects/line_items/{lineItemId}`, donde `lineItemId` es el ID del elemento de pedido.
* Para obtener todos los elementos de pedido, haz una solicitud `GET` a `/crm/v3/objects/line_items`.

En la URL de la solicitud, puedes incluir los siguientes parámetros:

| Parámetro               | Descripción                                                                                                                                                                                                          |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `properties`            | Una lista separada con comas de las propiedades que se devolverán en la respuesta. Si alguna de las propiedades especificadas no está presente en los objetos solicitados, se ignorará.                              |
| `propertiesWithHistory` | Una lista separada por comas de las propiedades que se devolverán junto con su historial de valores anteriores. Si alguna de las propiedades especificadas no está presente en los objetos solicitados, se ignorará. |

## Actualizar un elemento de pedido

Para actualizar un elemento de pedido, haz una solicitud `PATCH` a `/crm/v3/objects/line_items/{lineItemId}`, donde `lineItemId` es el ID del elemento de pedido.

En el cuerpo de la solicitud, incluye los valores de propiedad que quieres actualizar. <u>No puedes</u> actualizar asociaciones con este método. En su lugar, deberás usar la [API de asociaciones](/docs/api-reference/crm-associations-v4/guide).

Por ejemplo, el cuerpo de la solicitud puede tener un aspecto similar al siguiente:

```js theme={null}
{
  "properties": {
    "price": 25,
    "quantity": 3,
    "name": "Updated line item"
  }
}
```

## Eliminar un elemento de pedido

Para eliminar un elemento de pedido, haz una solicitud `DELETE` a `/crm/v3/objects/line_items/{lineItemId}`, donde `lineItemId` es el ID del elemento de pedido.

## Propiedades de los elementos de pedido

Al gestionar los datos de los elementos de pedido, puede que quieras usar algunas de las propiedades comunes de esta tabla. Para obtener todas las propiedades de los elementos de pedido, haz una solicitud `GET` a `/crm/v3/properties/line_item`. Consulta más información sobre el uso de la [API de propiedades](/docs/api-reference/crm-properties-v3/guide).

| Nombre de la propiedad            | Etiqueta en la interfaz de usuario      | Descripción                                                                                                                                                                                                 |
| --------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                            | Nombre                                  | El nombre del elemento de pedido.                                                                                                                                                                           |
| `description`                     | Descripción                             | Descripción completa del producto                                                                                                                                                                           |
| `hs_sku`                          | SKU                                     | Identificador único del producto                                                                                                                                                                            |
| `hs_recurring_billing_start_date` | Fecha de inicio de la facturación       | Facturación recurrente de un elemento de pedido                                                                                                                                                             |
| `hs_recurring_billing_end_date`   | Fecha de finalización de la facturación | Facturación recurrente de un elemento de pedido                                                                                                                                                             |
| `recurringbillingfrequency`       | Frecuencia de facturación               | Con qué frecuencia se factura un elemento de pedido con facturación periódica. Indica el cálculo de precios para negocios y cotizaciones. Los elementos de pedido con facturación única no están incluidos. |
| `quantity`                        | Cantidad                                | Cuántas unidades de un producto hay en este elemento de pedido                                                                                                                                              |
| `price`                           | Precio unitario                         | El coste del producto                                                                                                                                                                                       |
| `amount`                          | Precio neto                             | El coste total del elemento de pedido (es decir, la cantidad multiplicada por el precio unitario).                                                                                                          |
| `hs_line_item_currency_code`      | Divisa                                  | Código de la divisa del elemento de pedido                                                                                                                                                                  |

## Recuperar tasas de impuestos

Puedes aplicar una tasa de impuestos a elementos de pedido individuales (por ejemplo, un impuesto sobre las ventas de MA del 6,26%). Una vez que hayas [configurado tu biblioteca de tasas de impuestos](https://knowledge.hubspot.com/es/payments/set-up-automated-tax-and-tax-rates#add-a-tax-rate-to-the-tax-library) en tu cuenta de HubSpot, puedes hacer una solicitud `GET` a `/tax-rates/v1/tax-rates` para obtener todos las tasas de impuestos, o a `/tax-rates/v1/tax-rates/{taxRateId}` para obtener una tasa de impuestos por su ID. Tu aplicación tendrá que autorizar el permiso `tax_rates.read` para realizar esta solicitud.

La respuesta tendrá el siguiente formato:

```json theme={null}
{
  "name": "MA Sales tax 2025",
  "percentageRate": 6.25
  "label": "Sales Tax",
  "active": true,
  "id": "2148420997",
  "createdAt": "2024-12-12T23:20:39.923Z",
  "updatedAt": "2024-12-12T23:20:39.923Z"
}
```

Cada objeto de tasas de impuestos incluirá las siguientes propiedades:

| Tipo de propiedad | Descripción                                                                                                                                                                                       |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`            | El descriptor interno de la tasa de impuestos.                                                                                                                                                    |
| `percentageRate`  | El valor de la tasa de impuestos, expresado en porcentaje.                                                                                                                                        |
| `label`           | El descriptor de la tasa de impuestos orientado al comprador, que se muestra en la cotización, factura u otros objetos padre.                                                                     |
| `active`          | Un booleano que indica si la tasa de impuestos puede aplicarse a una nueva cotización o factura. Puedes ajustarlo a `false` para una tasa de impuestos de un año anterior que ya no es aplicable. |
| `id`              | El ID de la tasa de impuestos.                                                                                                                                                                    |
| `createdAt`       | Una marca de tiempo ISO 8601 que indica cuándo se creó la tasa de impuestos.                                                                                                                      |
| `updatedAt`       | Una marca de tiempo ISO 8601 que indica cuándo se actualizó por última vez la tasa de impuestos.                                                                                                  |

Una vez que tengas el ID de la tasa de impuestos que quieres aplicar, proporciona ese `id` para el `hs_tax_rate_group_id` dentro del campo `properties` al crear un elemento de pedido. Más información sobre la creación de elementos de pedido en la [sección anterior](#create-a-line-item).
