Post by claudioC » Fri Apr 05, 2019 3:31 am

Estimados
Soy nuevo en OC y estoy desarrollando una interfase entre mi aplicacion de escritorio u OC. El objetivo es actualizar el maestro de productos y precios.
En principio ya puedo acceder a la BD y cambiar, por ejemplo, una descripción. Soy programador y via php pude conectarme a la BD.
Necesitaria conocer tablas y contenidos de las mismas involucrados en actualizacion de producto y precio para hacerlo desde la aplicación.
La pregunta es si existe documentación de que tiene cada tabla, donde la puedo encontrar. También si existe alguna API para acceder y si tiene transacciones predefinidas.
Necesitaría alguna idea del rumbo y factibilidad de lo que necesito.
Agradezco de antemano su tiempo y atención.
Claudio.

Newbie

Posts

Joined
Thu Apr 04, 2019 10:04 am
Location - Buenos Aires

Post by dharmawebstudio » Sun Apr 07, 2019 6:02 am

Hola Claudio.

Me parece que una forma sencilla, seria darle un vistazo a los modelos.
  • catalog/model/ catalog/product.php
  • catalog/model/ catalog/manufacturer.php
  • catalog/model/ catalog/category.php
Allí encontraras los diferentes métodos que necesitas. ¿Quizas referenciando la clase, y extendiendo el modelo desde una clase en tu aplicación (PHP orientado a objetos), podrías elaborar algo sin tener que duplicar los métodos ?

¿Me comentas un poco como te ha ido.?

Un saludo.

Dharma Web Studio - Daniel Civit
Web Developer
Website: https://dharmawebstudio.com


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 6:33 am
Location - Madrid - Spain

Post by claudioC » Mon Apr 08, 2019 6:08 am

Gracias Daniel por tu pronta respuesta.
Ya me pongo a ver las clases. Siempre es mucho mejor acceder a un nivel de abstracción mayor que la BD 'directa'.
Por otro lado empecé a leer sobre la interfase REST y ver si 'ataco' desde ahí los datos.
En resumen, estudio acceder a los datos por alguna de estas dos vías:
1- PHP heredando clases definidas.
2- Utilizando la api REST.
En particular creo se ajusta mejor la 2da opción ya que no voy a acceder desde la web sino desde un sistema de escritorio. ( Aunque hoy accedo a la BD desde el escritorio directamente vía un conector http/php )
Cualquier sugerencia o comentario será más que bien venido.
Claudio

Newbie

Posts

Joined
Thu Apr 04, 2019 10:04 am
Location - Buenos Aires

Post by dharmawebstudio » Mon Apr 08, 2019 4:48 pm

Hola @claudioC.

Si, parece ser el caso que una API REST puede ser tu mejor opción. Las nuevas versiones de OC cuentan con una API y puedes hacer uso de ella para algunas cosas.

Supongo ya has leído esto:

http://docs.opencart.com/en-gb/system/users/api/

Contiene métodos nativos para ejecutar actividades de clientes como hacer compras, iniciar sesión, etc, pero aún así es limitado.
Siempre puedes extender las funcionalidades de estas librerías para que permitan hacer más cosas.

También tienes extensiones en el marketplace que te pueden aligerar el trabajo por lo que veo:

https://opencart-api.com/

Esta extension, provee de métodos para administrar el backoffice - admin de las tiendas:

https://www.opencart.com/index.php?rout ... rt-api.com

===

Cuando hayas avanzado vuelve por los foros para comentar tu experiencia que seguro será util para la comunidad.
Un saludo.

Dharma Web Studio - Daniel Civit
Web Developer
Website: https://dharmawebstudio.com


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 6:33 am
Location - Madrid - Spain

Post by claudioC » Fri Apr 12, 2019 4:36 am

Estimados.
Elegí el camino REST para acceder a los datos desde mi aplicacion de escritorio.

1) Definí usauario en sistema->usuario->API
API Name: MyApli
APIkey: (se genera)
En la solapa "Añadir direcciones IP" agrego la ip de mi PC
Salvo y verifico que la información este bien grabada.

2) Creo un script PHP y accedo desde un browser y obtengo el mensaje:
resultado: Warning: Incorrect API Key

3) En Sistema->configuración editar (tienda) -> opcion -> usuario API seteo el usuario definido en 1.
resultado: Warning: Incorrect API Key

4) Elimine el usuario creado, para usar el usuario default (agregue IP a la ficha del usuario default y lo establecí como usuario de la API )
resultado: Warning: Incorrect API Key
En resumen: no logro ingresar y obtener el token.

Gracias por su tiempo
Aguardo comentarios o pistas.

Newbie

Posts

Joined
Thu Apr 04, 2019 10:04 am
Location - Buenos Aires

Post by claudioC » Fri Apr 12, 2019 7:18 pm

Solo para el registro:
Los pasos anteriores eran correctos. Logre obtener el primer token.
El problema es que en la URL decia:
$url = "http://www.b.....
y debia decir...
$url = "https://www.b....

Se debe conectar con HTTP Seguro.
Voy al siguiente paso.

Newbie

Posts

Joined
Thu Apr 04, 2019 10:04 am
Location - Buenos Aires

Post by dharmawebstudio » Mon May 20, 2019 10:28 pm

Que tal @Claudio.

No he vuelto a responderte, por que me parece ya habías encontrado el camino.
Nos cuentas un poco como te ha ido? Algunos tips importantes para alguien que este trabajando algo similar.
Esto que mencionas de que no es posible conectar vía API sin https, entonces si estas trabajando desde local sin un certificado, es imposible hacer pruebas ?

Gracias.

Dharma Web Studio - Daniel Civit
Web Developer
Website: https://dharmawebstudio.com


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 6:33 am
Location - Madrid - Spain
Who is online

Users browsing this forum: No registered users and 105 guests