Aller au contenu principal

SDK TypeScript et Python

En bref

Les SDK officiels Ontologie vous permettent d'integrer la plateforme dans vos applications sans manipuler directement l'API REST. Ils offrent un typage complet, une gestion automatique de l'authentification et des methodes intuitives pour chaque fonctionnalite.

Packages disponibles

PackageLangageDescription
@ontologie/clientTypeScriptClient HTTP avec typage complet
@ontologie/types-runtimeTypeScriptTypes et schemas partages
@ontologie/reactTypeScriptHooks React pour les applications frontend
@ontologie/oauthTypeScriptUtilitaires pour le flux OAuth2 PKCE
@ontologie/sdk-generatorTypeScriptGenerateur de SDK depuis les specifications OpenAPI
ontologie-sdkPythonClient Python avec typage (dataclasses)

Installation

TypeScript

npm install @ontologie/client @ontologie/types-runtime

Python

pip install ontologie-sdk

Authentification

Les SDK gerent l'authentification automatiquement. Fournissez votre cle API et votre workspace ID :

TypeScript

import { OntologieClient } from '@ontologie/client';

const client = new OntologieClient({
apiKey: process.env.ONTOLOGIE_API_KEY,
workspaceId: process.env.ONTOLOGIE_WORKSPACE_ID,
});

Python

from ontologie_sdk import OntologieClient

client = OntologieClient(
api_key="votre_cle_api",
workspace_id="votre_workspace_id",
)

Exemples d'utilisation

Lister les entites

// TypeScript
const entities = await client.nodes.list({
limit: 50,
entityType: 'concept',
});

for (const entity of entities.data) {
console.log(entity.name, entity.entityType);
}
# Python
entities = client.nodes.list(limit=50, entity_type="concept")

for entity in entities.data:
print(entity.name, entity.entity_type)

Creer une entite

// TypeScript
const node = await client.nodes.create({
name: 'Mon Entite',
entityType: 'concept',
properties: { description: 'Description de l\'entite' },
});

Executer une commande

// TypeScript
const result = await client.commands.execute({
type: 'UPDATE_NODE',
payload: {
id: 'uuid-de-lentite',
name: 'Nouveau Nom',
},
expectedVersion: 3,
});

Hooks React

Le package @ontologie/react fournit des hooks pour integrer Ontologie dans vos applications React :

import { useNodes, useNode } from '@ontologie/react';

function EntityList() {
const { data: nodes, isLoading } = useNodes({ entityType: 'concept' });

if (isLoading) return <p>Chargement...</p>;

return (
<ul>
{nodes.map(node => (
<li key={node.id}>{node.name}</li>
))}
</ul>
);
}

Les hooks gerent automatiquement le cache, le rafraichissement et les etats de chargement.

Gestion des erreurs

Les SDK levent des exceptions typees pour faciliter le diagnostic :

import { OntologieError, AuthenticationError, ValidationError } from '@ontologie/client';

try {
await client.nodes.create({ name: '', entityType: 'concept' });
} catch (error) {
if (error instanceof ValidationError) {
console.error('Champs invalides :', error.details);
} else if (error instanceof AuthenticationError) {
console.error('Cle API invalide');
}
}

Documentation interactive

Le Portail Client propose une documentation interactive avec :

  • Sandbox : testez les endpoints directement dans le navigateur
  • Exemples par langage : snippets TypeScript et Python pour chaque endpoint
  • Schemas : schemas de requete et de reponse navigables

Acces : portal.ontologie-growthsystemes.com

Voir aussi

Besoin d'aide ?

Ecrivez-nous : Support et contact.