Cargando / Cargando datos a través de API Elbuz
La API brinda acceso a la información almacenada en la base de datos del producto de software Elbuz. Los elementos se pueden recuperar, agregar, actualizar y eliminar.
Formato de intercambio, autenticación
- El formato JSON se utiliza para la interacción.
- Las solicitudes utilizan el método POST HTTP.
- Para la autenticación, se utilizan un nombre de usuario y una contraseña para obtener un token.
Información básica
Limitación de acceso
- Acceso a la API con indicación de las direcciones IP desde las que es posible acceder.
- Modo de solo lectura (bloquea el acceso para cambiar datos).
- Por el número de solicitudes: no más de 30 conexiones en 60 segundos.
Paginación - paginación
La salida de los datos solicitados está paginada. El número máximo de entradas depende del tipo de elemento, el valor predeterminado es 100 entradas por página. El parámetro "página" se utiliza para especificar el número de página.
Al contestar se genera "meta" información, por ejemplo:
[meta] => matriz ( [item_scope] => categoría [fila_total] => 474 [pagina_total] => 5 [página_siguiente] => 2 [página_actual] => 1 [hora_solicitud] => 00:00:00 )
Descripción metainformación:
- item_scope - el tipo del elemento solicitado
- total_row - número total de elementos
- page_total - número total de páginas
- page_next - siguiente número de página
- página_actual - página actual
- request_time - tiempo necesario para obtener información
Selección de elementos
Según el tipo de elemento, hay diferentes parámetros disponibles que limitan la selección de datos, por ejemplo, puede obtener productos de solo una determinada categoría, para esto debe pasar el parámetro category_id en el que especifica la identificación de la categoría.
Restricción de campos de salida
El sistema le permite aumentar la velocidad de trabajo para el intercambio de información, recibiendo solo los datos que necesita. Por ejemplo, una tarjeta de producto puede contener 150 campos, mientras que necesita obtener solo 10 de ellos, puede especificar el conjunto de campos que necesita al solicitar datos, lo que reduce significativamente la cantidad de datos transferidos y aumenta la velocidad de respuesta y tiempo para seguir procesando esta información en su sitio. Para este propósito, se utiliza el parámetro limit_field, en el que debe enumerar los campos que necesita, separados por comas.
Descripción de trabajar con la API
Dirección de inicio del servicio API: https://your_domain_address/admin/index.php?route=
El parámetro de ruta toma una ruta basada en la cual el sistema entiende qué operación realizar.
Los siguientes valores están disponibles para el parámetro de ruta:
- api/login - obtener un token para comenzar
- api/scope/describe – descripción de los campos de elementos
- api/scope/get - obtener elementos
- api/scope/add - agregar elementos
- api/scope/update - elementos de actualización
- api/scope/delete - eliminando elementos
El parámetro de ruta se puede complementar con el tipo de elemento sobre el que se realiza la operación.
Los siguientes valores están disponibles según el tipo de operación:
- categoría - categorías de productos
- producto – productos del catálogo base
- product_price - productos de listas de precios
- atributo - atributos del producto
- atributo_block - bloques de atributos
- idioma - idiomas
- artículo - artículos
- fabricante - fabricantes
- stock_status - estados de existencias
- almacén - almacenes
- tienda - tiendas
- empresa - empresas
- contratista - contratistas
- contract_group - grupos de contratistas
- moneda - monedas
- documento - documentos
- document_type - tipos de documentos
- document_status - estados del documento
- document_payment_status - estados de pago
- document_delivery_status - estados de entrega
Un ejemplo de un enlace para obtener una lista de categorías de productos: https://your_domain_address/admin/index.php?route=api/scope/get/category
Además, el tipo de elemento se puede pasar en el parámetro de alcance a través de una solicitud POST, luego no es necesario especificar el tipo en el enlace.
Crear un usuario de API, obtener un token
El intercambio de datos a través de la API se realiza mediante el inicio de sesión y la contraseña (token). Para crear un nuevo usuario de API, vaya al subsistema "Configuración"
Luego seleccione "Acceder a puente de API"
Haga clic en el botón + para crear un nuevo usuario
Para comenzar a trabajar con la API, debe obtener un token, para esto debe enviar una solicitud POST con un nombre de usuario y una contraseña, especificando route=api/login.
Dirección completa:
https://your_domain_address/admin/index.php?route=api/login
Parámetros POST requeridos:
- nombre de usuario - su nombre de usuario
- clave - contraseña
En respuesta, recibirá un token, que se indicará en el campo api_token, este token debe usarse para futuras solicitudes a la API.
Una implementación de ejemplo en PHP (la función send_data_to_jumper_api() es un contenedor para CURL)
Recuperación de elementos
Para obtener una lista de elementos, envíe una solicitud POST con route=api/scope/get.
Dirección completa:
https://your_domain_address/admin/index.php?route=api/scope/get
Parámetros POST requeridos:
- api_token - el token recibido anteriormente
- scope es la identificación del elemento del que desea obtener datos. El código del elemento se puede especificar en el enlace, en cuyo caso este parámetro es opcional.
Lista de códigos de elementos disponibles:- categoría - categorías de productos
- producto – productos del catálogo base
- product_price - productos de listas de precios
- atributo - atributos del producto
- atributo_block - bloques de atributos
- idioma - idiomas
- artículo - artículos
- fabricante - fabricantes
- stock_status - estados de existencias
- almacén - almacenes
- tienda - tiendas
- empresa - empresas
- contratista - contratistas
- contract_group - grupos de contratistas
- moneda - monedas
- documento - documentos
- document_type - tipos de documentos
- document_status - estados del documento
- document_payment_status - estados de pago
- document_delivery_status - estados de entrega
Parámetros opcionales:
- página: el número de página para obtener la siguiente lista de registros
- limit_field - lista de campos para limitar la salida
- extender: obtener datos extendidos. Por ejemplo, al recibir una ficha de producto, puede ampliar la información y recibir datos adicionales como:
- atributo – atributos del producto
- imagen - foto del producto
- categoría - lista de categorías donde se encuentra el producto
- extend_limit_field_attribute - lista de campos para limitar la salida de información extendida sobre atributos
- extend_limit_field_image - una lista de campos para limitar la salida de información extendida sobre la foto
- extend_limit_field_category - lista de campos para limitar la salida de información de categoría extendida
Ejemplo de implementación de PHP
Agregar elementos
Para agregar un nuevo elemento, envíe una solicitud POST con route=api/scope/add.
Dirección completa:
https://your_domain_address/admin/index.php?route=api/scope/add
Parámetros POST requeridos:
- api_token - el token recibido anteriormente
- scope es el id del elemento que se agregará. El código del elemento se puede especificar en el enlace, en cuyo caso este parámetro es opcional.
Lista de códigos de elementos disponibles:- categoría - categorías de productos
- producto – productos del catálogo base
- product_price - productos de listas de precios
- atributo - atributos del producto
- atributo_block - bloques de atributos
- artículo - artículos
- fabricante - fabricantes
- documento - documentos
- nombre - el nombre del elemento (según el tipo de elemento, se pueden pasar diferentes campos)
Ejemplo de implementación de PHP
Actualización de elementos
Para actualizar un elemento, envíe una solicitud POST con route=api/scope/update.
Dirección completa:
https://your_domain_address/admin/index.php?route=api/scope/update
Parámetros POST requeridos:
- api_token - el token recibido anteriormente
- scope es el id del elemento que se va a actualizar. El código del elemento se puede especificar en el enlace, en cuyo caso este parámetro es opcional.
Lista de códigos de elementos disponibles:- categoría - categorías de productos
- producto – productos del catálogo base
- moneda - moneda pollos
- contratista - contratistas
- nombre - el nombre del elemento (según el tipo de elemento, se pueden pasar diferentes campos)
Ejemplo de implementación de PHP
Quitar elementos
Para eliminar un elemento, envíe una solicitud POST con route=api/scope/delete.
Dirección completa:
https://your_domain_address/admin/index.php?route=api/scope/delete
Parámetros POST requeridos:
- api_token - el token recibido anteriormente
- scope es el id del elemento que se va a eliminar. El código del elemento se puede especificar en el enlace, en cuyo caso este parámetro es opcional.
Lista de códigos de elementos disponibles:- categoría - categorías de productos
- producto – productos del catálogo base
- atributo - atributos del producto
- atributo_block - bloques de atributos
- contratista - contratistas
- artículo - artículos
- fabricante - fabricantes
- documento - documentos
- ID de elemento (según el tipo de elemento, se utiliza un nombre de campo diferente)
Ejemplo de implementación de PHP
Descripción de los campos de elementos
Para obtener la descripción de los campos de elementos, envíe una solicitud POST con route=api/scope/describe.
Dirección completa:
https://your_domain_address/admin/index.php?route=api/scope/describe
Parámetros POST requeridos:
- api_token - el token recibido anteriormente
- scope es el id del elemento por el que se va a obtener la información. El código del elemento se puede especificar en el enlace, en cuyo caso este parámetro es opcional.
Lista de códigos de elementos disponibles:- producto – productos del catálogo base
- product_price - productos de listas de precios
- fabricante - fabricantes
- contratista - contratistas
- documento - documentos
- usuario - usuarios (empleados)
- empresa - empresas
Ejemplo de implementación de PHP
Ejemplo extendido de trabajo con API, lenguaje PHP
Los ejemplos extendidos de cómo trabajar con la API utilizando el lenguaje PHP están disponibles en este enlace .
Puede probar varios modos de operación, para esto necesita activar la variable deseada para activar el bloque de código responsable de la operación y el elemento requerido.