Authentification
- Type : HTTP Basic — Authorization: Basic base64(client_id:client_secret)
- Provision : admin ➜ Intégrations ➜ “Créer un compte machine”.
- Scopes : choisissez les portées exactes (lecture contenu ressource, review tâches, finance…).
Integrations
La plateforme expose des API REST simples protégées par des comptes machine (Basic Auth). Générez vos identifiants dans /admin/integrations, sélectionnez les scopes (projets, ressources, tâches, finances, logs) et implémentez le SDK Node/Python ou vos propres requêtes HTTP.
@natp/sdk (Node.js, ESM + CJS) – helpers projets/tâches/finance.natp-sdk (Python) – clients typés + pagination utilitaires..natp ou variables d’environnement pour le Basic Auth.GET /api/integrations/projects
Lister les projets visibles, leur organisation, type et quelques indicateurs.
Paramètres
GET /api/integrations/resources
Parcourir les ressources (fichiers, datasets) associées aux projets autorisés.
Paramètres
GET /api/integrations/resources/{id}/content
Récupérer le contenu brut (segments) d’une ressource et ses métadonnées.
Paramètres
GET /api/integrations/resources/{id}/annotations
Lire les couches d’annotation (POS, NER, review) liées à une ressource.
Paramètres
GET /api/integrations/tasks
Suivre les tâches (type, statut, assignation) sur les projets autorisés.
Paramètres
GET /api/integrations/tasks/{taskId}/content
Obtenir la payload d’une tâche (segments, ressource liée, metadata).
Paramètres
GET /api/integrations/tasks/{taskId}/annotations
Lire les annotations/reviews déposées sur la ressource d’une tâche.
Paramètres
POST /api/integrations/tasks/{taskId}/status
Changer le statut d’une tâche (TODO → DONE). Scope supplémentaire requis pour REVIEW/DONE.
Paramètres
GET /api/integrations/finance/summary
Synthèse budgétaire/consommation par organisation et projet.
Paramètres
GET /api/integrations/logs
Consulter les journaux d’audit filtrés par organisation/projet.
Paramètres
cURL
# Auth via compte machine créé dans /admin/integrations CLIENT_ID="ma_xxxxx" CLIENT_SECRET="••••••" curl https://app.example.org/api/integrations/projects \ -H "Authorization: Basic $(printf "$CLIENT_ID:$CLIENT_SECRET" | base64)"
Node.js
import fetch from 'node-fetch';
const auth = Buffer.from(`${process.env.NATP_CLIENT_ID}:${process.env.NATP_CLIENT_SECRET}`).toString('base64');
const res = await fetch('https://app.example.org/api/integrations/tasks', {
headers: { Authorization: `Basic ${auth}` },
});
const { tasks } = await res.json();
console.table(tasks.map(({ title, status }) => ({ title, status })));Python
import os
import base64
import requests
auth = base64.b64encode(f"{os.environ['NATP_CLIENT_ID']}:{os.environ['NATP_CLIENT_SECRET']}".encode()).decode()
resp = requests.get(
'https://app.example.org/api/integrations/resources',
headers={'Authorization': f'Basic {auth}'},
)
resp.raise_for_status()
for resource in resp.json().get('resources', []):
print(resource['slug'], resource['mime'], resource['updatedAt'])| Scope | Description |
|---|---|
| projects:read | Lister les projets, récupérer leurs métadonnées et états. |
| projects:write | Créer ou modifier la configuration des projets et de leurs webhooks. |
| resources:read | Consulter les ressources et jeux de données associés aux projets. |
| resources:write | Créer, mettre à jour ou supprimer des ressources et lancer des imports. |
| resources:read-content | Accéder aux fichiers, items et métadonnées brutes des ressources. |
| resources:annotations:read | Lire les couches d’annotation et données d’évaluation liées aux ressources. |
| resources:annotations:write | Ajouter ou modifier des annotations au niveau ressource. |
| tasks:read | Lister les tâches, leurs affectations et leurs progrès. |
| tasks:write | Changer le statut, assigner ou déclencher des actions de tâches. |
| tasks:read-content | Lire la charge utile, les segments de traduction et les supports associés. |
| tasks:annotations:read | Lire les feedbacks, revues et annotations liées à une tâche. |
| tasks:annotations:write | Déposer des annotations, revues ou corrections sur une tâche. |
| tasks:review:write | Changer l’état des revues, approuver/rejeter des traductions. |
| finance:read | Lire les mouvements financiers et les agrégats budgétaires. |
| logs:read | Consulter les journaux d’audit et les évènements critiques. |
Importez directement le fichier integrations.yaml dans votre client (Insomnia, Postman, Bruno). Les scopes requis sont listés dans les descriptions d’endpoint. Pensez à stocker vos secrets machine dans un gestionnaire de secrets.