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
| Package | Langage | Description |
|---|---|---|
@ontologie/client | TypeScript | Client HTTP avec typage complet |
@ontologie/types-runtime | TypeScript | Types et schemas partages |
@ontologie/react | TypeScript | Hooks React pour les applications frontend |
@ontologie/oauth | TypeScript | Utilitaires pour le flux OAuth2 PKCE |
@ontologie/sdk-generator | TypeScript | Generateur de SDK depuis les specifications OpenAPI |
ontologie-sdk | Python | Client 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
- Cles API — Creer et gerer les cles
- Authentification OAuth — Flux OAuth2 PKCE
- Limites et quotas — Rate limits et pagination
- Reference API — Documentation OpenAPI complete
Besoin d'aide ?
Ecrivez-nous : Support et contact.