Skip to main content

Installation

npm install @dloopiq/sdk
Zéro dépendance externe. Le SDK utilise uniquement le fetch natif (Node 18+ / navigateurs modernes).

Prérequis

  • Node.js 18+ (pour fetch natif) ou navigateur moderne
  • Une clé API développeur DLoopIQ (demandez-la via le dashboard admin)
  • TypeScript : inclus, pas de @types/... nécessaire

Initialisation

import { DLoopIQ } from '@dloopiq/sdk'

const dloopiq = new DLoopIQ('votre_clé_api_développeur')
Par défaut, le SDK pointe sur https://dloopiq.onrender.com. Pour les tests en local :
const dloopiq = new DLoopIQ('votre_clé_api', {
  baseUrl: 'http://localhost:3000'
})

Exemple complet — React Native

import { DLoopIQ } from '@dloopiq/sdk'

const dloopiq = new DLoopIQ(process.env.DLOOPIQ_API_KEY!)

export async function showNextTask(userId: string) {
  // 1. Récupérer la prochaine tâche
  const task = await dloopiq.getNextTask({
    types: ['SENTIMENT_ANALYSIS', 'BINARY_CHOICE'],
    locale: 'fr',
    userId
  })

  if (!task) {
    console.log('Aucune tâche disponible pour le moment')
    return
  }

  // 2. Afficher la tâche à l'utilisateur (votre UI ici)
  const userAnswer = await showTaskUI(task)
  const startTime = Date.now()

  // 3. Soumettre la réponse
  const result = await dloopiq.completeTask({
    taskId: task.taskId,
    userId,
    answer: userAnswer,
    timeSpentMs: Date.now() - startTime
  })

  console.log(`Tâche complétée ! Gains : ${result.earnedCents}¢`)
}

Modules supportés

Le SDK est publié en CJS + ESM + TypeScript declarations :
// ESM (recommandé)
import { DLoopIQ } from '@dloopiq/sdk'

// CommonJS
const { DLoopIQ } = require('@dloopiq/sdk')

Types exportés

import type {
  Task,
  TaskType,
  CompleteTaskResult,
  EarningsResult,
  UserReputation,
  CertificationLevel,
  GetNextTaskOptions,
  CompleteTaskOptions
} from '@dloopiq/sdk'

Variables d’environnement recommandées

Ne committez jamais votre clé API dans le code source :
# .env
DLOOPIQ_API_KEY=cmpkb4ghw00016qduu44p7n2q
const dloopiq = new DLoopIQ(process.env.DLOOPIQ_API_KEY!)

Méthodes disponibles

MéthodeDescription
getNextTask(options)Récupère la prochaine tâche à annoter
completeTask(options)Soumet la réponse d’un utilisateur
getUserReputation(userId)Récupère le score et la certification
getEarnings()Consulte les gains du développeur
requestPayout(amountCents)Demande un virement