Tipos de producto

Listar, editar, crear y eliminar tipos de producto. El tipo de producto debe estar creado primero para que el producto se asocie a éste.

Estructura JSON

Al realizar una petición HTTP, el servicio retornara un JSON con la siguiente estructura:

{

"href": "https://api.bsale.com.pe/v1/product_types/2.json",

"id": 2,

"name": "Sin Tipo de Producto",

"isEditable": 1,

"state": 0,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/2/attributes.json"

}

}

  • href, url del tipo de producto (String).

  • id, identificador único del tipo de producto (Integer).

  • name, nombre del del tipo de producto (String).

  • isEditable, indica si el tipo de producto se puede editar No(0) o Si (1) (Boolean)..

  • state, estado del tipo de producto activo(0) o inactivo (1) (Boolean).

  • imagestionCategoryId, identificador en imagestion (Integer).

  • prestashopCategoryId, identificador en prestashop (Integer) .

GET lista de tipos de producto

  • GET /v1/product_types.json retornara todos los tipos de producto.

####Parametros

  • limit, limita la cantidad de items de una respuesta JSON, por defecto el limit es 25, el máximo permitido es 50.

  • offset, permite paginar los items de una respuesta JSON, por defecto el offset es 0.

  • fields, solo devolver atributos específicos de un recurso

  • expand, permite expandir instancias y colecciones.

  • name, Permite filtrar por nombre tipo producto.

  • state, boolean (0 o 1) indica si los tipos de producto están activos(0) inactivos(1).

####Ejemplos

  • GET /v1/product_types.json?limit=10&offset=0

  • GET /v1/product_types.json?fields=[name,state]

####Respuesta

{

"href": "https://api.bsale.com.pe/v1/product_types.json",

"count": 4,

"limit": 25,

"offset": 0,

"items": [

{

"href": "https://api.bsale.com.pe/v1/product_types/30.json",

"id": 30,

"name": "Accesorios Computación",

"isEditable": 1,

"state": 0,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/30/attributes.json"

}

},

{

"href": "https://api.bsale.com.pe/v1/product_types/9.json",

"id": 9,

"name": "Arriendo de producto",

"isEditable": 1,

"state": 0,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/9/attributes.json"

}

},

{

"href": "https://api.bsale.com.pe/v1/product_types/16.json",

"id": 16,

"name": "ARRIENDOS CHILEAN",

"isEditable": 1,

"state": 0,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/16/attributes.json"

}

},

{

"href": "https://api.bsale.com.pe/v1/product_types/5.json",

"id": 5,

"name": "Artículos Oficina",

"isEditable": 1,

"state": 0,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/5/attributes.json"

}

}

]

}

GET un tipo de producto

  • GET /v1/product_types/2.json retornara un tipo de producto específico.

####Respuesta

{

"href": "https://api.bsale.com.pe/v1/product_types/2.json",

"id": 2,

"name": "Sin Tipo de Producto",

"isEditable": 1,

"state": 0,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/2/attributes.json"

}

}

GET productos de un tipo de producto

  • GET /v1/product_types/3/products.json

{

"href": "https://api.bsale.com.pe/v1/products.json",

"count": 2,

"limit": 25,

"offset": 0,

"items": [

{

"href": "https://api.bsale.com.pe/v1/products/2.json",

"id": 2,

"name": "Asesoria Informatica Imagestion Capacitacion",

"description": "",

"classification": 1,

"ledgerAccount": "",

"costCenter": "",

"allowDecimal": 1,

"stockControl": 0,

"printDetailPack": 0,

"state": 0,

"prestashopProductId": 0,

"presashopAttributeId": 0,

"product_type": {

"href": "https://api.bsale.com.pe/v1/product_types/3.json",

"id": "3"

}

},

{

"href": "https://api.bsale.com.pe/v1/products/49.json",

"id": 49,

"name": "Etravel Capacitacion",

"description": "",

"classification": 1,

"ledgerAccount": "",

"costCenter": "",

"allowDecimal": 1,

"stockControl": 0,

"printDetailPack": 0,

"state": 0,

"prestashopProductId": 0,

"presashopAttributeId": 0,

"product_type": {

"href": "https://api.bsale.com.pe/v1/product_types/3.json",

"id": "3"

}

}

]

}

GET cantidad de tipos de producto

  • GET /v1/product_types/count.json

####Parametros

  • state, permite filtrar por estado, activos (0) inactivos (1).

####Respuesta

{

"count": 1926

}

GET atributos de un tipo de producto

  • GET /v1/product_types/44/attributes.json

{

"href": "https://api.bsale.com.pe/v1/product_types/44/attributes.json",

"count": 2,

"limit": 25,

"offset": 0,

"items": [

{

"href": "https://api.bsale.com.pe/v1/product_types/44/attributes/46.json",

"id": 46,

"name": "Fabricante",

"isMandatory": 0,

"generateVariantName": 1,

"hasOptions": 1,

"options": "Nintendo|Microsoft|Sony",

"state": 0

},

{

"href": "https://api.bsale.com.pe/v1/product_types/44/attributes/47.json",

"id": 47,

"name": "Sistema",

"isMandatory": 0,

"generateVariantName": 1,

"hasOptions": 1,

"options": "Wii U|Xone|PS4",

"state": 0

}

]

}

GET atributos de un tipo de producto específico

  • GET /v1/product_types/156/attributes/93.json

{

"href": "https://api.bsale.com.pe/v1/product_types/156/attributes/93.json",

"id": 93,

"name": "atributito",

"isMandatory": 0,

"generateVariantName": 0,

"hasOptions": 0,

"options": "",

"state": 0

}

POST un tipo de producto

  • POST /v1/product_types.json

Se debe enviar un Json con la siguiente estructura.

{

"name": "Consolas Next GEN",

}

Atributos (Opcional)

Si se desean crear atributos especiales para el tipo de producto se debe enviar la siguiente estructura.

"attributes": [

{

"name": "Fabricante",

"isMandatory": 0,

"generateVariantName": 1,

"hasOptions": 1,

"options": "Nintendo|Microsoft|Sony",

"state": 0

},

{

"name": "Sistema",

"isMandatory": 0,

"generateVariantName": 1,

"hasOptions": 1,

"options": "Wii U|Xone|PS4",

"state": 0

}

]

  • name, nombre del atributo (String).

  • isMandatory, indica si el atributo es obligatorio, 0 es No 1 es Si (Boolean).

  • generateVariantName, indica si el atributo se usara para generar el nombre de la variante, 0 es No 1 es Si(Boolean).

  • hasOptions, indica si el atributo tendrá opciones, 0 es No 1 es Si (Boolean).

  • options, opciones del atributo, se separan con el carácter "|" (String).

  • state, indica el estado del atributo, 0 Activo 1 Inactivo (Boolean).

Ejemplo de estructura JSON

{

"name": "Consolas Next GEN",

"attributes": [

{

"name": "Fabricante",

"isMandatory": 0,

"generateVariantName": 1,

"hasOptions": 1,

"options": "Nintendo|Microsoft|Sony",

"state": 0

},

{

"name": "Sistema",

"isMandatory": 0,

"generateVariantName": 1,

"hasOptions": 1,

"options": "Wii U|Xone|PS4",

"state": 0

}

]

}

####Respuesta

{

"href": "https://api.bsale.com.pe/v1/product_types/44.json",

"id": 44,

"name": "Consolas Next GEN",

"isEditable": 1,

"state": 0,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/44/attributes.json"

}

}

PUT un tipo de producto

  • PUT /v1/variants/44.json

Se debe enviar un Json con la siguiente estructura, si se desea cambiar los atributos se debe enviar el "id" de lo contrario se crea otro atributo.

{

"id": 44,

"name": "Consolas Next GEN 2",

"attributes": [

{

"id": 1,

"name": "Fabricante",

"isMandatory": 0,

"generateVariantName": 1,

"hasOptions": 1,

"options": "Nintendo|Microsoft|Sony",

"state": 0

},

{

"id": 2,

"name": "Sistema",

"isMandatory": 0,

"generateVariantName": 1,

"hasOptions": 1,

"options": "Wii U|Xone|PS4",

"state": 0

}

]

}

####Respuesta

{

"href": "https://api.bsale.com.pe/v1/product_types/44.json",

"id": 44,

"name": "Consolas Next GEN",

"isEditable": 1,

"state": 0,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/44/attributes.json"

}

}

DELETE un tipo de producto

  • DELETE /v1/product_types/44.json cambia el estado del tipo de producto.

{

"href": "https://api.bsale.com.pe/v1/product_types/44.json",

"id": 44,

"name": "Consolas Next GEN 2",

"isEditable": 1,

"state": 1,

"imagestionCategoryId": 0,

"prestashopCategoryId": 0,

"attributes": {

"href": "https://api.bsale.com.pe/v1/product_types/44/attributes.json"

}

}