Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.officiscan.com/llms.txt

Use this file to discover all available pages before exploring further.

Cas d’usage

Le benchmark prix permet aux laboratoires et distributeurs de :
  • Comparer leurs prix à la concurrence
  • Identifier les opportunités de positionnement
  • Suivre l’évolution des prix dans le temps

Implémentation

1. Comparer les prix d’un produit

Utilisez l’endpoint /v1/snapshots/compare avec l’EAN du produit :
import requests

API_KEY = "oc_YOUR_API_KEY"
EAN = "3401351277399"  # puressentiel circulation gel

response = requests.get(
    f"https://api.officiscan.com/v1/snapshots/compare?ean={EAN}",
    headers={"Authorization": f"Bearer {API_KEY}"}
)

data = response.json()

print(f"Produit: {data['product_name']}")
print(f"Prix min: {data['stats']['min_price']}€")
print(f"Prix max: {data['stats']['max_price']}€")
print(f"Prix moyen: {data['stats']['avg_price']}€")
print(f"Nombre de sources: {data['stats']['snapshot_count']}")

2. Suivre l’évolution des prix

Utilisez l’endpoint /v1/products/{id}/snapshots pour l’historique :
product_id = 12345

response = requests.get(
    f"https://api.officiscan.com/v1/products/{product_id}/snapshots?days=30",
    headers={"Authorization": f"Bearer {API_KEY}"}
)

snapshots = response.json()["data"]

for snapshot in snapshots:
    print(f"{snapshot['collected_at']}: {snapshot['price']['current']}€")

3. Créer un rapport de benchmark

import pandas as pd

def benchmark_report(ean_list):
    results = []

    for ean in ean_list:
        response = requests.get(
            f"https://api.officiscan.com/v1/snapshots/compare?ean={ean}",
            headers={"Authorization": f"Bearer {API_KEY}"}
        )
        data = response.json()

        results.append({
            "ean": ean,
            "product": data["product_name"],
            "min_price": data["stats"]["min_price"],
            "max_price": data["stats"]["max_price"],
            "avg_price": data["stats"]["avg_price"],
            "sources": data["stats"]["snapshot_count"]
        })

    return pd.DataFrame(results)

# Exemple d'utilisation
eans = ["3401351277399", "3540550014944", "0020714002527"]
report = benchmark_report(eans)
print(report)

Endpoints utilisés

GET /v1/snapshots/compare

Comparer les prix d’un produit

GET /v1/products/{id}/snapshots

Historique des prix