Saltar al contenido

Autenticación

Bearer

Security Scheme: Type API Key

Header parameter name: Authorization

Request body Shema: application/json

Login

Para poder realizar las solicitudes por API desde cualquier sistema necesitarás obtener una clave token (access) que permitirá verificar, si la solicitud entrante a la API es segura. Por ello debes enviar una primera solicitud, enviando el usuario y contraseña que se te ha proporcionado como cliente Price Lab. Recordar siempre que en la respuesta vendrán datos importantes para usar en las siguientes peticiones como el id del cliente.

Security Scheme: Type API Key

Content Type: application/json

Variables:

username: «string» (required)

password: «string» (required)

POST: https://backend.pricelab.com.pe/api/login/

{

  • ‘username’: ‘string’,
  • ‘password’: ‘string’

}

RESPONSE - 200:

{
‘access’: ‘code-token’,
‘refresh’: ‘code-token-refresh’,
‘user’: {
‘id’: 2,
‘username’: ‘string’,
‘first_name’: ‘string’,
‘last_name’: ‘string’,
‘email’: ‘string’,
‘store’: 0,
‘store_name’: ‘string’,
‘client_id’: 0,
‘client_name’: ‘string’,
‘store_zkong’: ‘string’,
‘is_active’: true,
‘image’: ‘string’,
‘client_path’: ‘string’
}
}

Refresh token

Por seguridad, las claves token tienen una fecha de vencimiento de 15 horas desde su creación, por lo tanto luego de ello tendremos que solicitar un nuevo token para poder seguir realizando peticiones API, esto lo podemos realizar sin tener que volver a logear con nuestro usuario y contraseña, solamente enviando una nueva petición post con el código refresh.

Authorization : Bearer

Request body Shema: application/json

  • refresh: «string» (required)

POST: https://backend.pricelab.com.pe/api/token/refresh/

{

       ‘refresh’: ‘string’

}

RESPONSE - 200:

{

‘refresh’: ‘string’,

‘access’: ‘string’

}

Diseños de Plantillas

Los diseños de plantillas estan relacionados a la forma en como se muestra la información en la etiquetas ESL. Tenemos 4 diseños de plantillas con los que se puede variar dependiendo el estado de un producto, si este producto esta con promoción, descuento, descuento porcentual o si no tiene ninguna de estos.

Clásico

Descuento

Descuento Porcentual

Promoción

Listar de categorías y sub categorías

Siempre vas a encontrar por defecto 1 categoría que viene configurada al momento de la creación del cliente en el sistema Price Lab, esta categoria traer enlazada con ella 4 diferentes modelos de plantillas con los que se puede cambiar y visualizar la información del producto. Si llega a necesitar un nuevo diseño de etiqueta personalizado, debe enviar una solicitud a su agente de venta para hacer el respectivo cambio.

Authorization : Bearer

Query Parameters: 

page : «integer»  – A page number within the paginated result set.

Content Type: application/json

GET:  https://backend.pricelab.com.pe/api/categories/

RESPONSE - 200:

{
‘count’: 0,
‘next’: ‘http://example.com’,
‘previous’: ‘http://example.com’,
‘results’: [
{
‘id’: 0,
‘name’: ‘string’,
‘zkong_id’: ‘string’,
‘subcategories’: [
{
‘id’: 0,
‘name’: ‘string’,
‘zkong_id’: ‘string’,
‘category’: ‘string’
}
]
}
]
}

Productos

El módulo de Productos tiene toda la información que se necesita para mostrarse en la etiqueta digital ESL, por lo tanto el cliente solo debe preocuparse por tener la misma información del producto que esta registrada en nuestro sistema. Así en el momento de actualizar la información de un producto este se verá reflejado correctamente en la etiqueta ESL.

Listar productos

Authorization : Bearer

Query Parameters: 

search : «string» – A search term.

page : «integer»  – A page number within the paginated result set.

client_id : «string» (required)

Content Type: application/json

GET: https://backend.pricelab.com.pe/api/products/

RESPONSE - 200:

{
‘count’: 0,
‘next’: ‘http://example.com’,
‘previous’: ‘http://example.com’,
‘results’: [
{
‘id’: 0,
‘category_name’: ‘string’,
‘subcategory_name’: ‘string’,
‘client_name’: ‘string’,
‘state’: true,
‘short_name’: ‘string’,
‘long_name’: ‘string’,
‘specification’: ‘string’,
‘bar_code’: ‘string’,
‘code’: ‘string’,
‘level’: ‘string’,
‘sku’: ‘string’,
‘link_qr’: ‘string’,
‘source’: ‘string’,
‘unit’: ‘string’,
‘image’: ‘http://example.com’,
‘unit_price’: ‘string’,
‘unit_sale’: ‘string’,
‘unit_vip’: ‘string’,
‘time_init’: ‘2019-08-24T14:15:22Z’,
‘time_finish’: ‘2019-08-24T14:15:22Z’,
‘stock’: -2147483648,
‘nfc_url’: ‘http://example.com’,
‘offer_description’: ‘string’,
‘category’: 0,
‘subcategory’: 0,
‘client’: 0
}
]
}

Obtener un producto

Authorization : Bearer

Path parameters:

Id : «String» (required)

Content Type: application/json

GET: https://backend.pricelab.com.pe/api/products/{id}/

RESPONSE - 200:

{
‘id’: 0,
‘category_name’: ‘string’,
‘subcategory_name’: ‘string’,
‘client_name’: ‘string’,
‘state’: true,
‘short_name’: ‘string’,
‘long_name’: ‘string’,
‘specification’: ‘string’,
‘bar_code’: ‘string’,
‘code’: ‘string’,
‘level’: ‘string’,
‘sku’: ‘string’,
‘link_qr’: ‘string’,
‘source’: ‘string’,
‘unit’: ‘string’,
‘image’: ‘http://example.com’,
‘unit_price’: ‘string’,
‘unit_sale’: ‘string’,
‘unit_vip’: ‘string’,
‘time_init’: ‘2019-08-24T14:15:22Z’,
‘time_finish’: ‘2019-08-24T14:15:22Z’,
‘stock’: -2147483648,
‘nfc_url’: ‘http://example.com’,
‘offer_description’: ‘string’,
‘active_promotion’: true,
‘category’: 0,
‘subcategory’: 0,
‘client’: 0
}

Eliminar un producto

Nos encontraremos con ocaciones en donde tenemos que eliminar un registro o producto. Para ello podemos usar esta API. Ten en cuenta que el sistema no eliminará el registro totalmente, solo cambiará su estado a desactivado. Si en algún momento quieres recuperar la información de ese producto. Puedes activarlo actualizando su estado a verdadero.

Authorization : Bearer

Path parameters:

Id : «String» (required)

DELETE: https://backend.pricelab.com.pe/api/products/{id}/

RESPONSE - 204

Crear por unidad

Hay datos que son obligatorios y requeridos al momento de crear un producto, algunos de ellos son category_id y subcategory_id, estos 2 son muy importantes ya que tienen relación directa con el diseño de plantilla. Le sugerimos revisar la sección de diseños de plantillas con su respectivos ID.

Authorization : Bearer

Content Type: application/json

  • state : true,
  • short_name : «string»,
  • long_name : «string» (required),
  • specification : «string»,
  • bar_code : «string» (required),
  • code : «string»,
  • level : «string»,
  • sku : «string» (required),
  • link_qr : «string»,
  • source : «string»,
  • unit : «string»,
  • unit_price : «string»,
  • unit_sale : «string»,
  • unit_vip : «string»,
  • time_init : «2019-08-24T14:15:22Z»,
  • time_finish : «2019-08-24T14:15:22Z»,
  • stock : -2147483648,
  • nfc_url : «http://example.com»,
  • offer_description : «string»,
  • active_promotion : true,
  • category : 0 (required),
  • subcategory : 0 (required),
  • client : 0 (required),
  • category_vip : 0,
  • subcategory_vip : 0

POST: https://backend.pricelab.com.pe/api/products/

RESPONSE - 201:

[
{
‘id’: 0,
‘long_name’: ‘string’,
‘bar_code’: ‘string’,
‘sku’: ‘string’,
},
]

Actualizar por unidad

Authorization : Bearer

Content Type: application/json

  • state : true,
  • short_name : «string»,
  • long_name : «string» (required),
  • specification : «string»,
  • bar_code : «string» (required),
  • code : «string»,
  • level : «string»,
  • sku : «string» (required),
  • link_qr : «string»,
  • source : «string»,
  • unit : «string»,
  • unit_price : «string»,
  • unit_sale : «string»,
  • unit_vip : «string»,
  • time_init : «2019-08-24T14:15:22Z»,
  • time_finish : «2019-08-24T14:15:22Z»,
  • stock : -2147483648,
  • nfc_url : «http://example.com»,
  • offer_description : «string»,
  • active_promotion : true,
  • category : 0 (required),
  • subcategory : 0 (required),
  • client : 0 (required),
  • category_vip : 0,
  • subcategory_vip : 0

PUT: https://backend.pricelab.com.pe/api/products/{id}/

RESPONSE - 200:

[
{
‘id’: 0,
‘long_name’: ‘string’,
‘bar_code’: ‘string’,
‘sku’: ‘string’,
},
]

Crear y actualizar por Lote

Hay datos que son obligatorios y requeridos al momento de crear un producto, algunos de ellos son category_id y subcategory_id, estos 2 son muy importantes ya que tienen relación directa con el diseño de plantilla. Le sugerimos revisar la sección de diseños de plantillas con su respectivos ID.

Si necesitamos enviar una solicitud para crear o actualizar la información de varios productos, podemos hacerlo enviando la información dentro de una lista o array. Debes tener en cuenta que enviar demasiada información de productos por una API no es 100% seguro en ningún lugar. Para ello, también puedes revisar la API de enviar información por un archivo Excel.

Authorization : Bearer

Content Type: application/json

  • state : true,
  • short_name : «string»,
  • long_name : «string» (required),
  • specification : «string»,
  • bar_code : «string» (required),
  • code : «string»,
  • level : «string»,
  • sku : «string» (required),
  • link_qr : «string»,
  • source : «string»,
  • unit : «string»,
  • unit_price : «string»,
  • unit_sale : «string»,
  • unit_vip : «string»,
  • time_init : «2019-08-24T14:15:22Z»,
  • time_finish : «2019-08-24T14:15:22Z»,
  • stock : -2147483648,
  • nfc_url : «http://example.com»,
  • offer_description : «string»,
  • active_promotion : true,
  • category : 0 (required),
  • subcategory : 0 (required),
  • client : 0 (required),
  • category_vip : 0,
  • subcategory_vip : 0

PUT: https://backend.pricelab.com.pe/api/products/create_for_batch_api/

RESPONSE - 201:

[
{
‘id’: 0,
‘category_name’: ‘string’,
‘subcategory_name’: ‘string’,
‘client_name’: ‘string’,
‘state’: true,
‘short_name’: ‘string’,
‘long_name’: ‘string’,
‘specification’: ‘string’,
‘bar_code’: ‘string’,
‘code’: ‘string’,
‘level’: ‘string’,
‘sku’: ‘string’,
‘link_qr’: ‘string’,
‘source’: ‘string’,
‘unit’: ‘string’,
‘image’: ‘http://example.com’,
‘unit_price’: ‘string’,
‘unit_sale’: ‘string’,
‘unit_vip’: ‘string’,
‘time_init’: ‘2019-08-24T14:15:22Z’,
‘time_finish’: ‘2019-08-24T14:15:22Z’,
‘stock’: -2147483648,
‘nfc_url’: ‘http://example.com’,
‘offer_description’: ‘string’,
‘active_promotion’: true,
‘category’: 0,
‘subcategory’: 0,
‘client’: 0
},
{…},
{…},
….
]

Crear y actualizar por Lote en un Excel

Podemos enviar una solicitud para crear o actualizar la información de uno o varios productos a través de un archivo Excel. Cada vez que enviemos una solicitud de este tipo se creará un archivo que puedes descargar ingresando a la plataforma en la sección Estado de importación. En este archivo te aparecerán todos los errores que ha tenido tu solicitud, si no llego a tener ningún error, el archivo estará en blanco.

Authorization : Bearer

Content Type: application/json

  • file_archive : «File» (required),
  • client_id : «String» (required)

PUT: https://backend.pricelab.com.pe/api/products/create_for_lote/

RESPONSE - 201:

Puedes ver la respuesta de la solicitud a detalle por cada producto descargando el archivo de respuesta en la plataforma virtual.

https://app.pricelab.com.pe/ 

En la opción del Menu Productos -> Reporte de importación

Menú

Inicio
Nosotros
Etiquetas digitales
Software
Soporte
Documentación API

Términos legales

Términos y condiciones
Políticas y privacidad
Libro de reclamaciones

Contáctanos

ventas@pricelab.com.pe

+51 989 175 093

Todos los derechos reservados por Price Lab