API Vente et achat de produits phytopharmaceutiques

https://hubeau.eaufrance.fr/page/api-vente-achat-phytos

cl-hubeau définit :

  • des fonctions de haut niveau implémentant des boucles basiques ;
  • des fonctions de bas niveau qui implémentent directement les différents points d’entrée de l’API.

Lors de l’utilisation des fonctions de bas niveau, l’utilisateur est responsable de la consommation de l’API. En particulier, il s’agit d’être vigilant quant au seuil de 20 000 résultats récupérables d’une seule requête. Par ailleurs, la gestion du cache par les fonctions de bas niveau est de la responsabilité de l’utilisateur, notamment pour l’accès aux données de temps réel (expiration par défaut fixée à 30 jours).

Dans les deux cas, les fonctions implémentées sont conçues pour boucler sur les résultats de la requête : les arguments optionnels size et page ou cursor ne doivent pas être fournis au client python.

Fonctions de haut niveau

Les quatres fonctions de haut niveau introduisent deux arguments qui ne figurent pas dans les arguments déjà prévus par hubeau :

  • filter_regions
  • filter_departements

Ces arguments permettent de faciliter la récupération de données territoriales à niveau donné. filter_regions est utilisé pour filtrer la récupération de données au niveau départemental ou code postal ; le champ filter_departements est utilisé pour filtrer la récupération de données au niveau du code postal. Dans tous les autres cas, l’utilisation de ces arguments lèvera des alertes.

Il est également possible d’ajouter des arguments à ces fonctions, en s’appuyant sur la documentation d’hubeau. Pour en savoir plus, n’hésitez pas à consulter les docstrings via la commande help(ma_fonction).

Ces fonctions implémentent des doubles boucles pour optimiser l’usage du cache et éviter d’atteindre le seuil maximal de 20 000 résultats :

  • boucle sur les années ;
  • boucle sur les territoires.

Récupération des substances actives achetées

Cette fonction permet de récupérer les achats :

  • au niveau France entière
  • sur une ou plusieurs régions
  • sur un ou plusieurs départements (éventuellement en sélectionnant par code région)
  • sur un ou plusieurs codes postaux (éventuellement en sélectionnant par code région ou département)

Récupération France entière

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought()

Récupération de données régionales

Toutes les régions :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Région"
    )

Une seule région :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Région", code_territoire="32"
    )

Plusieurs régions :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Région", code_territoire=["11", "32"]
    )

Récupération de données départementales

Toutes les données départementales (long !) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Département"
    )

Un ou plusieurs départements ciblés :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Département", code_territoire=["02", "60", "80"]
    )

L’intégralité d’une région (actuelle) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Département", filter_regions="32"
    )

Récupération de données au code postal

Toutes les données au code postal (très long !) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Zone postale"
    )

Un ou plusieurs code postaux ciblés :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Zone postale", code_territoire=["59000", "59160", "59260", "59777", "59800"]
    )

L’intégralité d’une région (actuelle) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Zone postale", filter_regions="32"
    )

L’intégralité d’une département (actuel) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_bought(
        type_territoire="Zone postale", filter_departements="59"
    )

Récupération des produits phytosanitaires achetés

Cette fonction permet de récupérer les achats :

  • au niveau France entière
  • sur une ou plusieurs régions
  • sur un ou plusieurs départements (éventuellement en sélectionnant par code région)
  • sur un ou plusieurs codes postaux (éventuellement en sélectionnant par code région ou département)

Récupération France entière

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought()

Récupération de données régionales

Toutes les régions :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Région"
    )

Une seule région :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Région", code_territoire="32"
    )

Plusieurs régions :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Région", code_territoire=["11", "32"]
    )

Récupération de données départementales

Toutes les données départementales (long !) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Département"
    )

Un ou plusieurs départements ciblés :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Département", code_territoire=["02", "60", "80"]
    )

L’intégralité d’une région (actuelle) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Département", filter_regions="32"
    )

Récupération de données au code postal

Toutes les données au code postal (très long !) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Zone postale"
    )

Un ou plusieurs code postaux ciblés :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Zone postale", code_territoire=["59000", "59160", "59260", "59777", "59800"]
    )

L’intégralité d’une région (actuelle) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Zone postale", filter_regions="32"
    )

L’intégralité d’une département (actuel) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_bought(
        type_territoire="Zone postale", filter_departements="59"
    )

Récupération des substances actives vendues

Cette fonction permet de récupérer les achats :

  • au niveau France entière
  • sur une ou plusieurs régions
  • sur un ou plusieurs départements (éventuellement en sélectionnant par code région)

Récupération France entière

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_sold()

Récupération de données régionales

Toutes les régions :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_sold(
        type_territoire="Région"
    )

Une seule région :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_sold(
        type_territoire="Région", code_territoire="32"
    )

Plusieurs régions :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_sold(
        type_territoire="Région", code_territoire=["11", "32"]
    )

Récupération de données départementales

Toutes les données départementales (long !) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_sold(
        type_territoire="Département"
    )

Un ou plusieurs départements ciblés :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_sold(
        type_territoire="Département", code_territoire=["02", "60", "80"]
    )

L’intégralité d’une région (actuelle) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_active_substances_sold(
        type_territoire="Département", filter_regions="32"
    )

Récupération des produits phytosanitaires vendus

Cette fonction permet de récupérer les achats :

  • au niveau France entière
  • sur une ou plusieurs régions
  • sur un ou plusieurs départements (éventuellement en sélectionnant par code région)

Récupération France entière

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_sold()

Récupération de données régionales

Toutes les régions :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_sold(
        type_territoire="Région"
    )

Une seule région :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_sold(
        type_territoire="Région", code_territoire="32"
    )

Plusieurs régions :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_sold(
        type_territoire="Région", code_territoire=["11", "32"]
    )

Récupération de données départementales

Toutes les données départementales (long !) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_sold(
        type_territoire="Département"
    )

Un ou plusieurs départements ciblés :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_sold(
        type_territoire="Département", code_territoire=["02", "60", "80"]
    )

L’intégralité d’une région (actuelle) :

from cl_hubeau import phytopharmaceuticals_transactions
df = phytopharmaceuticals_transactions.get_all_phytopharmaceutical_products_sold(
        type_territoire="Département", filter_regions="32"
    )

Fonctions de bas niveau

Un objet session est défini pour consommer l’API à l’aide de méthodes de bas niveau. Ces méthodes correspondent strictement aux fonctions disponibles via l’API : l’utilisateur est invité à se reporter à la documentation de l’API concernant le détail des arguments disponibles.

Récupérer les substances actives vendues

from cl_hubeau import phytopharmaceuticals_transactions
with watercourses_flow.PhytopharmaceuticalsSession() as session:
    df = session.active_substances_sold(
        annee_min=2010,
        annee_max=2015,
        code_territoire=["32"],
        type_territoire="Région",
        )

Récupérer les produits phytosanitaires vendus

from cl_hubeau import phytopharmaceuticals_transactions
with watercourses_flow.phytopharmaceutical_products_sold(
        annee_min=2010,
        annee_max=2015,
        code_territoire=["32"],
        type_territoire="Région",
        eaj="Oui",
        unite="l",
    )

Récupérer les substances actives achetées

from cl_hubeau import phytopharmaceuticals_transactions
with watercourses_flow.active_substances_bought(
        annee_min=2010,
        annee_max=2015,
        code_territoire=["32"],
        type_territoire="Région",
    )

Récupérer les produits phytosanitaires achetés

from cl_hubeau import phytopharmaceuticals_transactions
with watercourses_flow.phytopharmaceutical_products_bought(
        code_territoire=["32"],
        type_territoire="Région",
        eaj="Oui",
        unite="l",
    )