{"metadata":{"image":[],"title":"","description":""},"api":{"url":"/items/:id","auth":"required","params":[{"name":"id","type":"int","default":"","desc":"Identificador del producto o servicio que se desea editar. Se debe enviar en la URL","required":true,"in":"path","ref":"","_id":"57586f926a65ec0e0041545f"},{"name":"name","type":"string","default":"","desc":"Nombre del producto o servicio. Longitud máxima permitida: 150.","required":false,"in":"body","ref":"","_id":"56b0cbcbce5f410d0056c9c7"},{"name":"description","type":"string","default":"","desc":"Descripción del producto o servicio. Longitud máxima permitida: 500.","required":false,"in":"body","ref":"","_id":"56b0cd936d004b17008065cf"},{"name":"reference","type":"string","default":"","desc":"Referencia del producto o servicio.  Tener en cuenta que la aplicación no permite crear dos productos con la misma referencia.  Longitud máxima permitida: 45.","required":false,"in":"body","ref":"","_id":"56b0cd936d004b17008065ce"},{"name":"status","type":"string","default":"","desc":"Estado del producto o servicio, las opciones posibles son: active o inactive.  Se debe tener en cuenta que un producto o servicio que se encuentre inactivo no se puede editar; si se desea editar, se debe enviar entre los atributos que se van a editar el estado en active.","required":false,"in":"body","ref":"","_id":"56b0cd936d004b17008065cd"},{"name":"inventory","type":"array_object","default":"","desc":"Indica los atributos del inventario del producto, si se desea convertir un servicio a producto inventariable se debe enviar esta propiedad con los atributos del inventario.  Para editar una propiedad en particular del inventario se puede enviar solo ese atributo. Este objeto puede contener los siguientes atributos: `unit (string)`: Unidad de medida del producto. Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable; `unitCost (number)`: Costo unitario del producto. `initialQuantity (number)`: Cantidad inicial del producto.   Si se desea distribuir el producto en bodegas o modificar las bodegas del producto se debe adicionar un array con objetos warehouse, el cual contiene las bodegas en las cuales se desea distribuir el inventario.  Cada objeto warehouse debe contener los siguientes atributos: `id` : Identificador de la bodega; `initialQuantity` : Cantidad inicial del producto en la bodega, `minQuantity (integer)`: Cantidad mínima configurada para el producto en la bodega. `maxQuantity (integer)`: Cantidad máxima configurada para el producto en la bodega.","required":false,"in":"body","ref":"","_id":"56b0cd936d004b17008065cc"},{"name":"category","type":"string","default":"","desc":"Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio.","required":false,"in":"body","ref":"","_id":"56b11166135ec20d00bafa04"},{"name":"price","type":"string","default":"","desc":"Array de objetos que indica las listas de precio asociadas al producto o servicio.  Los objetos deben contener: `idPriceList (number, obligatorio)`:identificador de la lista de precios; `price (double)` : precio en la lista.  Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price.  Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.","required":false,"in":"body","ref":"","_id":"56b0cd936d004b17008065cb"},{"name":"tax","type":"string","default":"","desc":"Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.","required":false,"in":"body","ref":"","_id":"56b0cd936d004b17008065ca"},{"name":"customFields","type":"array_object","default":"","desc":"Arreglo con objetos de los atributos adicionales del ítem. Por el momento solo se soporta código de barras (barcode) y pedimento (importRequest) para México. Disponible únicamente si está activo el atributo adicional. Cada objeto debe llevar la estructura `{ \"key\": \"barcode\", \"value\": \"1234\" }`, donde en \"key\" debe ir el tipo de atributo adicional, y en \"value\" el valor correspondiente. Para el campo `importRequest` se aceptan los valores `true` o `false` para poder activar o desactivar.","required":false,"in":"body","ref":"","_id":"59e65e8cfdf13a001a90c743"},{"name":"productKey","type":"string","default":"","desc":"Para México, representa el número de la clave de producto o ClaveProdServ, debe contener 8 dígitos. Para Colombia, representa el código de producto o servicio, debe contener 8 dígitos, si no lo conoces haz clic [aquí](https://ayuda.alegra.com/agrega-el-c%C3%B3digo-de-producto-a-tus-%C3%ADtems-de-venta).","required":false,"in":"body","ref":"","_id":"5a01dde15c56100028a94ef2"},{"name":"reference (Costa Rica)","type":"string","default":"","desc":"Para Costa Rica, el atributo reference es un objeto compuesto por los siguientes atributos: `type(string`) tipo de referencia. Consulta el catálogo de parámetros correspondiente a cada país haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica). `reference (string)` código de referencia establecido para el producto.","required":false,"in":"body","ref":"","_id":"5bcf91ff7cc467000d9b9d35"},{"name":"type","type":"string","default":"","desc":"Indica el tipo de producto. Las opciones posibles son simple o kit","required":false,"in":"body","ref":"","_id":"5dbb3c5a712eba006ac7dcf3"},{"name":"subitems","type":"string","default":"","desc":"Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.","required":false,"in":"body","ref":"","_id":"5dbb3c9d9b29920056ad0a7f"},{"name":"kitWarehouse","type":"object","default":"","desc":"Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.","required":false,"in":"body","ref":"","_id":"5dbb3cbd859bbb004af3051c"},{"name":"tariffHeading","type":"string","default":"","desc":"Para Costa Rica, indica la partida arancelaria de un ítem. Longitud permitida: 12.","required":false,"in":"body","ref":"","_id":"5e2f676d6a6662003cadc4ab"},{"name":"itemCategory","type":"object","default":"","desc":"Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.","required":false,"in":"body","ref":"","_id":"5e30c3e65564fe003473ef00"},{"name":"variantAttributes","type":"array_object","default":"","desc":"Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del producto es variantParent. El objeto debe estar compuesto por los siguientes atributos: `id (int)` Id del atributo variante. `options(array of objects)` Array de objetos con los ids de las opciones a agregar en el item.","required":false,"in":"body","ref":"","_id":"5f0cfeb84368150022ad4622"},{"name":"itemVariants","type":"array_object","default":"","desc":"Arreglo con objetos que representan los items variantes de un item padre (item con variantes). Obligatorio si el atributo type del producto es variantParent. El objeto debe estar compuesto por los siguientes atributos: `inventory (object)` Objeto que representa la distribución del item variante en el inventario, el atributo `initialQuantity` es obligatorio . `variantAttributos(array of objects)` Array de objetos que representan los atributos variantes asociados al item variante.","required":false,"in":"body","ref":"","_id":"5f0cfeb84368150022ad4621"}],"results":{"codes":[{"language":"text","code":""}]},"settings":"","examples":{"codes":[]},"method":"put"},"next":{"description":"","pages":[]},"title":"Editar productos o servicios","type":"endpoint","slug":"editar-productos-o-servicios","excerpt":"","body":"[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Únicamente se modifican los atributos que se envían en el request, los otros atributos del objeto que no se envían quedan intactos.\",\n  \"body\": \"\"\n}\n[/block]\nPor ejemplo para editar el nombre y cambiarle el estado a un producto o servicio se debe enviar el siguiente JSON:\n\n```JSON\n{\n\"name\" : \"Nuevo nombre  de mi producto\",\n\"status\" : \"active\"\n}\n```\n\n\nPara eliminar algún dato del producto o servicio enviar el atributo en null, así:\n```JSON\n{\n\"reference\" : null\n}\n```\n\nSe retorna el producto que se ha modificado.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Edición de items variantes\",\n  \"body\": \"No es posible editar items variantes de forma directa, es necesario editar el item padre (item con variantes) para que los cambios se vean reflejados en los items hijos (items variantes)\"\n}\n[/block]","updates":[],"order":4,"isReference":true,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"57586e72f71f5c19002d1868","user":"56abd213d4432d1900eed227","project":"56abd2434e4b730d009eb10a","createdAt":"2016-06-08T19:13:54.177Z","editedParams":true,"version":{"version":"1","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["56abd2444e4b730d009eb10e","56abd4c8f25f160d00e17f81","56abd72ff25f160d00e17f84","56b3b8ea9f97020d0012d936","56b3b91ac25dea2b00b0cac9","56b4b2faeed075230097d688","56b4b32deed075230097d689","56b4b37327d9c00d005d6bc4","56b4b3bf3d5f130d00dad120","56b4b3d9eed075230097d68a","56b4b3eb7bccae0d00e9a12e","56b4b4085997532100bc6b61","56fbce6e2885e80e006c855f","5739ed9aad40e23200f674b6","573dd672b3f88f0e00dcae1c","58ad0922e570c62500512a82","58ad092b55018f1900218fda","58e412a5aa544d1b0005f7da","59e62c2a3ccab100263e800a","59e63126b4f8b0002edbe92c","5b5bbc98eaf71700031c2fda","5bedb529a56934002ee522b9","5c3e39454d3006001420f73e","5c4f5c0e1555130014796daa","5c6ac741acb04f003f927fa7","5c7e9c7c412d4c003f750162","5d055915910ab30020e5bc06","5d76e2018e0ce7006c82dbe1","5d9ca92eac34370012872d08","5d9f8149103b9f006c1421e0","5e3098aba5919200612d0c33","5e8ca028538a310018ccd2df","5e9f0d4c720ad8006c6c7dc1","5ea9c2f382fcd2003df9f412","5ec7defc6aa2be001e7504f5","5ed8f716a8308c0412b5473a","5ed9274fe5a9b8041fd1df43","5ed92afa0d09d60253220b3f","5efcff9cd7e1be00118e8272","5f172282d7522c03be08713f","5f3c4814ac3e6209c38b7615","5f4fbe7281626c006887f104","5f5242887d2f8701ff580d22"],"_id":"56abd2434e4b730d009eb10d","project":"56abd2434e4b730d009eb10a","releaseDate":"2016-01-29T20:57:39.712Z","__v":43,"createdAt":"2016-01-29T20:57:39.712Z"},"category":{"sync":{"isSync":false,"url":""},"pages":["56d5f18b31857e2500db0d4b"],"title":"Productos o servicios","slug":"productos-o-servicios","order":1,"from_sync":false,"reference":true,"_id":"56b3b8ea9f97020d0012d936","__v":1,"createdAt":"2016-02-04T20:47:38.572Z","project":"56abd2434e4b730d009eb10a","version":"56abd2434e4b730d009eb10d"},"githubsync":"","__v":18,"parentDoc":null,"editedParams2":true}

putEditar productos o servicios


Definition

{{ api_url }}{{ page_api_url }}

Parameters

Path Params

id:
required
integer
Identificador del producto o servicio que se desea editar. Se debe enviar en la URL

Body Params

name:
string
Nombre del producto o servicio. Longitud máxima permitida: 150.
description:
string
Descripción del producto o servicio. Longitud máxima permitida: 500.
reference:
string
Referencia del producto o servicio. Tener en cuenta que la aplicación no permite crear dos productos con la misma referencia. Longitud máxima permitida: 45.
status:
string
Estado del producto o servicio, las opciones posibles son: active o inactive. Se debe tener en cuenta que un producto o servicio que se encuentre inactivo no se puede editar; si se desea editar, se debe enviar entre los atributos que se van a editar el estado en active.
inventory:
array of objects
Indica los atributos del inventario del producto, si se desea convertir un servicio a producto inventariable se debe enviar esta propiedad con los atributos del inventario. Para editar una propiedad en particular del inventario se puede enviar solo ese atributo. Este objeto puede contener los siguientes atributos: `unit (string)`: Unidad de medida del producto. Los valores posibles son: unit, centimeter, meter, inch, centimeterSquared, meterSquared, inchSquared, mililiter, liter, gallon, gram, kilogram, ton, pound, piece, service, notApplicable; `unitCost (number)`: Costo unitario del producto. `initialQuantity (number)`: Cantidad inicial del producto. Si se desea distribuir el producto en bodegas o modificar las bodegas del producto se debe adicionar un array con objetos warehouse, el cual contiene las bodegas en las cuales se desea distribuir el inventario. Cada objeto warehouse debe contener los siguientes atributos: `id` : Identificador de la bodega; `initialQuantity` : Cantidad inicial del producto en la bodega, `minQuantity (integer)`: Cantidad mínima configurada para el producto en la bodega. `maxQuantity (integer)`: Cantidad máxima configurada para el producto en la bodega.
category:
string
Objeto categoría que contiene el id de la categoría de Alegra a la cual se desea asociar el producto o servicio.
price:
string
Array de objetos que indica las listas de precio asociadas al producto o servicio. Los objetos deben contener: `idPriceList (number, obligatorio)`:identificador de la lista de precios; `price (double)` : precio en la lista. Para indicar el precio general del producto/servicio se puede enviar únicamente un objeto con atributo de price. Para listas de precio de porcentaje se puede omitir el atributo price. Si no se desea asociar el producto/servicio a una lista de precios se puede enviar el precio del producto o servicio directamente.
tax:
string
Array con objeto que tiene como atributo el id del impuesto que se desea asociar al producto/servicio. Se puede enviar el id del impuesto directamente.
customFields:
array of objects
Arreglo con objetos de los atributos adicionales del ítem. Por el momento solo se soporta código de barras (barcode) y pedimento (importRequest) para México. Disponible únicamente si está activo el atributo adicional. Cada objeto debe llevar la estructura `{ "key": "barcode", "value": "1234" }`, donde en "key" debe ir el tipo de atributo adicional, y en "value" el valor correspondiente. Para el campo `importRequest` se aceptan los valores `true` o `false` para poder activar o desactivar.
productKey:
string
Para México, representa el número de la clave de producto o ClaveProdServ, debe contener 8 dígitos. Para Colombia, representa el código de producto o servicio, debe contener 8 dígitos, si no lo conoces haz clic [aquí](https://ayuda.alegra.com/agrega-el-c%C3%B3digo-de-producto-a-tus-%C3%ADtems-de-venta).
reference:
string
Para Costa Rica, el atributo reference es un objeto compuesto por los siguientes atributos: `type(string`) tipo de referencia. Consulta el catálogo de parámetros correspondiente a cada país haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica). `reference (string)` código de referencia establecido para el producto.
type:
string
Indica el tipo de producto. Las opciones posibles son simple o kit
subitems:
string
Indica los subitems de un kit. Obligatorio si el atributo type del producto es kit. Array que indica los items que componen un kit. Por cada subitem que se desee agregar se debe indicar la cantidad del item que compone el kit y el atributo item, el cual es un objeto que contiene el atributo id que indica el identificador del producto que se desea asociar al producto.
kitWarehouse:
object
Indica la bodega asociada al Kit. Se debe enviar solo si el producto es de tipo kit Si no se envía se asocia la bodega principal.
tariffHeading:
string
Para Costa Rica, indica la partida arancelaria de un ítem. Longitud permitida: 12.
itemCategory:
object
Indica la categoría de ítem a asociar. Se debe tener en cuenta si la categoría de ítem está activa para asociar el ítem.
variantAttributes:
array of objects
Arreglo con objetos que representa los atributos variantes del ítem. Obligatorio si el atributo type del producto es variantParent. El objeto debe estar compuesto por los siguientes atributos: `id (int)` Id del atributo variante. `options(array of objects)` Array de objetos con los ids de las opciones a agregar en el item.
itemVariants:
array of objects
Arreglo con objetos que representan los items variantes de un item padre (item con variantes). Obligatorio si el atributo type del producto es variantParent. El objeto debe estar compuesto por los siguientes atributos: `inventory (object)` Objeto que representa la distribución del item variante en el inventario, el atributo `initialQuantity` es obligatorio . `variantAttributos(array of objects)` Array de objetos que representan los atributos variantes asociados al item variante.

Documentation

[block:callout] { "type": "warning", "title": "Únicamente se modifican los atributos que se envían en el request, los otros atributos del objeto que no se envían quedan intactos.", "body": "" } [/block] Por ejemplo para editar el nombre y cambiarle el estado a un producto o servicio se debe enviar el siguiente JSON: ```JSON { "name" : "Nuevo nombre de mi producto", "status" : "active" } ``` Para eliminar algún dato del producto o servicio enviar el atributo en null, así: ```JSON { "reference" : null } ``` Se retorna el producto que se ha modificado. [block:callout] { "type": "warning", "title": "Edición de items variantes", "body": "No es posible editar items variantes de forma directa, es necesario editar el item padre (item con variantes) para que los cambios se vean reflejados en los items hijos (items variantes)" } [/block]

User Information

Try It Out

put
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}