Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion: Rest et Prestashop

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 562
    Points : 26 824
    Points
    26 824
    Billets dans le blog
    22

    Par défaut Rest et Prestashop

    Bonjour

    avant de me lancer, quelqu'un a-t'il une idée de la faisabilité ?

    d'après mes premiers tests
    on ne peut obtenir que du XML via les API
    c'est une galère pour obtenir les détail des lignes d'une commande

    mais peut-être que le prestataire qui a créé la boutique ne me fourni pas les bonnes API ?
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  2. #2
    Membre chevronné
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    mars 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : mars 2006
    Messages : 1 074
    Points : 1 848
    Points
    1 848
    Billets dans le blog
    5

    Par défaut

    Bonjour j'ai déjà travaillé avec PrestaShop pour créer automatiquement les fichiers images utilisés par le serveur. Ce genre de produit génère beaucoup de fichiers. Tu souhaites intégrer ton serveur Rest à quel niveau ?

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 562
    Points : 26 824
    Points
    26 824
    Billets dans le blog
    22

    Par défaut

    Bonjour,

    pour l'instant il ne s'agit pas de mettre un serveur (mais ce serait certainement une solution plus efficace) il s'agit de récupérer les informations de lignes de commandes pour les importer dans mon logiciel
    Pour moi, je trouve que Prestashop ne propose pas vraiment une solution api pratique : que du XML que des requêtes simples sans jointures (je suis trop habitué au SQL) c'est gavant d'avoir à faire appel à je ne sais combien de requête pour obtenir les infos !
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  4. #4
    Membre chevronné
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    mars 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : mars 2006
    Messages : 1 074
    Points : 1 848
    Points
    1 848
    Billets dans le blog
    5

    Par défaut

    Sur le projet sur lequel j'ai travaillé il y avait une base MySQL

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 562
    Points : 26 824
    Points
    26 824
    Billets dans le blog
    22

    Par défaut

    Bonjour,

    Il y en a bien sûr une mais, hébergé par ovh, je n'y ai pas accès et je en crois pas que ce soit possible
    je doit donc dans un premier temps me dépatouillé avec les XML fournis par les API auxquelles j'ai accès c'est pour ça que j'ai d'abord pensé à REST malheureusement les données ne sont pas fournies en JSON. Pour l'instant (j'espère) voilà ce que j'obtiens en interrogeant l'api https://monmagasin.com/shop/api/orde...ls?shema=blank (j'en suis encore à trouver les paramètres possibles)
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?xml version="1.0" encoding="UTF-8"?>
    <prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
    <order_details>
    <order_detail id="1" xlink:href="https://monmagasin.com/shop/api/order_details/1"/>
    <order_detail id="2" xlink:href="https://monmagasin.com/shop/api/order_details/2"/>
    <order_detail id="3" xlink:href="https://monmagasin.com/shop/api/order_details/3"/>
    <order_detail id="4" xlink:href="https://monmagasin.com/shop/api/order_details/4"/>
    <order_detail id="5" xlink:href="https://monmagasin.com/shop/api/order_details/5"/>
    <order_detail id="6" xlink:href="https://monmagasin.com/shop/api/order_details/6"/>
    <order_detail id="7" xlink:href="https://monmagasin.com/shop/api/order_details/7"/>
    <order_detail id="8" xlink:href="https://monmagasin.com/shop/api/order_details/8"/>
    <order_detail id="9" xlink:href="https://monmagasin.com/shop/api/order_details/9"/>
    <order_detail id="10" xlink:href="https://monmagasin.com/shop/api/order_details/10"/>
    <order_detail id="11" xlink:href="https://monmagasin.com/shop/api/order_details/11"/>
    <order_detail id="12" xlink:href="https://monmagasin.com/shop/api/order_details/12"/>
    <order_detail id="13" xlink:href="https://monmagasin.com/shop/api/order_details/13"/>
    <order_detail id="14" xlink:href="https://monmagasin.com/shop/api/order_details/14"/>
    </order_details>
    </prestashop>
    une ligne détail (ligne 1)
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <?xml version="1.0" encoding="UTF-8"?>
    <prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
    <order_detail>
    	<id><![CDATA[1]]></id>
    	<id_order xlink:href="https://monmagasin.com/shop/api/orders/1"><![CDATA[1]]></id_order>
    	<product_id xlink:href="https://monmagasin.com/shop/api/products/2"><![CDATA[2]]></product_id>
    	<product_attribute_id xlink:href="https://monmagasin.com/shop/api/combinations/10"><![CDATA[10]]></product_attribute_id>
    	<product_quantity_reinjected><![CDATA[0]]></product_quantity_reinjected>
    	<group_reduction><![CDATA[0.00]]></group_reduction>
    	<discount_quantity_applied><![CDATA[0]]></discount_quantity_applied>
    	<download_hash></download_hash>
    	<download_deadline><![CDATA[0000-00-00 00:00:00]]></download_deadline>
    	<id_order_invoice><![CDATA[0]]></id_order_invoice>
    	<id_warehouse><![CDATA[0]]></id_warehouse>
    	<id_shop><![CDATA[1]]></id_shop>
    	<id_customization><![CDATA[0]]></id_customization>
    	<product_name><![CDATA[Blouse - Color : White, Size : M]]></product_name>
    	<product_quantity><![CDATA[1]]></product_quantity>
    	<product_quantity_in_stock><![CDATA[1]]></product_quantity_in_stock>
    	<product_quantity_return><![CDATA[0]]></product_quantity_return>
    	<product_quantity_refunded><![CDATA[0]]></product_quantity_refunded>
    	<product_price><![CDATA[26.999852]]></product_price>
    	<reduction_percent><![CDATA[0.00]]></reduction_percent>
    	<reduction_amount><![CDATA[0.000000]]></reduction_amount>
    	<reduction_amount_tax_incl><![CDATA[0.000000]]></reduction_amount_tax_incl>
    	<reduction_amount_tax_excl><![CDATA[0.000000]]></reduction_amount_tax_excl>
    	<product_quantity_discount><![CDATA[0.000000]]></product_quantity_discount>
    	<product_ean13></product_ean13>
    	<product_isbn></product_isbn>
    	<product_upc></product_upc>
    	<product_reference><![CDATA[demo_2]]></product_reference>
    	<product_supplier_reference></product_supplier_reference>
    	<product_weight><![CDATA[0.000000]]></product_weight>
    	<tax_computation_method><![CDATA[0]]></tax_computation_method>
    	<id_tax_rules_group><![CDATA[0]]></id_tax_rules_group>
    	<ecotax><![CDATA[0.000000]]></ecotax>
    	<ecotax_tax_rate><![CDATA[0.000]]></ecotax_tax_rate>
    	<download_nb><![CDATA[0]]></download_nb>
    	<unit_price_tax_incl><![CDATA[27.000000]]></unit_price_tax_incl>
    	<unit_price_tax_excl><![CDATA[27.000000]]></unit_price_tax_excl>
    	<total_price_tax_incl><![CDATA[27.000000]]></total_price_tax_incl>
    	<total_price_tax_excl><![CDATA[27.000000]]></total_price_tax_excl>
    	<total_shipping_price_tax_excl><![CDATA[0.000000]]></total_shipping_price_tax_excl>
    	<total_shipping_price_tax_incl><![CDATA[0.000000]]></total_shipping_price_tax_incl>
    	<purchase_supplier_price><![CDATA[0.000000]]></purchase_supplier_price>
    	<original_product_price><![CDATA[26.999852]]></original_product_price>
    	<original_wholesale_price><![CDATA[8.100000]]></original_wholesale_price>
    <associations>
    <taxes nodeType="tax" api="taxes"/>
    </associations>
    </order_detail>
    </prestashop>
    et, bien sûr ces données sont intraitable tel quel (par exemple xlink: n'est pas très apprécié )
    Bref tout cela implique beaucoup de code
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 562
    Points : 26 824
    Points
    26 824
    Billets dans le blog
    22

    Par défaut

    Re,

    Après de nombreuses recherches j'ai trouvé cette phrase
    You just have to append at the end ?output_format=JSON of your URL.
    du coup cela éclaircit un peu ma journée, je peux enfin obtenir du JSON
    Code json : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {"order_detail":{"id":1,"id_order":"1","product_id":"2","product_attribute_id":"10","product_quantity_reinjected":"0","group_reduction":"0.00","discount_quantity_applied":"0","download_hash":"","download_deadline":"0000-00-00 00:00:00","id_order_invoice":"0","id_warehouse":"0","id_shop":"1","id_customization":"0","product_name":"Blouse - Color : White, Size : M","product_quantity":"1","product_quantity_in_stock":"1","product_quantity_return":"0","product_quantity_refunded":"0","product_price":"26.999852","reduction_percent":"0.00","reduction_amount":"0.000000","reduction_amount_tax_incl":"0.000000","reduction_amount_tax_excl":"0.000000","product_quantity_discount":"0.000000","product_ean13":"","product_isbn":"","product_upc":"","product_reference":"demo_2","product_supplier_reference":"","product_weight":"0.000000","tax_computation_method":"0","id_tax_rules_group":"0","ecotax":"0.000000","ecotax_tax_rate":"0.000","download_nb":"0","unit_price_tax_incl":"27.000000","unit_price_tax_excl":"27.000000","total_price_tax_incl":"27.000000","total_price_tax_excl":"27.000000","total_shipping_price_tax_excl":"0.000000","total_shipping_price_tax_incl":"0.000000","purchase_supplier_price":"0.000000","original_product_price":"26.999852","original_wholesale_price":"8.100000"}}
    l'idéal eut été d'obtenir directement les données mais c'est un début prometteur

    Un peu de RESTDebugger et j'obtiens enfin quelque chose de compréhensible (à mon niveau)
    Nom : Capture.PNG
Affichages : 83
Taille : 12,2 Ko

    Est-ce qu'un tutoriel existe sur ce sujet ou faut-il, comme moi, tâtonner ?
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  7. #7
    Membre chevronné
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    mars 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : mars 2006
    Messages : 1 074
    Points : 1 848
    Points
    1 848
    Billets dans le blog
    5

    Par défaut

    J'ai retrouvé dans mes archives la table des commandes a pour nom "ps_orders"
    A l'époque j'avais téléchargé et installé la version de prestaSHop comme suit :
    Solution intégrée : WampServer 2.2 (Installation Standard) incluant
     Internet Server : Apache 2.2.22
     PHP Server : Php 5.3.13
     DataBase Server MYSQL : MySQL - Server v5.5.24

    Driver ODBC MYSQL : MySQL ODBC 5.1 Driver
    Version Prestatshop : prestashop_ 1.5.3

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    novembre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : novembre 2005
    Messages : 1
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par SergioMaster Voir le message
    Est-ce qu'un tutoriel existe sur ce sujet ou faut-il, comme moi, tâtonner ?
    Hello,

    Nous développons une appli qui utilise le web service de PrestaShop.

    Voici quelques liens pour t'aider :
    http://doc.prestashop.com/display/PS...op+Web+Service
    http://doc.prestashop.com/display/PS...+documentation
    http://doc.prestashop.com/display/PS...rvice+tutorial
    http://doc.prestashop.com/display/PS...vice+reference
    https://github.com/PrestaShop/PrestaShop

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [j3d] HeavyComponent affiche au dessus du reste
    Par FarookFreeman dans le forum 3D
    Réponses: 3
    Dernier message: 10/07/2004, 22h44
  2. Réponses: 7
    Dernier message: 20/04/2004, 15h55
  3. automationn excel, Champ nombre reste en text ???
    Par mat_lefebvre dans le forum Access
    Réponses: 16
    Dernier message: 09/12/2003, 11h37
  4. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44
  5. TBitBtn reste enfoncé
    Par TRINCAL Sylvain dans le forum C++Builder
    Réponses: 8
    Dernier message: 25/06/2002, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo