Aller au contenu
Accueil moxon

Chart

L'endpoint /chart génère des graphiques à partir de données. Il supporte les types bar, line, pie et donut, et retourne soit une image SVG, soit des données JSON brutes.

posthttps://api.moxon.dev/v5/chart
Essayerpost/v5/chart

Paramètres

Le corps de la requête doit être en JSON :

  • typestringrequis

    Type de graphique : bar, line, pie ou donut

    • bar
    • line
    • pie
    • donut
  • datajsonrequis

    Objet de données (voir structure ci-dessous)

  • titlestringoptionnel

    Titre du graphique affiché en haut

  • widthnumberoptionnel

    Largeur SVG en pixels (responsive si omis)

  • heightnumberoptionnel

    Hauteur SVG en pixels (responsive si omis)

  • colorsstringoptionnel

    Tableau de couleurs hexadécimales pour les datasets (palette par défaut sinon)

  • bgstringoptionnel

    Couleur de fond (hex, transparent si omis)

  • legendbooleanoptionnel

    Afficher la légende : true (défaut) ou false

  • mode"svg" | "data"optionnel

    Format de réponse : "svg" (défaut, retourne SVG) ou "data" (retourne JSON)

Format des données

data doit être un objet JSON (pas une chaîne) dans le corps de la requête. La structure dépend du type de graphique.

Graphiques bar et line :

{
    "labels": ["Jan", "Fév", "Mar"],
    "datasets": [
        { "label": "Ventes", "values": [120, 200, 150] },
        { "label": "Coûts", "values": [80, 95, 110] }
    ]
}

Graphiques pie et donut :

{
    "labels": ["Jan", "Fév", "Mar"],
    "values": [120, 200, 150]
}
  • labels : tableau de chaînes — max 20 labels
  • datasets (bar/line) : tableau d'objets — max 5 datasets, chacun avec un label et un tableau values de même longueur que labels
  • values (pie/donut) : tableau unique de nombres non négatifs de même longueur que labels

Le champ data doit être un objet JSON, pas une chaîne. Envoyer la requête avec Content-Type: application/json.

Réponse

  • Quand mode est "svg" (défaut) : retourne Content-Type: image/svg+xml avec le corps SVG
  • Quand mode est "data" : retourne un objet JSON avec les données du graphique

Exemples de code

Gestion des erreurs

Si les paramètres sont manquants ou invalides, l'API retournera une erreur :

  • 400Please provide a valid chart type (?type=bar|line|pie|donut)Le paramètre type est manquant ou invalide
  • 400data must contain a labels arrayLe champ data.labels est manquant
  • 400data must contain a datasets arrayLe champ data.datasets est manquant
  • 400Too many labels (max 20)Le tableau labels dépasse 20 entrées
  • 400Too many datasets (max 5)Le tableau datasets dépasse 5 entrées
  • 400Each dataset must have the same number of values as labelsIncompatibilité de longueur des datasets