La documentación que estás leyendo no cuenta con los últimos cambios. ¡Revisa nuestra documentación actualizada!
Listar productos, variantes, cantidades, crear productos.
Un producto puede tener 1 o más variantes. Ej, (Nombre Producto) Poleron Blanco, (Nombre Variantes) Talla L, Talla M, Talla S. La variante se debe crear una vez creado el producto. Para vender un producto/variante creado, se debe indicar en el nodo details del documento.
Al realizar una petición HTTP, el servicio retornara un JSON con la siguiente estructura:
{
"href": "https://api.bsale.com.pe/v1/products/92.json",
"id": 92,
"name": null,
"description": null,
"classification": 0,
"ledgerAccount": null,
"costCenter": null,
"allowDecimal": 0,
"stockControl": 1,
"printDetailPack": 0,
"state": 99,
"prestashopProductId": 0,
"presashopAttributeId": 0,
"product_type": {
"href": "https://api.bsale.com.pe/v1/product_types/1.json",
"id": "1"
},
"product_taxes": {
"href": "https://api.bsale.com.pe/v1/products/92/product_taxes.json"
}
}
href, url del producto (String).
id, identificador único del producto (Integer).
name, nombre del producto (String).
description, descripción del producto (String).
classification, indica la clase del producto 0 es producto, 1 es servicio y 3 si es un pack o promocion(Integer).
ledgerAccount, cuenta contable del producto (String).
costCenter, centro de costo del producto (String).
allowDecimal, indica si el producto permite trabajar con decimales No(0) o Si (1) (Boolean).
stockControl, indica si el producto controlara stock No(0) o Si (1) (Boolean).
printDetailPack, indica si se muestra el detalle del pack No(0) o Si (1) (Boolean).
state, estado del producto activo(0) o inactivo (1) (Boolean).
prestashopProductId, identificador del producto en prestashop en el caso de existir la integración.
presashopAttributeId, identificador del producto en prestashop en el caso de existir la integración.
product_type, nodo que indica la relación con el tipo de producto.
product_taxes, nodo que indica los impuestos asociados al producto.
GET /v1/products.json retornara todos los productos.
####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 del producto.
ledgeraccount, filtra por cuenta contable de los productos.
costcenter, filtra centro de costo de los productos.
producttypeid, filtra por tipo de producto.
state, boolean (0 o 1) indica si los productos están activos(0) inactivos (1).
####Ejemplos
GET /v1/products.json?limit=10&offset=0
GET /v1/products.json?fields=[name,ledgeraccount,description]
GET /v1/products.json?producttypeid=1
GET /v1/products.json?expand=[product_type]
####Respuesta
{
"href": "https://api.bsale.com.pe/v1/products.json",
"count": 693,
"limit": 3,
"offset": 0,
"items": [
{
"href": "https://api.bsale.com.pe/v1/products/731.json",
"id": 731,
"name": "11% Avalúo Fiscal Depto 515,",
"description": null,
"classification": 1,
"ledgerAccount": "",
"costCenter": "",
"allowDecimal": 0,
"stockControl": 0,
"printDetailPack": 0,
"state": 0,
"prestashopProductId": 0,
"presashopAttributeId": 0,
"product_type": {
"href": "https://api.bsale.com.pe/v1/product_types/1.json",
"id": "1"
},
"product_taxes": {
"href": "https://api.bsale.com.pe/v1/products/731/product_taxes.json"
}
},
{
"href": "https://api.bsale.com.pe/v1/products/474.json",
"id": 474,
"name": "24 clases 3 veces a la semana",
"description": null,
"classification": 3,
"ledgerAccount": "",
"costCenter": "",
"allowDecimal": 0,
"stockControl": 0,
"printDetailPack": 0,
"state": 0,
"prestashopProductId": 0,
"presashopAttributeId": 0,
"product_type": {
"href": "https://api.bsale.com.pe/v1/product_types/1.json",
"id": "1"
},
"product_taxes": {
"href": "https://api.bsale.com.pe/v1/products/474/product_taxes.json"
}
},
{
"href": "https://api.bsale.com.pe/v1/products/703.json",
"id": 703,
"name": "2x1",
"description": null,
"classification": 3,
"ledgerAccount": null,
"costCenter": null,
"allowDecimal": 0,
"stockControl": 0,
"printDetailPack": 0,
"state": 0,
"prestashopProductId": 0,
"presashopAttributeId": 0,
"product_type": {
"href": "https://api.bsale.com.pe/v1/product_types/1.json",
"id": "1"
},
"product_taxes": {
"href": "https://api.bsale.com.pe/v1/products/703/product_taxes.json"
}
}
],
"next": "https://api.bsale.com.pe/v1/products.json?limit=3&offset=3"
}
GET /v1/products/62.json retornara un producto específico.
####Parametros
expand, permite expandir instancias y colecciones.
####Ejemplos
GET /v1/products/150.json?expand=[product_type]
####Respuesta
{
"href": "https://api.bsale.com.pe/v1/products/150.json",
"id": 150,
"name": "polera",
"description": "",
"classification": 0,
"ledgerAccount": "",
"costCenter": "",
"allowDecimal": 0,
"stockControl": 1,
"printDetailPack": 0,
"state": 0,
"prestashopProductId": 0,
"presashopAttributeId": 0,
"product_type": {
"href": "https://api.bsale.com.pe/v1/product_types/1.json",
"id": "1"
},
"product_taxes": {
"href": "https://api.bsale.com.pe/v1/products/150/product_taxes.json"
}
}
GET /v1/products/62/variants.json
{
"href": "https://api.bsale.com.pe/v1/variants.json",
"count": 3,
"limit": 25,
"offset": 0,
"items": [
{
"href": "https://api.bsale.com.pe/v1/variants/500.json",
"id": 500,
"description": "gap",
"unlimitedStock": 0,
"allowNegativeStock": 0,
"state": 0,
"barCode": "1351176376",
"code": "1351176376",
"imagestionCenterCost": 0,
"imagestionAccount": 0,
"imagestionConceptCod": 0,
"imagestionProyectCod": 0,
"imagestionCategoryCod": 0,
"imagestionProductId": 0,
"serialNumber": 0,
"prestashopCombinationId": 0,
"prestashopValueId": 0,
"product": {
"href": "https://api.bsale.com.pe/v1/products/150.json",
"id": "150"
},
"attribute_values": {
"href": "https://api.bsale.com.pe/v1/variants/500/attribute_values.json"
},
"costs": {
"href": "https://api.bsale.com.pe/v1/variants/500/costs.json"
}
},
{
"href": "https://api.bsale.com.pe/v1/variants/499.json",
"id": 499,
"description": "L",
"unlimitedStock": 0,
"allowNegativeStock": 0,
"state": 0,
"barCode": "1351176361",
"code": "1351176361",
"imagestionCenterCost": 0,
"imagestionAccount": 0,
"imagestionConceptCod": 0,
"imagestionProyectCod": 0,
"imagestionCategoryCod": 0,
"imagestionProductId": 0,
"serialNumber": 0,
"prestashopCombinationId": 0,
"prestashopValueId": 0,
"product": {
"href": "https://api.bsale.com.pe/v1/products/150.json",
"id": "150"
},
"attribute_values": {
"href": "https://api.bsale.com.pe/v1/variants/499/attribute_values.json"
},
"costs": {
"href": "https://api.bsale.com.pe/v1/variants/499/costs.json"
}
},
{
"href": "https://api.bsale.com.pe/v1/variants/498.json",
"id": 498,
"description": "verde",
"unlimitedStock": 0,
"allowNegativeStock": 0,
"state": 0,
"barCode": "1351176256",
"code": "1351176256",
"imagestionCenterCost": 0,
"imagestionAccount": 0,
"imagestionConceptCod": 0,
"imagestionProyectCod": 0,
"imagestionCategoryCod": 0,
"imagestionProductId": 0,
"serialNumber": 0,
"prestashopCombinationId": 0,
"prestashopValueId": 0,
"product": {
"href": "https://api.bsale.com.pe/v1/products/150.json",
"id": "150"
},
"attribute_values": {
"href": "https://api.bsale.com.pe/v1/variants/498/attribute_values.json"
},
"costs": {
"href": "https://api.bsale.com.pe/v1/variants/498/costs.json"
}
}
]
}
GET /v1/products/150/product_taxes.json
{
"href": "https://api.bsale.com.pe/v1/products/150/product_taxes.json",
"count": 2,
"limit": 25,
"offset": 0,
"items": [
{
"href": "https://api.bsale.com.pe/v1/products/150/product_taxes/159.json",
"id": "159",
"tax": {
"href": "https://api.bsale.com.pe/v1/taxes/1.json",
"id": "1"
}
}
]
}
GET /v1/products/150/product_taxes/159.json
{
"href": "https://api.bsale.com.pe/v1/products/150/product_taxes/159.json",
"id": "159",
"tax": {
"href": "https://api.bsale.com.pe/v1/taxes/1.json",
"id": "1"
}
}
GET /v1/products/count.json
####Parametros
state, permite filtrar por estado, activos (0) inactivos (1).
####Respuesta
{
"count": 53
}
POST /v1/products.json
Se debe enviar un Json con la siguiente estructura.
{
"name": "Calcetines",
"description": "Multiples colores de calcetines",
"allowDecimal": 0,
"ledgerAccount": "Calcetas",
"costCenter": "23",
"stockControl": 1,
"productTypeId": 1
}
####Respuesta
{
"stockControl": 1,
"name": "Calcetines",
"ledgerAccount": "Calcetas",
"href": "https://api.bsale.com.pe/v1/products/97.json",
"prestashopProductId": 0,
"presashopAttributeId": 0,
"costCenter": "23",
"printDetailPack": 0,
"product_type": {
"href": "https://api.bsale.com.pe/v1/product_types/1.json",
"id": "1"
},
"classification": 1,
"description": "Multiples colores de calcetines",
"id": 97,
"state": 0,
"allowDecimal": 0
}
PUT /v1/products/67.json
Se debe enviar un Json con la siguiente esctructura.
{
"id":"97",
"name": "Calcetines de Mujer",
}
####Respuesta
{
"stockControl": 1,
"name": "Calcetines de Mujer",
"ledgerAccount": "Calcetas",
"href": "https://api.bsale.com.pe/v1/products/97.json",
"prestashopProductId": 0,
"presashopAttributeId": 0,
"costCenter": "23",
"printDetailPack": 0,
"product_type": {
"href": "https://api.bsale.com.pe/v1/product_types/1.json",
"id": "1"
},
"classification": 1,
"description": "Multiples colores de calcetines",
"id": 97,
"state": 0,
"allowDecimal": 0
}
DELETE /v1/products/97.json cambia el estado del producto.
{
"href": "https://api.bsale.com.pe/v1/products/97.json",
"id": 97,
"name": "Calcetines",
"description": "Multiples colores de calcetines",
"classification": 1,
"ledgerAccount": "Calcetas",
"costCenter": "23",
"allowDecimal": 0,
"stockControl": 1,
"printDetailPack": 0,
"state": 1,
"prestashopProductId": 0,
"presashopAttributeId": 0,
"product_type": {
"href": "https://api.bsale.com.pe/v1/product_types/1.json",
"id": "1"
}
}