SDK et CLI
exoCortex distribue trois clients pour l’API REST v1. Vous les téléchargez directement depuis l’API et vous les ajoutez à votre projet :
| Client | Adresse | Prérequis |
|---|---|---|
| JavaScript | https://exocortex-api.ai-exo-cortex.com/sdk/exocortex.js |
Un environnement d’exécution avec fetch, par exemple Node.js 18 ou ultérieur |
| Python | https://exocortex-api.ai-exo-cortex.com/sdk/exocortex.py |
Le paquet requests |
| CLI bash | https://exocortex-api.ai-exo-cortex.com/sdk/exo-cli |
curl et jq |
Tous lisent la clé API que vous leur transmettez ; aucun ne l’enregistre. Ils créent automatiquement une Idempotency-Key lorsque vous ouvrez un ticket.
JavaScript
Section intitulée « JavaScript »import { ExoClient, ExoApiError } from './exocortex.js';
const exo = new ExoClient({ apiKey: process.env.EXO_API_KEY });
try { const created = await exo.tickets.create({ subject: 'Printer offline', description: 'Floor 2, room 204', priority: 'Medium', }); const { ticket } = await exo.tickets.get(created.ticket_key); await exo.tickets.comment(ticket.key, 'Toner replaced.');} catch (err) { if (err instanceof ExoApiError && err.code === 'rate_limited') { // réessayer après err.retryAfter secondes } else throw err;}ExoApiError expose status, code, retryAfter et le corps de la réponse dans body.
import osfrom exocortex import ExoClient, ExoApiError
exo = ExoClient(api_key=os.environ['EXO_API_KEY'])
try: created = exo.tickets.create(subject='Printer offline', description='Floor 2, room 204') ticket = exo.tickets.get(created['ticket_key'])['ticket'] exo.tickets.comment(ticket['key'], 'Toner replaced.')except ExoApiError as err: print(err.status, err.code, err.retry_after)curl -fsSL https://exocortex-api.ai-exo-cortex.com/sdk/exo-cli -o exo-cli && chmod +x exo-cliexport EXO_API_KEY='nhk.<keyid>.<secret>'
./exo-cli ticket-create "Printer offline" "Floor 2, room 204" Medium./exo-cli ticket-get ACME-1042./exo-cli ticket-comment ACME-1042 "Toner replaced."Avec EXO_BASE_URL, vous pointez la CLI vers une autre adresse de l’API.
Migrer depuis l’ancien SDK
Section intitulée « Migrer depuis l’ancien SDK »Les classes NHClient et NHError sont des alias dépréciés de ExoClient et ExoApiError. Le nouveau SDK envoie la clé dans Authorization: Bearer et n’envoie plus le tenant, que l’API déduit de la clé. Les helpers widgets et mapping ont été supprimés.