Jump to content

Récupérer le détail des réductions sur commande via l'api


Recommended Posts

Bonjour à tous,

Je souhaiterai récupérer le détail des réductions appliquées sur une commande via l'api et suis pour l'instant bloqué.

A chaque réduction créée je vois bien dans le fichier cart_rules la réduction en question mais rien n'indique à quelle commande elle est rattachée. D'après ce que j'ai pu lire ici et là il existait avant une table order_discounts permettant de les récupérer mais celle ci n'existe plus malheureusement... 

En passant par le gestionnaire sql j'ai crée une requête sur le fichier ps_order_cart_rule permettant de récupérer l'id commande, peut-on à tout hasard exécuter une requête via l'api ? sinon avez vous une solution pour contourner cela ? 

Merci d'avance

Link to comment
Share on other sites

la table order_discount à simplement été renommé order_cart_rule

Un objet OrderCartRule existe, il te suffit donc de l'interroger par les webservices (car j'imagine que c'est ce dont tu parle en parlant d'api)

/api/order_discounts?schema=synopsis

 

Link to comment
Share on other sites

5 hours ago, Eolia said:

Dans cette table vous avez l'id_cart donc vous pouvez croiser avec la table ps_order ayant le même id_cart ou alors regarder la table ps_order_cart_rule ;) 

 

La table ps_order_cart_rule n'est malheureusement pas disponible via le webservice, j'ai effectivement tout ce qu'il me faut dedans sinon ;)

 

 

4 hours ago, doekia said:

la table order_discount à simplement été renommé order_cart_rule

Un objet OrderCartRule existe, il te suffit donc de l'interroger par les webservices (car j'imagine que c'est ce dont tu parle en parlant d'api)

/api/order_discounts?schema=synopsis

 

 

Order_discount a bien été remplacée par cart_rules mais je ne vois pas dans cette dernière quoi que ce soit permettant de faire un rapprochement avec une commande

 

Link to comment
Share on other sites

On 24/08/2018 at 7:19 PM, Eolia said:

Euh... en webservice vous avez accès à l'objet order  ainsi qu'à order_cart_rule donc vous avez tout ce que vous voulez

 

Je ne vois juste pas par quel id le rapprochement est fait entre les deux, peux tu m'expliquer ?

 

Link to comment
Share on other sites

1 minute ago, Eolia said:

id_order :) 

 

On ne doit pas avoir la même description du fichier cart_rules alors ^^
J'ai cela comme schéma : 
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
    <cart_rule>
        <id_customer format="isUnsignedId"></id_customer>
        <date_from required="true" format="isDate"></date_from>
        <date_to required="true" format="isDate"></date_to>
        <description maxSize="65534" format="isCleanHtml"></description>
        <quantity format="isUnsignedInt"></quantity>
        <quantity_per_user format="isUnsignedInt"></quantity_per_user>
        <priority format="isUnsignedInt"></priority>
        <partial_use format="isBool"></partial_use>
        <code maxSize="254" format="isCleanHtml"></code>
        <minimum_amount format="isFloat"></minimum_amount>
        <minimum_amount_tax format="isBool"></minimum_amount_tax>
        <minimum_amount_currency format="isInt"></minimum_amount_currency>
        <minimum_amount_shipping format="isBool"></minimum_amount_shipping>
        <country_restriction format="isBool"></country_restriction>
        <carrier_restriction format="isBool"></carrier_restriction>
        <group_restriction format="isBool"></group_restriction>
        <cart_rule_restriction format="isBool"></cart_rule_restriction>
        <product_restriction format="isBool"></product_restriction>
        <shop_restriction format="isBool"></shop_restriction>
        <free_shipping format="isBool"></free_shipping>
        <reduction_percent format="isPercentage"></reduction_percent>
        <reduction_amount format="isFloat"></reduction_amount>
        <reduction_tax format="isBool"></reduction_tax>
        <reduction_currency format="isUnsignedId"></reduction_currency>
        <reduction_product format="isInt"></reduction_product>
        <reduction_exclude_special format="isBool"></reduction_exclude_special>
        <gift_product format="isUnsignedId"></gift_product>
        <gift_product_attribute format="isUnsignedId"></gift_product_attribute>
        <highlight format="isBool"></highlight>
        <active format="isBool"></active>
        <date_add format="isDate"></date_add>
        <date_upd format="isDate"></date_upd>
        <name required="true" maxSize="254" format="isCleanHtml">
            <language id="1" xlink:href="http://prestashop.everlog.com/api/languages/1" format="isUnsignedId" ></language>
        </name>
    </cart_rule>
</prestashop>

Link to comment
Share on other sites

Dans ma liste elle apparaît, je l'ai surlignée.

Après, avec les 1.7, vu qu'ils ont supprimé plein de fonctionnalités je pense qu'il faut t'adresser directement à Prestashop. Perso je ne soutiens pas cette version moisie.

  • Like 1
Link to comment
Share on other sites

3 minutes ago, Eolia said:

Dans ma liste elle apparaît, je l'ai surlignée.

Après, avec les 1.7, vu qu'ils ont supprimé plein de fonctionnalités je pense qu'il faut t'adresser directement à Prestashop. Perso je ne soutiens pas cette version moisie.

Ok je vais voir avec eux alors ;) merci en tout cas !

Link to comment
Share on other sites

37 minutes ago, doekia said:

Encore un "oubli" incompréhensible

Rajouter

'order_discounts' => array('description' => 'Discounts of an order', 'class' => 'OrderDiscount'),

dans les tableau de la fonction getResources() de WebserviceRequest.php

Merci, dans quel répertoire se trouve WebserviceRequest.php ?

Link to comment
Share on other sites

15 hours ago, Teddy said:

Merci, dans quel répertoire se trouve WebserviceRequest.php ?

 

J'ai trouvé ce fichier, il est dans le répertoire "classes/webservice" et ca marche correctement ! Merci pour ton aide :) 

Link to comment
Share on other sites

  • 6 years later...

Excusez mon français...

Comment puis-je appliquer la remise au niveau de la ligne de commande ?

Pour la traçabilité des ventes, j'ai besoin de connaître la remise réelle par produit.
Actuellement, nous répartissons la réduction entre tous les produits de la commande, mais ce n'est pas correct.

Si le champ ps_order_detail.reduction_amount ou ps_order_detail.reduction_percent était renseigné (comme c'est le cas avec les remises sur catalogue), ce serait plus facile.

---

How can I get the discount applied at the order line level?

For sales traceability, I need to know the actual discount per product.
Right now we are distributing the discount across all products in the order, but it is not correct.

If the ps_order_detail.reduction_amount or ps_order_detail.reduction_percent field were reported (as is the case with catalog discounts), it would be easier.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...