Harch Atelier REST API
Intégrez l'intelligence réputationnelle, les alertes, les tendances de sentiment et le screening de sanctions dans vos outils BI, CRM et agents IA. Authentifiez-vous avec une clé API Bearer et recevez du JSON en retour.
Authentification
Toutes les requêtes doivent inclure un en-tête Authorization avec un token Bearer préfixé par harch_ :
Authorization: Bearer harch_<your-key>Les clés API sont limitées à la société de l'utilisateur qui les a créées. Une clé créée par un utilisateur d'Attijariwafa Bank ne peut lire que les données d'Attijariwafa Bank — jamais celles d'une autre société. Les clés sont hachées au repos (SHA-256) ; le texte en clair n'est affiché qu'une seule fois, à la création.
URL de base et limites de débit
Tous les endpoints sont relatifs à https://atelier.harchcorp.com. Exemple :
GET https://atelier.harchcorp.com/api/v1/alertsLes réponses en cas de dépassement de débit renvoient le code HTTP 429 avec un en-tête Retry-After. L'en-tête X-Harch-Quota-Remaining est envoyé avec chaque réponse réussie.
Endpoints
/api/v1/alertsLister les alertes
Renvoie les alertes de crise de la société associée à la clé API — articles à sentiment négatif des 7 derniers jours et évaluations de risque élevé/critique. Triées par detectedAt décroissant.
curl -H "Authorization: Bearer harch_your_key_here" \
"https://atelier.harchcorp.com/api/v1/alerts"/api/v1/reputationObtenir le score de réputation
Renvoie le dernier score de réputation + la répartition par pilier (sentiment, visibilité IA, volume, autorité, innovation, performance, raison d'être, part de voix) ainsi qu'un historique sur 30 jours.
curl -H "Authorization: Bearer harch_your_key_here" \
"https://atelier.harchcorp.com/api/v1/reputation"/api/v1/sentimentObtenir la tendance de sentiment
Série temporelle quotidienne du sentiment pour la société associée à la clé API. Chaque jour reporte le score de sentiment moyen, le nombre d'articles et la répartition positif/neutre/négatif.
curl -H "Authorization: Bearer harch_your_key_here" \
"https://atelier.harchcorp.com/api/v1/sentiment"/api/v1/screenScreening de sanctions
Vérifie un nom (individu, entité ou navire) auprès des listes de sanctions consolidées OFAC + UE + ONU. Utilise la correspondance floue avec un seuil de similarité configurable (0.86 par défaut). Renvoie les correspondances classées par similarité.
curl -H "Authorization: Bearer harch_your_key_here" \
"https://atelier.harchcorp.com/api/v1/screen?name=Acme+Corp"Erreurs
L'API utilise les codes de statut HTTP standards. Les réponses d'erreur suivent une structure JSON cohérente :
{
"error": "Unauthorized",
"message": "Missing or invalid API key. Pass it as Authorization: Bearer harch_<your-key>."
}200Succès.400Requête invalide — paramètre manquant ou invalide.401Non autorisé — clé API manquante ou invalide.403Interdit — votre clé fonctionne mais vous n'avez pas accès à cette ressource.404Introuvable — la ressource ou la société n'existe pas.429Trop de requêtes — vous avez atteint la limite de débit. Réessayez après le délai indiqué par l'en-tête Retry-After.503Service indisponible — les listes de sanctions sont en démarrage à froid. Réessayez dans 30s.500Erreur serveur. Si elle persiste, contactez le support avec l'ID de requête issu de X-Harch-Request-Id.Webhooks
Enregistrez des webhooks sortants pour recevoir des callbacks POST lorsqu'une alerte critique se déclenche, qu'un rapport est prêt ou qu'un screening de sanctions détecte une correspondance. Gérez vos webhooks dans Enterprise Admin → onglet Webhooks.
Chaque livraison est signée (si vous avez défini un secret) avec X-Harch-Signature: hex(HMAC-SHA256(secret, body)). Les livraisons échouées sont retentées jusqu'à 3 fois avec un backoff exponentiel (2s → 4s → 8s).
Votre récepteur doit :
- Vérifier la signature (si vous avez défini un secret).
- Répondre avec un HTTP 2xx en moins de 10 secondes.
- Être idempotent — un même événement peut être livré deux fois en cas de nouvelle tentative.
alert.criticalSe déclenche lorsqu'un article ou une évaluation de risque de sévérité critique est détecté pour votre société.
{
"event": "alert.critical",
"deliveredAt": "2026-07-31T09:00:00.000Z",
"data": {
"id": "clk2xyz...",
"title": "OCP Group under scrutiny over ...",
"severity": "critical",
"source": "Le Matin",
"url": "https://lematin.ma/...",
"detectedAt": "2026-07-31T08:15:00.000Z",
"sentimentScore": -0.72,
"company": { "id": "clk1abc...", "name": "OCP Group", "slug": "ocp-group" }
}
}alert.highIdentique à alert.critical, mais pour les alertes de sévérité élevée.
{
"event": "alert.high",
"deliveredAt": "2026-07-31T09:05:00.000Z",
"data": { /* same shape as alert.critical */ }
}report.readySe déclenche lorsqu'un nouveau rapport d'analyse PDF est généré pour votre société.
{
"event": "report.ready",
"deliveredAt": "2026-07-31T07:00:00.000Z",
"data": {
"reportId": "clk3rep...",
"type": "risk",
"period": "2026-07",
"pdfUrl": "https://atelier.harchcorp.com/api/pdf/report/clk3rep.pdf"
}
}reputation.dropSe déclenche lorsque le score de réputation global chute de 5 points ou plus d'une semaine à l'autre.
{
"event": "reputation.drop",
"deliveredAt": "2026-07-31T06:00:00.000Z",
"data": {
"previousScore": 84.2,
"currentScore": 78.1,
"delta": -6.1,
"company": { "id": "clk1abc...", "name": "Attijariwafa Bank", "slug": "attijariwafa-bank" }
}
}screening.matchSe déclenche lorsqu'un screening de sanctions renvoie une correspondance (similarité >= 0.86).
{
"event": "screening.match",
"deliveredAt": "2026-07-31T09:10:00.000Z",
"data": {
"query": "Acme Corp",
"matches": [
{ "list": "OFAC", "name": "ACME CORPORATION", "similarity": 0.92 }
],
"clean": false
}
}SDK et bibliothèques clientes
Pas encore de SDK officiel — l'API REST est stable et suffisamment simple pour être appelée avec fetch ou requests. Rejoignez la liste d'attente pour un SDK TypeScript officiel à api@harchcorp.com.