Editar stock del producto
PUT /1/products/:id/stock/:id_stockMétodo utilizado para editar la cantidad de stock de una variante para un determinado producto de una tienda en particular.
Headers
{
"Authorization": "Bearer {access_token}",
"X-Shop-Id": "12345"
}| Parámetro | Tipo | Requerido | Valores aceptados | Descripción |
|---|---|---|---|---|
| Authorization | string | Si | Bearer + access_token | Token obtenido mediante client_id y client_secret. |
| X-Shop-Id | string | Si | String numérico | Identificador único de la tienda a la cual se desea obtener sus ventas. |
Params
{
"id": "product-1234",
"id_stock": "stock-5678"
}| Parámetro | Tipo | Requerido | Valores aceptados | Descripción |
|---|---|---|---|---|
| id | string | Si | product-{id} | Especifica qué producto editar a través de su identificador único. |
| id_stock | string | Si | stock-{id} | Especifica qué variante de stock editar a través de su identificador único. |
Body
{
"quantity": 10
}| Parámetro | Tipo | Requerido | Valores aceptados | Descripción |
|---|---|---|---|---|
| quantity | int | Si | quantity=null (stock infinito) quantity>=0 (stock finito) | Especifica la nueva cantidad de stock. |
Response exitosa: 201 Ok
{
"id": "stock-214106",
"sku": "a124t512190",
"quantity": 10,
"unlimited": false,
"price": 150,
"offer": 2,
"offer_price": 100,
"offer_start_date": null,
"offer_end_date": "2023-07-12T09:32:00Z",
"wholesale_price": 0,
"wholesale_min_quantity": 1,
"show_price": true,
"weight": 1,
"width": 10,
"height": 10,
"depth": 10,
"image_id": "image-1235",
"digital_link": null,
"digital_term": null,
"digital_observation": null,
"attribute_values": [
{
"id": "attribute-49681",
"name": "Color",
"value": "Negro"
},
//...
]
}Campos de la respuesta
| Atributo | Tipo | Descripción |
|---|---|---|
| id | string | Corresponde al identificador único de stock. |
| sku | string | Corresponde al identificador de stock provisto por el comercio. |
| quantity | int | Corresponde a la cantidad de stock. Si unlimited=true, entonces quantity=0 Si unlimited=false, entonces quantity>=0 |
| unlimited | boolean | Indica si posee o no stock infinito. |
| price | float | Indica el precio minorista del producto. price>0 si show_price=true y type!=1 price=null si show_price=false o type=1 |
| offer | int | Indica el tipo de oferta minorista. 0: sin oferta 1: con oferta por tiempo ilimitado 2: oferta con fecha de fin 3: oferta con fecha de inicio y fin |
| offer_price | float | Indica el precio de oferta. Solo contendrá valor si offer>0. En caso contrario será null. |
| offer_start_date | string | Indica la fecha en ISO 8601 desde que el offer_price es válido. Solo si existe si offer=3. |
| offer_end_date | string | Indica la fecha en ISO 8601 hasta que el offer_price es válido. Solo si existe si offer=3 o offer=2. |
| wholesale_price | float | Indica el precio mayorista del producto wholesale_price>0 si type>=1 wholesale_price=null si type=0 |
| wholesale_min_quantity | int | Indica la cantidad mínima mayorista que el cliente debe comprar de dicha variante de stock. Aclaración: la diferencia con wholesale_product_min_quantity es que el mismo es un límite a nivel producto, es decir que si su valor es 5, entonces si se compran diferentes variantes de stock del mismo producto hasta llegar a dicha suma 5. |
| show_price | boolean | Indica si el producto es un producto con o sin price. Usado para mostrar productos como formato catálogo. El producto puede ser de venta mayorista con type=2 (no los de type=1), tener wholesale_price y a su vez no tener price. De manera que las personas no mayoristas tendrán un botón de consultar y los clientes mayoristas podrán agregarlo al carrito. Valores: false: el producto no tiene price y aparece un botón de consultar en lugar de agregar al carrito true: el producto tiene price |
| weight | float | Indica el peso del producto empaquetado en kg |
| width | int | Indica el ancho del producto empaquetado en cm |
| height | int | Indica el alto del producto empaquetado en cm |
| depth | int | Indica la profundidad del producto empaquetado en cm |
| image_id | string | Corresponde al identificador único de la imagen asociada al stock del producto. Debe ser un valor del array images. |
| digital_link | string | Es el link de descarga del producto digital que se envía cuando el producto es un producto digital con descarga automática y el usuario abona. Valores: Si digital=1 Regex: /^(https:\/\/|http:\/\/)[0-9a-zA-Z\.\:\/\#\-\_\?\=\&\$\%\@\~\!]{2,200}$/Sino: null |
| digital_term | string | Es el plazo de entrega del producto digital que se envía cuando el producto es un producto digital con envío manual. Si digital=2 Regex: /^[a-zá-úÁ-Úä-üÄ-ÜA-Z0-9\s\!\.\-\,\?\"\'\:\¡\¿\%\(\)\[\]\$\+\~\#\_\&\/]{2,45}$/Sino: ” o NULL |
| digital_observation | string | Es una observación disponible para el usuario cuando el producto es un producto digital. Valores: Si digital>=1 Regex: /^[\s\S]{0,200}$/Sino: null |
| attribute_values[] | [object] | Contiene el valor de cada atributo para dicho stock. Si no hay contenido, se debe mostrar [] |
| attribute_values[].id | string | Corresponde al identificador único de la variante de stock |
| attribute_values[].name | string | Corresponde al nombre del atributo de la variante de stock |
| attribute_values[].value | string | Corresponde al valor del atributo para dicho stock. |
Responses de error
En caso de que la respuesta http no sea 201, entonces se debe considerar el error.
| Atributo | Tipo | Descripción |
|---|---|---|
| status | int | Http code de respuesta. |
| code | string | Código de error, indica la naturaleza del mismo. |
| msg | string | Mensaje de error. |
Ejemplo response 401 Unauthorized:
{
"status": 401,
"code": "error",
"msg": "Unauthorized"
}Ejemplo response 400 Bad Request genérico:
{
"status": 400,
"code": "request_error",
"msg": "Send valid data"
}Ejemplo response 400 Bad Request si algún parámetro de entrada requerido no es enviado:
{
"status": 400,
"code": "param_required",
"msg": "invalid <param_name>. The value is required"
}Ejemplo response 400 Bad Request si algún parámetro de entrada es inválido:
{
"status": 400,
"code": "param_invalid",
"msg": "Invalid <param_name>. The value is invalid"
}Ejemplo response 500 Internal Server Error:
{
"status": 500,
"code": "server_error",
"msg": "Something went wrong"
}