Skip to main content

Endpoint

POST https://dloopiq.onrender.com/api/v1/tasks/batch/csv
Authorization: Bearer <jwt_acheteur>
Content-Type: multipart/form-data

Format CSV

Colonnes

ColonneObligatoireDescription
typeType de tâche (SENTIMENT_ANALYSIS, BINARY_CHOICE, etc.)
contentTexte, URL ou contenu de la tâche
optionsOptions séparées par | (pipe)
localeLangue (fr, en, de…) — défaut: en
maxCentsBudget par tâche en centimes — défaut: 20
projectIdID d’un projet existant

Exemple de fichier

type,content,options,locale,maxCents
SENTIMENT_ANALYSIS,"Ce produit est fantastique !","Positif|Négatif|Neutre",fr,25
BINARY_CHOICE,"Cette image contient-elle de la violence ?","Oui|Non",fr,20
IMAGE_CLASSIFICATION,"https://example.com/chat.jpg","Chat|Chien|Oiseau|Autre",en,20
RELEVANCE_RATING,"Résultat : recette de quiche","1|2|3|4|5",fr,20
AI_RESPONSE_RATING,"Q: Capitale de France ? R: Paris","Excellent|Bon|Moyen|Mauvais",fr,25
Les options sont séparées par des pipes |, pas des virgules — pour éviter les conflits avec le délimiteur CSV.

Upload

curl -X POST https://dloopiq.onrender.com/api/v1/tasks/batch/csv \
  -H "Authorization: Bearer eyJhbGci..." \
  -F "file=@mes_taches.csv"
Taille maximum du fichier : 5 MB.

Réponse

{
  "created": 5,
  "tasks": [
    {
      "taskId": "cmpkb4ghw00016qduu44p7n2a",
      "type": "SENTIMENT_ANALYSIS",
      "status": "PENDING"
    }
  ],
  "errors": [],
  "totalCostCents": 110
}
Si certaines lignes sont invalides, elles sont listées dans errors mais les lignes valides sont quand même créées :
{
  "created": 4,
  "errors": [
    {
      "row": 3,
      "error": "Type inconnu : INVALID_TYPE"
    }
  ]
}

Générer un CSV depuis Python

import pandas as pd

tasks = [
    {
        "type": "SENTIMENT_ANALYSIS",
        "content": row["review"],
        "options": "Positif|Négatif|Neutre",
        "locale": "fr",
        "maxCents": 20
    }
    for _, row in df.iterrows()
]

pd.DataFrame(tasks).to_csv("taches.csv", index=False)

Générer un CSV depuis Excel

  1. Créez un tableau avec les colonnes : type, content, options, locale, maxCents
  2. Remplissez les options avec | comme séparateur (ex: Positif|Négatif|Neutre)
  3. Fichier → Enregistrer sous → CSV UTF-8
Excel utilise parfois ; comme délimiteur CSV selon les paramètres régionaux. Dans ce cas, utilisez Enregistrer sous → CSV UTF-8 (délimité par des virgules).

Règles de parsing

  • Encodage attendu : UTF-8
  • Délimiteur : virgule ,
  • Les champs avec des virgules doivent être entourés de guillemets "
  • Les guillemets dans le contenu s’échappent en doublant : ""c'est ""super"""
  • Les lignes vides sont ignorées
  • Les fins de ligne Windows \r\n sont supportées